aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-10-05 18:03:45 -0400
committerGravatar Jason Gross <jgross@mit.edu>2017-10-05 18:14:20 -0400
commit9faa549495539ace4347ba8627fbbf02a0cc0aa0 (patch)
tree24e39725a45efa26044d90dc095673dd32c55117
parentaa1209f854d32463e96bb0d9cd30d40d0b7cb67c (diff)
Add PoseTermWithName
-rw-r--r--_CoqProject1
-rw-r--r--src/Util/Tactics.v1
-rw-r--r--src/Util/Tactics/PoseTermWithName.v10
3 files changed, 12 insertions, 0 deletions
diff --git a/_CoqProject b/_CoqProject
index a4e01fe59..0adfec1b9 100644
--- a/_CoqProject
+++ b/_CoqProject
@@ -349,6 +349,7 @@ src/Util/Tactics/Head.v
src/Util/Tactics/MoveLetIn.v
src/Util/Tactics/Not.v
src/Util/Tactics/OnSubterms.v
+src/Util/Tactics/PoseTermWithName.v
src/Util/Tactics/PrintContext.v
src/Util/Tactics/Revert.v
src/Util/Tactics/RewriteHyp.v
diff --git a/src/Util/Tactics.v b/src/Util/Tactics.v
index af75b4f50..3cd86b0c3 100644
--- a/src/Util/Tactics.v
+++ b/src/Util/Tactics.v
@@ -21,6 +21,7 @@ Require Export Crypto.Util.Tactics.Head.
Require Export Crypto.Util.Tactics.MoveLetIn.
Require Export Crypto.Util.Tactics.Not.
Require Export Crypto.Util.Tactics.OnSubterms.
+Require Export Crypto.Util.Tactics.PoseTermWithName.
Require Export Crypto.Util.Tactics.PrintContext.
Require Export Crypto.Util.Tactics.Revert.
Require Export Crypto.Util.Tactics.RewriteHyp.
diff --git a/src/Util/Tactics/PoseTermWithName.v b/src/Util/Tactics/PoseTermWithName.v
new file mode 100644
index 000000000..3dba9a211
--- /dev/null
+++ b/src/Util/Tactics/PoseTermWithName.v
@@ -0,0 +1,10 @@
+Ltac pose_term_with tac name :=
+ let name := fresh name in
+ let v := tac () in
+ let dummy := match goal with
+ | _ => pose v as name
+ end in
+ name.
+
+Ltac pose_term_with_type type tac name :=
+ pose_term_with ltac:(fun u => let v := tac u in constr:(v : type)) name.