aboutsummaryrefslogtreecommitdiff
path: root/src/Util/Tactics.v
diff options
context:
space:
mode:
authorGravatar Andres Erbsen <andreser@mit.edu>2016-07-06 11:29:16 -0400
committerGravatar Andres Erbsen <andreser@mit.edu>2016-07-06 11:29:16 -0400
commit5a0c4eb34708d2c85d91e6cb2c708ed16249e06d (patch)
tree6988b67762b030d38b8941689cf00cc5fc6add1b /src/Util/Tactics.v
parent65ee6fbad9adc1e691c1f911cd084c60763046aa (diff)
stuck trying to figure out dependently typed continuation passing style
Diffstat (limited to 'src/Util/Tactics.v')
-rw-r--r--src/Util/Tactics.v10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Util/Tactics.v b/src/Util/Tactics.v
index 304ae3c20..ab98bb7f2 100644
--- a/src/Util/Tactics.v
+++ b/src/Util/Tactics.v
@@ -40,6 +40,16 @@ Tactic Notation "unique" "assert" constr(T) "by" tactic3(tac) :=
| _ => assert T by tac
end.
+Ltac set_evars :=
+ repeat match goal with
+ | [ |- appcontext[?E] ] => is_evar E; let e := fresh "e" in set (e := E)
+ end.
+
+Ltac subst_evars :=
+ repeat match goal with
+ | [ e := ?E |- _ ] => is_evar E; subst e
+ end.
+
(** destruct discriminees of [match]es in the goal *)
(* Prioritize breaking apart things in the context, then things which
don't need equations, then simple matches (which can be displayed