aboutsummaryrefslogtreecommitdiffhomepage
path: root/theories/Program/Tactics.v
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-06-08 16:13:37 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-06-08 16:13:37 +0000
commit47e5f716f7ded0eec43b00d49955d56c370c3596 (patch)
treee7fbe16925eacc72bdd9ebeb65c2a20b8bb0eef0 /theories/Program/Tactics.v
parent70f8c345685278a567fbb075f222c79f0533e90e (diff)
- Extension de "generalize" en "generalize c as id at occs".
- Ajout clause "in" à "remember" (et passage du code en ML). - Ajout clause "in" à "induction"/"destruct" qui, en ce cas, ajoute aussi une égalité pour se souvenir du terme sur lequel l'induction ou l'analyse de cas s'applique. - Ajout "pose t as id" en standard (Matthieu: j'ai enlevé celui de Programs qui avait la sémantique de "pose proof" tandis que le nouveau a la même sémantique que "pose (id:=t)"). - Un peu de réorganisation, uniformisation de noms dans Arith, et ajout EqNat dans Arith. - Documentation tactiques et notations de tactiques. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11072 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Program/Tactics.v')
-rw-r--r--theories/Program/Tactics.v14
1 files changed, 6 insertions, 8 deletions
diff --git a/theories/Program/Tactics.v b/theories/Program/Tactics.v
index c8c0c8b16..946fdf618 100644
--- a/theories/Program/Tactics.v
+++ b/theories/Program/Tactics.v
@@ -26,8 +26,8 @@ Ltac destruct_pairs := repeat (destruct_one_pair).
(** Destruct one existential package, keeping the name of the hypothesis for the first component. *)
Ltac destruct_one_ex :=
- let tac H := let ph := fresh "H" in destruct H as [H ph] in
- let tacT H := let ph := fresh "X" in destruct H as [H ph] in
+ let tac H := let ph := fresh "H" in (destruct H as [H ph]) in
+ let tacT H := let ph := fresh "X" in (destruct H as [H ph]) in
match goal with
| [H : (ex _) |- _] => tac H
| [H : (sig ?P) |- _ ] => tac H
@@ -120,20 +120,20 @@ Ltac on_call f tac :=
(* Destructs calls to f in hypothesis or conclusion, useful if f creates a subset object. *)
Ltac destruct_call f :=
- let tac t := destruct t in on_call f tac.
+ let tac t := (destruct t) in on_call f tac.
Ltac destruct_calls f := repeat destruct_call f.
Ltac destruct_call_in f H :=
- let tac t := destruct t in
+ let tac t := (destruct t) in
let T := type of H in
on_application f tac T.
Ltac destruct_call_as f l :=
- let tac t := destruct t as l in on_call f tac.
+ let tac t := (destruct t as l) in on_call f tac.
Ltac destruct_call_as_in f l H :=
- let tac t := destruct t as l in
+ let tac t := (destruct t as l) in
let T := type of H in
on_application f tac T.
@@ -200,8 +200,6 @@ Ltac add_hypothesis H' p :=
end
end.
-Tactic Notation "pose" constr(c) "as" ident(H) := assert(H:=c).
-
(** A tactic to replace an hypothesis by another term. *)
Ltac replace_hyp H c :=