X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Fsoftware%2Fmatita%2Fhelp%2FC%2Fsec_tactics.xml;h=ebd100a26c408c5a242e0b87d221d43838e78692;hb=1d7773584ddd6463b0941026f114b0173e3b6b72;hp=53a20ac6a78e3c07404d442cb8b7a0de17c7b661;hpb=65317d14f32bc24b3e9ed4ea144833dd8517773a;p=helm.git
diff --git a/helm/software/matita/help/C/sec_tactics.xml b/helm/software/matita/help/C/sec_tactics.xml
index 53a20ac6a..ebd100a26 100644
--- a/helm/software/matita/help/C/sec_tactics.xml
+++ b/helm/software/matita/help/C/sec_tactics.xml
@@ -61,7 +61,7 @@
Pre-conditions:
t must have type
- T1 â ... â
+ T1 â ⦠â
Tn â G
where G can be unified with the conclusion
of the current sequent.
@@ -89,13 +89,13 @@
applyS
applyS
- applyS t
+ applyS t auto_params
Synopsis:
- applyS &sterm;
+ applyS &sterm; &autoparams;
@@ -123,6 +123,8 @@
Then it closes the current sequent by applying
t to n
implicit arguments (that become new sequents).
+ The auto_params parameters are passed
+ directly to auto paramodulation.
@@ -176,13 +178,14 @@
auto
auto
- auto depth=d width=w paramodulation full
+ auto params
Synopsis:
- auto [depth=&nat;] [width=&nat;] [paramodulation] [full]
+ auto &autoparams;.
+ autobatch &autoparams;
@@ -190,10 +193,11 @@
None, but the tactic may fail finding a proof if every
proof is in the search space that is pruned away. Pruning is
- controlled by d and w.
+ controlled by the optional params.
Moreover, only lemmas whose type signature is a subset of the
signature of the current sequent are considered. The signature of
- a sequent is ...TODO
+ a sequent is essentially the set of constats appearing in it.
+
@@ -213,6 +217,58 @@
+
+ cases
+ cases
+
+ cases t pattern hyps
+
+
+
+
+ Synopsis:
+
+
+ cases
+ &term; &pattern; [([&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.
+ The elimintation predicate is restricted by
+ pattern. In particular, if some hypothesis
+ is listed in pattern, the hypothesis is
+ generalized and cleared before proceeding by cases on
+ t. Currently, we only support patterns of the
+ form H1 ⦠Hn ⢠%. This limitation will be lifted in the future.
+
+
+
+
+ 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
@@ -296,6 +352,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
@@ -448,8 +556,7 @@
decompose
decompose
- decompose (T1 ... Tn)
- H as H1 ... Hm
+ decompose as H1 ... Hm
@@ -458,10 +565,6 @@
decompose
- [(
- &id;â¦
- )]
- [&id;]
[as &id;â¦]
@@ -469,26 +572,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.
@@ -506,13 +605,13 @@
demodulate
demodulate
- demodulate
+ demodulate auto_params
Synopsis:
- demodulate
+ demodulate &autoparams;
@@ -536,30 +635,35 @@
-
- discriminate
- discriminate
- discriminate p
+
+ destruct
+ destruct
+ destruct p
Synopsis:
- discriminate &sterm;
+ destruct &sterm;
Pre-conditions:
- p must have type K t1 ... tn = K' t'1 ... t'm where K and K' must be different constructors of the same inductive type and each argument list can be empty if
-its constructor takes no arguments.
+ p must have type E1 = E2 where the two sides of the equality are possibly applied constructors of an inductive type.
Action:
- It closes the current sequent by proving the absurdity of
- p.
+ The tactic recursively compare the two sides of the equality
+ looking for different constructors in corresponding position.
+ If two of them are found, the tactic closes the current sequent
+ by proving the absurdity of p. Otherwise
+ it adds a new hypothesis for each leaf of the formula that
+ states the equality of the subformulae in the corresponding
+ positions on the two sides of the equality.
+
@@ -574,13 +678,13 @@ its constructor takes no arguments.
elim
elim
- elim t using th hyps
+ elim t pattern using th hyps
Synopsis:
- elim &sterm; [using &sterm;] &intros-spec;
+ elim &sterm; &pattern; [using &sterm;] &intros-spec;
@@ -597,6 +701,10 @@ its constructor takes no arguments.
It proceeds by cases on the values of t,
according to the elimination principle th.
+ The induction predicate is restricted by
+ pattern. In particular, if some hypothesis
+ is listed in pattern, the hypothesis is
+ generalized and cleared before eliminating t
@@ -950,43 +1058,6 @@ its constructor takes no arguments.
-
- injection
- injection
- injection p
-
-
-
- Synopsis:
-
- injection &sterm;
-
-
-
- Pre-conditions:
-
- p must have type K t1 ... tn = K t'1 ... t'n where both argument lists are empty if
-K takes no arguments.
-
-
-
- Action:
-
- It derives new hypotheses by injectivity of
- K.
-
-
-
- New sequents to prove:
-
- The new sequent to prove is equal to the current sequent
- with the additional hypotheses
- t1=t'1 ... tn=t'n.
-
-
-
-
-
intro
intro
@@ -1285,40 +1356,6 @@ its constructor takes no arguments.
-
- reduce
- reduce
- reduce patt
-
-
-
- Synopsis:
-
- reduce &pattern;
-
-
-
- Pre-conditions:
-
- None.
-
-
-
- Action:
-
- It replaces all the terms matched by patt
- with their βδιζ-normal form.
-
-
-
- New sequents to prove:
-
- None.
-
-
-
-
-
reflexivity
reflexivity
@@ -1578,6 +1615,46 @@ its constructor takes no arguments.
+
+
+ subst
+ subst
+ subst
+
+
+
+ Synopsis:
+
+ subst
+
+
+
+ Pre-conditions:
+
+ None.
+
+
+
+ Action:
+
+ For each premise of the form
+ H: x = t or H: t = x
+ where x is a local variable and
+ t does not depend on x,
+ the tactic rewrites H wherever
+ x appears clearing H and
+ x afterwards.
+
+
+
+ New sequents to prove:
+
+ The one opened by the applied tactics.
+
+
+
+
+
symmetry
symmetry