X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fhelp%2FC%2Fsec_tactics.xml;h=0fabbbf7ca5f8a68167a62bcaa68334f59363eb3;hb=a3f4c0a8b4328cb9a9fe3b4c2e577be2a258675c;hp=ff8d099c0180101efba481ec0f7cd16ed0308ace;hpb=76917216be769918258c90e486bb7c06d81b70b4;p=helm.git diff --git a/matita/help/C/sec_tactics.xml b/matita/help/C/sec_tactics.xml index ff8d099c0..0fabbbf7c 100644 --- a/matita/help/C/sec_tactics.xml +++ b/matita/help/C/sec_tactics.xml @@ -215,6 +215,52 @@ + + cases + cases + + cases t hyps + + + + + Synopsis: + + + cases + &term; [([&id;]…)] + + + + + Pre-conditions: + + + t must inhabit an inductive type + + + + + Action: + + + It proceed by cases on t. The new generated + hypothesis in each branch are named according to + hyps. + + + + + New sequents to prove: + + One new sequent for each constructor of the type of + t. Each sequent has a new hypothesis for + each argument of the constructor. + + + + + clear clear @@ -298,6 +344,58 @@ + + compose + compose + compose n t1 with t2 hyps + + + + Synopsis: + + compose [&nat;] &sterm; [with &sterm;] [&intros-spec;] + + + + Pre-conditions: + + + + + + Action: + + Composes t1 with t2 in every possible way + n times introducing generated terms + as if intros hyps was issued. + If t1:∀x:A.B[x] and + t2:∀x,y:A.B[x]→B[y]→C[x,y] it generates: + + + λx,y:A.t2 x y (t1 x) : ∀x,y:A.B[y]→C[x,y] + + + λx,y:A.λH:B[x].t2 x y H (t1 y) : ∀x,y:A.B[x]→C[x,y] + + + + + If t2 is omitted it composes + t1 + with every hypothesis that can be introduced. + n iterates the process. + + + + New sequents to prove: + + The same, but with more hypothesis eventually introduced + by the &intros-spec;. + + + + + change change @@ -450,8 +548,7 @@ decompose decompose - decompose (T1 ... Tn) - H as H1 ... Hm + decompose as H1 ... Hm @@ -460,10 +557,6 @@ decompose - [( - &id;… - )] - [&id;] [as &id;…] @@ -471,26 +564,22 @@ Pre-conditions: - - H must inhabit one inductive type among - - T1 ... Tn - - and the types of a predefined list. - + None. Action: - Runs - elim H H1 ... Hm - , clears H and tries to run itself - recursively on each new identifier introduced by + For each each premise H of type + T in the current context where + T is a non-recursive inductive type without + right parameters and of sort Prop or CProp, the tactic runs + + elim H as H1 ... Hm + , clears H and runs itself + recursively on each new premise introduced by elim in the opened sequents. - If H is not provided tries this operation on - each premise in the current context.