aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2006-09-21 13:03:16 +0000
committerGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2006-09-21 13:03:16 +0000
commit1d874af4b89c3c13551ce3648924b1b7ee6fcc24 (patch)
tree4efa6ffc523ad9d5d9b2d96a38c59cd92644ca55
parent0a235f0d6ed807600ccf5534af7ed6f8657d1274 (diff)
incomplete and temporary fix for PR#1222: revert accepts up to 10 args
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9156 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--theories/FSets/FMapPositive.v4
-rw-r--r--theories/Init/Tactics.v11
2 files changed, 12 insertions, 3 deletions
diff --git a/theories/FSets/FMapPositive.v b/theories/FSets/FMapPositive.v
index 7c6374899..9008b3623 100644
--- a/theories/FSets/FMapPositive.v
+++ b/theories/FSets/FMapPositive.v
@@ -734,7 +734,7 @@ Module PositiveMap <: S with Module E:=PositiveOrderedTypeBits.
Proof.
intros.
generalize (xelements_complete _ _ _ _ H); clear H; intros.
- revert H; revert v; revert m; revert q; revert p0.
+ revert p0 q m v H.
induction p; destruct p0; simpl; intros; eauto; try discriminate.
Qed.
@@ -743,7 +743,7 @@ Module PositiveMap <: S with Module E:=PositiveOrderedTypeBits.
Proof.
intros.
generalize (xelements_complete _ _ _ _ H); clear H; intros.
- revert H; revert v; revert m; revert q; revert p0.
+ revert p0 q m v H.
induction p; destruct p0; simpl; intros; eauto; try discriminate.
Qed.
diff --git a/theories/Init/Tactics.v b/theories/Init/Tactics.v
index d8590e4b5..b1be849c2 100644
--- a/theories/Init/Tactics.v
+++ b/theories/Init/Tactics.v
@@ -15,7 +15,16 @@ Require Import Logic.
(* A shorter name for generalize + clear, can be seen as an anti-intro *)
-Ltac revert H := generalize H; clear H.
+Tactic Notation "revert" constr(a) := generalize a; clear a.
+Tactic Notation "revert" constr(a) constr(b) := generalize a b; clear a b.
+Tactic Notation "revert" constr(a) constr(b) constr(c) := generalize a b c; clear a b c.
+Tactic Notation "revert" constr(a) constr(b) constr(c) constr(d) := generalize a b c d; clear a b c d.
+Tactic Notation "revert" constr(a) constr(b) constr(c) constr(d) constr(e):= generalize a b c d e; clear a b c d e.
+Tactic Notation "revert" constr(a) constr(b) constr(c) constr(d) constr(e) constr(f):= generalize a b c d e f; clear a b c d e f.
+Tactic Notation "revert" constr(a) constr(b) constr(c) constr(d) constr(e) constr(f) constr(g) := generalize a b c d e f g; clear a b c d e f g.
+Tactic Notation "revert" constr(a) constr(b) constr(c) constr(d) constr(e) constr(f) constr(g) constr(h) := generalize a b c d e f g h; clear a b c d e f g h.
+Tactic Notation "revert" constr(a) constr(b) constr(c) constr(d) constr(e) constr(f) constr(g) constr(h) constr(i):= generalize a b c d e f g h i; clear a b c d e f g h i.
+Tactic Notation "revert" constr(a) constr(b) constr(c) constr(d) constr(e) constr(f) constr(g) constr(h) constr(i) constr(j):= generalize a b c d e f g h i j; clear a b c d e f g h i j.
(* to contradict an hypothesis without copying its type. *)