diff options
| -rw-r--r-- | theories/FSets/FMapPositive.v | 4 | ||||
| -rw-r--r-- | theories/Init/Tactics.v | 11 |
2 files changed, 12 insertions, 3 deletions
diff --git a/theories/FSets/FMapPositive.v b/theories/FSets/FMapPositive.v index 7c6374899a..9008b3623d 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 d8590e4b59..b1be849c2f 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. *) |
