summaryrefslogtreecommitdiff
path: root/theories/Program/Equality.v
diff options
context:
space:
mode:
authorGravatar Stephane Glondu <steph@glondu.net>2009-07-04 13:28:38 +0200
committerGravatar Stephane Glondu <steph@glondu.net>2009-07-04 13:28:38 +0200
commit3a420f4ad929e8372d32c735fd0fd89dfc0346a1 (patch)
tree943a01d103c1296dc7c07cb188af994354c4d9a3 /theories/Program/Equality.v
parent1769cbaddea77112dd6f336316d8eb9a0945a1e6 (diff)
parente4282ea99c664d8d58067bee199cbbcf881b60d5 (diff)
Merge commit 'upstream/8.2.pl1+dfsg'
Diffstat (limited to 'theories/Program/Equality.v')
-rw-r--r--theories/Program/Equality.v10
1 files changed, 7 insertions, 3 deletions
diff --git a/theories/Program/Equality.v b/theories/Program/Equality.v
index 99d54755..9681d543 100644
--- a/theories/Program/Equality.v
+++ b/theories/Program/Equality.v
@@ -7,7 +7,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-(*i $Id: Equality.v 11709 2008-12-20 11:42:15Z msozeau $ i*)
+(*i $Id: Equality.v 12073 2009-04-08 21:04:42Z msozeau $ i*)
(** Tactics related to (dependent) equality and proof irrelevance. *)
@@ -479,8 +479,12 @@ Ltac intro_prototypes :=
| _ => idtac
end.
-Ltac do_case p := destruct p || elim_case p || (case p ; clear p).
-Ltac do_ind p := induction p || elim_ind p.
+Ltac introduce p :=
+ first [ match p with _ => idtac end (* Already there *)
+ | intros until p | intros ].
+
+Ltac do_case p := introduce p ; (destruct p || elim_case p || (case p ; clear p)).
+Ltac do_ind p := introduce p ; (induction p || elim_ind p).
Ltac dep_elimify := match goal with [ |- ?T ] => change (block_dep_elim T) end.