From c9e7d7f1ceb22667e77a4ee49a4afc2cce6f9a2c Mon Sep 17 00:00:00 2001 From: Pierre-Marie Pédrot Date: Wed, 26 Jul 2017 22:47:18 +0200 Subject: Adding an example file --- tests/example1.v | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 tests/example1.v diff --git a/tests/example1.v b/tests/example1.v new file mode 100644 index 0000000000..1b26aad824 --- /dev/null +++ b/tests/example1.v @@ -0,0 +1,26 @@ +Require Import Ltac2.Ltac2. + +Import Ltac2.Control. + +(** Alternative implementation of the hyp primitive *) +Ltac2 get_hyp_by_name x := + let h := hyps () in + let rec find x l := match l with + | [] => zero Not_found + | p :: l => + match p with + | (id, _, t) => + match Ident.equal x id with + | true => t + | false => find x l + end + end + end in + find x h. + +Print Ltac2 get_hyp_by_name. + +Goal forall n m, n + m = 0 -> n = 0. +Proof. +refine (fun () => '(fun n m H => _)). +let t := get_hyp_by_name @H in Message.print (Message.of_constr t). -- cgit v1.2.3