Skip to content
Snippets Groups Projects
Commit 09bc28f7 authored by Robbert Krebbers's avatar Robbert Krebbers
Browse files

Move and rename some tactics.

parent 9201446c
No related branches found
No related tags found
No related merge requests found
...@@ -228,6 +228,14 @@ Ltac setoid_subst := ...@@ -228,6 +228,14 @@ Ltac setoid_subst :=
| H : @equiv ?A ?e _ ?x |- _ => symmetry in H; setoid_subst_aux (@equiv A e) x | H : @equiv ?A ?e _ ?x |- _ => symmetry in H; setoid_subst_aux (@equiv A e) x
end. end.
(** The tactic [intros_revert tac] introduces all foralls/arrows, performs tac,
and then reverts them. *)
Ltac intros_revert tac :=
lazymatch goal with
| |- _, _ => let H := fresh in intro H; intros_revert tac; revert H
| |- _ => tac
end.
(** Given a tactic [tac2] generating a list of terms, [iter tac1 tac2] (** Given a tactic [tac2] generating a list of terms, [iter tac1 tac2]
runs [tac x] for each element [x] until [tac x] succeeds. If it does not runs [tac x] for each element [x] until [tac x] succeeds. If it does not
suceed for any element of the generated list, the whole tactic wil fail. *) suceed for any element of the generated list, the whole tactic wil fail. *)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment