X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fhelp%2FC%2Fsec_tactics.xml;h=53a20ac6a78e3c07404d442cb8b7a0de17c7b661;hb=f27b26f3f3d2300b11aa4d68dbe823e15ffbdf1c;hp=96e56494ce22d0db5de5a0571d0a2218a1795af8;hpb=e4dc2b01936082b634ee49c4c5549dc2da55012b;p=helm.git diff --git a/matita/help/C/sec_tactics.xml b/matita/help/C/sec_tactics.xml index 96e56494c..53a20ac6a 100644 --- a/matita/help/C/sec_tactics.xml +++ b/matita/help/C/sec_tactics.xml @@ -1,14 +1,27 @@ - Tactics + Tactics + + + Quick reference card + + &tacticref; + + - absurd &sterm; + absurd absurd absurd P + + Synopsis: + + absurd &sterm; + + Pre-conditions: @@ -33,11 +46,17 @@ - apply &sterm; + apply apply apply t + + Synopsis: + + apply &sterm; + + Pre-conditions: @@ -67,12 +86,71 @@ + + applyS + applyS + applyS t + + + + Synopsis: + + applyS &sterm; + + + + Pre-conditions: + + t must have type + T1 → ... → + Tn → G. + + + + Action: + + applyS is useful when + apply fails because the current goal + and the conclusion of the applied theorems are extensionally + equivalent up to instantiation of metavariables, but cannot + be unified. E.g. the goal is P(n*O+m) and + the theorem to be applied proves ∀m.P(m+O). + + + It tries to automatically rewrite the current goal using + auto paramodulation + to make it unifiable with G. + Then it closes the current sequent by applying + t to n + implicit arguments (that become new sequents). + + + + + New sequents to prove: + + It opens a new sequent for each premise + Ti that is not + instantiated by unification. Ti is + the conclusion of the i-th new sequent to + prove. + + + + + assumption assumption assumption + + Synopsis: + + assumption + + Pre-conditions: @@ -96,11 +174,17 @@ - auto [depth=&nat;] [width=&nat;] [paramodulation] [full] + auto auto auto depth=d width=w paramodulation full + + Synopsis: + + auto [depth=&nat;] [width=&nat;] [paramodulation] [full] + + Pre-conditions: @@ -130,23 +214,42 @@ - clear &id; + clear clear - clear H + + clear H1 ... Hm + + + Synopsis: + + + clear + &id; [&id;…] + + + Pre-conditions: - H must be an hypothesis of the - current sequent to prove. + + + H1 ... Hm + must be hypotheses of the + current sequent to prove. + Action: - It hides the hypothesis H from the - current sequent. + + It hides the hypotheses + + H1 ... Hm + from the current sequent. + @@ -159,11 +262,17 @@ - clearbody &id; + clearbody clearbody clearbody H + + Synopsis: + + clearbody &id; + + Pre-conditions: @@ -188,11 +297,17 @@ - change <pattern> with &sterm; + change change change patt with t + + Synopsis: + + change &pattern; with &sterm; + + Pre-conditions: @@ -220,11 +335,17 @@ - constructor &nat; + constructor constructor constructor n + + Synopsis: + + constructor &nat; + + Pre-conditions: @@ -257,6 +378,12 @@ contradiction + + Synopsis: + + contradiction + + Pre-conditions: @@ -281,11 +408,17 @@ - cut &sterm; [as &id;] + cut cut cut P as H + + Synopsis: + + cut &sterm; [as &id;] + + Pre-conditions: @@ -312,38 +445,109 @@ - decompose &id; [&id;]… [<intros_spec>] + decompose decompose - decompose ??? + + decompose (T1 ... Tn) + H as H1 ... Hm + + + + + Synopsis: + + + decompose + [( + &id;… + )] + [&id;] + [as &id;…] + + + + + Pre-conditions: + + + H must inhabit one inductive type among + + T1 ... Tn + + and the types of a predefined list. + + + + + Action: + + + Runs + elim H H1 ... Hm + , clears H and tries to run itself + recursively on each new identifier introduced by + elim in the opened sequents. + If H is not provided tries this operation on + each premise in the current context. + + + + + New sequents to prove: + + + The ones generated by all the elim tactics run. + + + + + + + + demodulate + demodulate + demodulate + + Synopsis: + + demodulate + + Pre-conditions: - TODO. + None. Action: - TODO. + &TODO; New sequents to prove: - TODO. + None. - discriminate &sterm; + discriminate discriminate discriminate p + + Synopsis: + + discriminate &sterm; + + Pre-conditions: @@ -368,11 +572,17 @@ its constructor takes no arguments. - elim &sterm; [using &sterm;] [<intros_spec>] + elim elim elim t using th hyps + + Synopsis: + + elim &sterm; [using &sterm;] &intros-spec; + + Pre-conditions: @@ -405,11 +615,17 @@ its constructor takes no arguments. - elimType &sterm; [using &sterm;] [<intros_spec>] + elimType elimType elimType T using th hyps + + Synopsis: + + elimType &sterm; [using &sterm;] &intros-spec; + + Pre-conditions: @@ -432,11 +648,17 @@ its constructor takes no arguments. - exact &sterm; + exact exact exact p + + Synopsis: + + exact &sterm; + + Pre-conditions: @@ -465,6 +687,12 @@ its constructor takes no arguments. exists + + Synopsis: + + exists + + Pre-conditions: @@ -491,11 +719,17 @@ its constructor takes no arguments. - fail - failt + fail + fail fail + + Synopsis: + + fail + + Pre-conditions: @@ -518,11 +752,17 @@ its constructor takes no arguments. - fold <reduction_kind> &sterm; <pattern> + fold fold fold red t patt + + Synopsis: + + fold &reduction-kind; &sterm; &pattern; + + Pre-conditions: @@ -555,6 +795,12 @@ its constructor takes no arguments. fourier + + Synopsis: + + fourier + + Pre-conditions: @@ -580,38 +826,67 @@ its constructor takes no arguments. - fwd &id; [<ident list>] + fwd fwd - fwd ...TODO + fwd H as H0 ... Hn + + Synopsis: + + fwd &id; [as &id; [&id;]…] + + Pre-conditions: - TODO. + + The type of H must be the premise of a + forward simplification theorem. + Action: - TODO. + + This tactic is under development. + It simplifies the current context by removing + H using the following methods: + forward application (by lapply) of a suitable + simplification theorem, chosen automatically, of which the type + of H is a premise, + decomposition (by decompose), + rewriting (by rewrite). + H0 ... Hn + are passed to the tactics fwd invokes, as + names for the premise they introduce. + New sequents to prove: - TODO. + + The ones opened by the tactics fwd invokes. + - generalize <pattern> [as &id;] + generalize generalize generalize patt as H + + Synopsis: + + generalize &pattern; [as &id;] + + Pre-conditions: @@ -648,6 +923,12 @@ its constructor takes no arguments. id + + Synopsis: + + id + + Pre-conditions: @@ -670,11 +951,17 @@ its constructor takes no arguments. - injection &sterm; + injection injection injection p + + Synopsis: + + injection &sterm; + + Pre-conditions: @@ -701,11 +988,17 @@ its constructor takes no arguments. - intro [&id;] + intro intro intro H + + Synopsis: + + intro [&id;] + + Pre-conditions: @@ -734,11 +1027,17 @@ its constructor takes no arguments. - intros <intros_spec> + intros intros intros hyps + + Synopsis: + + intros &intros-spec; + + Pre-conditions: @@ -771,11 +1070,17 @@ its constructor takes no arguments. - inversion &sterm; + inversion inversion inversion t + + Synopsis: + + inversion &sterm; + + Pre-conditions: @@ -806,27 +1111,70 @@ its constructor takes no arguments. - lapply [depth=&nat;] &sterm; [to <term list>] [using &id;] + lapply lapply - lapply ??? + + lapply linear depth=d t + to t1, ..., tn as H + + + Synopsis: + + + lapply + [linear] + [depth=&nat;] + &sterm; + [to + &sterm; + [,&sterm;…] + ] + [as &id;] + + + Pre-conditions: - TODO. + + t must have at least d + independent premises and n must not be + greater than d. + Action: - TODO. + + Invokes letin H ≝ (t ? ... ?) + with enough ?'s to reach the + d-th independent premise of + t + (d is maximum if unspecified). + Then istantiates (by apply) with + t1, ..., tn + the ?'s corresponding to the first + n independent premises of + t. + Usually the other ?'s preceding the + n-th independent premise of + t are istantiated as a consequence. + If the linear flag is specified and if + t, t1, ..., tn + are (applications of) premises in the current context, they are + cleared. + New sequents to prove: - TODO. + + The ones opened by the tactics lapply invokes. + @@ -838,6 +1186,12 @@ its constructor takes no arguments. left + + Synopsis: + + left + + Pre-conditions: @@ -864,11 +1218,17 @@ its constructor takes no arguments. - letin &id; ≝ &sterm; + letin letin letin x ≝ t + + Synopsis: + + letin &id; ≝ &sterm; + + Pre-conditions: @@ -892,11 +1252,17 @@ its constructor takes no arguments. - normalize <pattern> + normalize normalize normalize patt + + Synopsis: + + normalize &pattern; + + Pre-conditions: @@ -919,39 +1285,18 @@ its constructor takes no arguments. - - paramodulation <pattern> - paramodulation - paramodulation patt - - - - Pre-conditions: - - TODO. - - - - Action: - - TODO. - - - - New sequents to prove: - - TODO. - - - - - - reduce <pattern> + reduce reduce reduce patt + + Synopsis: + + reduce &pattern; + + Pre-conditions: @@ -980,6 +1325,12 @@ its constructor takes no arguments. reflexivity + + Synopsis: + + reflexivity + + Pre-conditions: @@ -1004,11 +1355,17 @@ its constructor takes no arguments. - replace <pattern> with &sterm; + replace change change patt with t + + Synopsis: + + replace &pattern; with &sterm; + + Pre-conditions: @@ -1036,11 +1393,17 @@ its constructor takes no arguments. - rewrite [<|>] &sterm; <pattern> + rewrite rewrite rewrite dir p patt + + Synopsis: + + rewrite [<|>] &sterm; &pattern; + + Pre-conditions: @@ -1076,6 +1439,12 @@ its constructor takes no arguments. right + + Synopsis: + + right + + Pre-conditions: @@ -1107,6 +1476,12 @@ its constructor takes no arguments. ring + + Synopsis: + + ring + + Pre-conditions: @@ -1133,11 +1508,17 @@ its constructor takes no arguments. - simplify <pattern> + simplify simplify simplify patt + + Synopsis: + + simplify &pattern; + + Pre-conditions: @@ -1166,6 +1547,12 @@ its constructor takes no arguments. split + + Synopsis: + + split + + Pre-conditions: @@ -1198,6 +1585,12 @@ its constructor takes no arguments. symmetry + + Synopsis: + + symmetry + + Pre-conditions: @@ -1221,11 +1614,17 @@ its constructor takes no arguments. - transitivity &sterm; + transitivity transitivity transitivity t + + Synopsis: + + transitivity &sterm; + + Pre-conditions: @@ -1250,11 +1649,17 @@ the current sequent to prove. - unfold [&sterm;] <pattern> + unfold unfold unfold t patt + + Synopsis: + + unfold [&sterm;] &pattern; + + Pre-conditions: @@ -1282,11 +1687,17 @@ the current sequent to prove. - whd <pattern> + whd whd whd patt + + Synopsis: + + whd &pattern; + + Pre-conditions: