Commit 9a16f9be authored by Ralf Jung's avatar Ralf Jung

make find_pat more robust: work with idtac

parent b9ff487e
...@@ -303,7 +303,8 @@ Tactic Notation "feed" "destruct" constr(H) "as" simple_intropattern(IP) := ...@@ -303,7 +303,8 @@ Tactic Notation "feed" "destruct" constr(H) "as" simple_intropattern(IP) :=
It will search for the first subterm of the goal matching [pat], and then call [tac] It will search for the first subterm of the goal matching [pat], and then call [tac]
with that subterm. *) with that subterm. *)
Ltac find_pat pat tac := Ltac find_pat pat tac :=
match goal with |- context [?x] => unify pat x; tac x || fail 2 match goal with |- context [?x] =>
unify pat x; tryif tac x then idtac else fail 2
end. end.
(** Coq's [firstorder] tactic fails or loops on rather small goals already. In (** Coq's [firstorder] tactic fails or loops on rather small goals already. In
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment