From 9faa549495539ace4347ba8627fbbf02a0cc0aa0 Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Thu, 5 Oct 2017 18:03:45 -0400 Subject: Add PoseTermWithName --- _CoqProject | 1 + src/Util/Tactics.v | 1 + src/Util/Tactics/PoseTermWithName.v | 10 ++++++++++ 3 files changed, 12 insertions(+) create mode 100644 src/Util/Tactics/PoseTermWithName.v 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. -- cgit v1.2.3