diff options
| author | Pierre-Marie Pédrot | 2020-03-18 18:34:19 +0100 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2020-03-18 18:34:19 +0100 |
| commit | de9f75fcca7247abadbc02176a1fe06033cd6e38 (patch) | |
| tree | 5103c662905cb78e1e3bdc75179eba1366bb4cb8 /test-suite | |
| parent | 70bc1e9c5122ad5a8a3dc78aae764afc65b4dead (diff) | |
Adding a round-trip test for binders.
Diffstat (limited to 'test-suite')
| -rw-r--r-- | test-suite/ltac2/binder.v | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test-suite/ltac2/binder.v b/test-suite/ltac2/binder.v new file mode 100644 index 0000000000..eac74688b2 --- /dev/null +++ b/test-suite/ltac2/binder.v @@ -0,0 +1,37 @@ +Require Import Ltac2.Ltac2. + +Ltac2 check () := +let t := Control.goal () in +match Constr.Unsafe.kind t with +| Constr.Unsafe.Prod b t => + let na := Constr.Binder.name b in + let u := Constr.Binder.type b in + let b := Constr.Binder.make na u in + let c := Constr.Unsafe.make (Constr.Unsafe.Prod b t) in + pose (v := $c); + refine '(_ : &v); + unfold &v +| _ => fail +end. + +Goal forall x : nat, x = x. +Proof. +check (); intros; reflexivity. +Qed. + +Goal forall x : Type, x = x. +Proof. +check (); intros; reflexivity. +Qed. + +Goal forall x : Set, x = x. +Proof. +check (); intros; reflexivity. +Qed. + +Inductive True : SProp := I. + +Goal forall x : True, True. +Proof. +check (); intros; constructor. +Qed. |
