aboutsummaryrefslogtreecommitdiffhomepage
path: root/theories/Program/Tactics.v
diff options
context:
space:
mode:
authorGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-03-25 10:56:36 +0000
committerGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-03-25 10:56:36 +0000
commit1e1d06303d476b1e7f171dc09ed1e18508e20436 (patch)
treeeb4f4125c96d6e8e5e45420b07ec142bbd5a6766 /theories/Program/Tactics.v
parent467fb77527b75cf6c214aa3b72b2826cae2e18ae (diff)
Interpret patterns for hypotheses types in match goal in type_scope (if not a
context [] pattern). May break some user contribs... Rename clsubstitute to substitute. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10716 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Program/Tactics.v')
-rw-r--r--theories/Program/Tactics.v4
1 files changed, 3 insertions, 1 deletions
diff --git a/theories/Program/Tactics.v b/theories/Program/Tactics.v
index df2393ace..f31115d99 100644
--- a/theories/Program/Tactics.v
+++ b/theories/Program/Tactics.v
@@ -87,11 +87,13 @@ Ltac clear_dups := repeat clear_dup.
(** A non-failing subst that substitutes as much as possible. *)
-Tactic Notation "subst" "*" :=
+Ltac subst_no_fail :=
repeat (match goal with
[ H : ?X = ?Y |- _ ] => subst X || subst Y
end).
+Tactic Notation "subst" "*" := subst_no_fail.
+
(** Tactical [on_call f tac] applies [tac] on any application of [f] in the hypothesis or goal. *)
Ltac on_call f tac :=
match goal with