aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite/success
diff options
context:
space:
mode:
authorGravatar Enrico Tassi <Enrico.Tassi@inria.fr>2016-06-15 17:58:57 +0200
committerGravatar Enrico Tassi <Enrico.Tassi@inria.fr>2016-06-15 17:58:57 +0200
commita86ae18dcdb055ad7f542312a2bb231efd787db2 (patch)
treeaeda9b9b019c1ff6e99a80ed7b68fd2dc7c87811 /test-suite/success
parent2b8596c568e243302bfec7f98e8ff8ca1ec0834a (diff)
ssrmatching: simple test for Ltac API
Diffstat (limited to 'test-suite/success')
-rw-r--r--test-suite/success/ssrpattern.v22
1 files changed, 22 insertions, 0 deletions
diff --git a/test-suite/success/ssrpattern.v b/test-suite/success/ssrpattern.v
new file mode 100644
index 000000000..96f0bbac9
--- /dev/null
+++ b/test-suite/success/ssrpattern.v
@@ -0,0 +1,22 @@
+Require Import ssrmatching.
+
+(*Set Debug SsrMatching.*)
+
+Tactic Notation "at" "[" ssrpatternarg(pat) "]" tactic(t) :=
+ let name := fresh in
+ let def_name := fresh in
+ ssrpattern pat;
+ intro name;
+ pose proof (refl_equal name) as def_name;
+ unfold name at 1 in def_name;
+ t def_name;
+ [ rewrite <- def_name | idtac.. ];
+ clear name def_name.
+
+Lemma test (H : True -> True -> 3 = 7) : 28 = 3 * 4.
+Proof.
+at [ X in X * 4 ] ltac:(fun place => rewrite -> H in place).
+- reflexivity.
+- trivial.
+- trivial.
+Qed.