diff options
author | Chantal Keller <Chantal.Keller@lri.fr> | 2021-10-14 17:07:50 +0200 |
---|---|---|
committer | Chantal Keller <Chantal.Keller@lri.fr> | 2021-10-14 17:07:50 +0200 |
commit | 189b6a17e6dbf2f7f6a396fc81cd384952211091 (patch) | |
tree | 6e05d39fe5573151a965601fc2c1ed495d2366ad /unit-tests | |
parent | abe0badbe84a90bae4f20541781609ed0ebb3fb9 (diff) | |
download | smtcoq-189b6a17e6dbf2f7f6a396fc81cd384952211091.tar.gz smtcoq-189b6a17e6dbf2f7f6a396fc81cd384952211091.zip |
Two examples showing that prenex dependency is handled, but not non-prenex one
Diffstat (limited to 'unit-tests')
-rw-r--r-- | unit-tests/Tests_verit_tactics.v | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/unit-tests/Tests_verit_tactics.v b/unit-tests/Tests_verit_tactics.v index 2bdc520..2f080a8 100644 --- a/unit-tests/Tests_verit_tactics.v +++ b/unit-tests/Tests_verit_tactics.v @@ -1406,3 +1406,46 @@ Section EqSym. Goal hd_error (x :: xs) = Some a /\ tl (x :: xs) = r <-> x :: xs = a :: r. Proof. verit. Qed. End EqSym. + + + +Section PrenexDependentTypes. + Variables A B : Type. + Variable F : Type -> Type. + Variable p : B -> F bool. + Variable dep : forall (X:Type), A -> F X -> bool. + Hypothesis H : forall (x : A) (y : B), dep bool x (p y) = true. + + Hypothesis HF : CompDec (F bool). + Hypothesis HA : CompDec A. + Hypothesis HB : CompDec B. + + Variable a : A. + Variable b : B. + + Goal dep bool a (p b). + Proof. verit. Qed. + +End PrenexDependentTypes. + + +(* +Section NonPrenexDependentTypes. + Variables A B : Type. + Variable F : Type -> Type. + Variable p : B -> F bool. + Variable dep : A -> forall (X:Type), F X -> bool. + Hypothesis H : forall (x : A) (y : B), dep x bool (p y) = true. + + Hypothesis HF : CompDec (F bool). + Hypothesis HA : CompDec A. + Hypothesis HB : CompDec B. + + Variable a : A. + Variable b : B. + + Goal dep a bool (p b). + Proof. Fail verit. Qed. + +End NonPrenexDependentTypes. +*) |