aboutsummaryrefslogtreecommitdiff
path: root/theories/Program
diff options
context:
space:
mode:
Diffstat (limited to 'theories/Program')
-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 df2393ace2..f31115d99e 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