aboutsummaryrefslogtreecommitdiff
path: root/test-suite
diff options
context:
space:
mode:
Diffstat (limited to 'test-suite')
-rw-r--r--test-suite/success/polymorphism.v32
1 files changed, 32 insertions, 0 deletions
diff --git a/test-suite/success/polymorphism.v b/test-suite/success/polymorphism.v
index ecc988507c..0bd8bfe602 100644
--- a/test-suite/success/polymorphism.v
+++ b/test-suite/success/polymorphism.v
@@ -156,6 +156,38 @@ Polymorphic Definition twoprojs (d : dyn) := dyn_proof d = dyn_proof d.
End structures.
+
+Module binders.
+
+ Definition foo@{i j | i < j, i < j} (A : Type@{i}) : Type@{j}.
+ exact A.
+ Defined.
+
+ Definition nomoreu@{i j | i < j} (A : Type@{i}) : Type@{j}.
+ pose(foo:=Type).
+ exact A.
+ Fail Defined.
+ Abort.
+
+ Polymorphic Definition moreu@{i j +} (A : Type@{i}) : Type@{j}.
+ pose(foo:=Type).
+ exact A.
+ Defined.
+
+ Check moreu@{_ _ _ _}.
+
+ Fail Definition morec@{i j| } (A : Type@{i}) : Type@{j} := A.
+
+ (* By default constraints are extensible *)
+ Definition morec@{i j} (A : Type@{i}) : Type@{j} := A.
+
+ (* FIXME: not handled in proofs correctly yet *)
+ Lemma bar@{i j | } : Type@{i}.
+ exact Type@{j}.
+ Defined.
+
+End binders.
+
Section cats.
Local Set Universe Polymorphism.
Require Import Utf8.