aboutsummaryrefslogtreecommitdiff
path: root/src/Util/Tactics/DestructHyps.v
diff options
context:
space:
mode:
Diffstat (limited to 'src/Util/Tactics/DestructHyps.v')
-rw-r--r--src/Util/Tactics/DestructHyps.v9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/Util/Tactics/DestructHyps.v b/src/Util/Tactics/DestructHyps.v
index 8ab6215c2..43f578291 100644
--- a/src/Util/Tactics/DestructHyps.v
+++ b/src/Util/Tactics/DestructHyps.v
@@ -30,6 +30,11 @@ Ltac inversion_all_matches_then matcher tac :=
Ltac inversion_one_match_then matcher tac :=
do_one_match_then matcher ltac:(fun H => inversion H; subst) tac.
+Ltac inversion_clear_all_matches_then matcher tac :=
+ do_all_matches_then matcher ltac:(fun H => inversion H; clear H; subst) tac.
+Ltac inversion_clear_one_match_then matcher tac :=
+ do_one_match_then matcher ltac:(fun H => inversion H; clear H; subst) tac.
+
Ltac destruct_all_matches matcher :=
destruct_all_matches_then matcher ltac:( simpl in * ).
Ltac destruct_one_match matcher := destruct_one_match_then matcher ltac:( simpl in * ).
@@ -39,6 +44,10 @@ Ltac inversion_all_matches matcher := inversion_all_matches_then matcher ltac:(
Ltac inversion_one_match matcher := inversion_one_match_then matcher ltac:( simpl in * ).
Ltac inversion_all_matches' matcher := inversion_all_matches_then matcher idtac.
+Ltac inversion_clear_all_matches matcher := inversion_clear_all_matches_then matcher ltac:( simpl in * ).
+Ltac inversion_clear_one_match matcher := inversion_clear_one_match_then matcher ltac:( simpl in * ).
+Ltac inversion_clear_all_matches' matcher := inversion_clear_all_matches_then matcher idtac.
+
(* matches anything whose type has a [T] in it *)
Ltac destruct_type_matcher T HT :=
match HT with