blob: 00a93b5fdfb87abb7ca248a87d3a68d3cef5240c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
Set Universe Polymorphism.
Module Type T.
Axiom foo@{u v|u < v} : Type@{v}.
End T.
Module M : T with Definition foo@{u v} := Type@{u} : Type@{v}.
Definition foo@{u v} := Type@{u} : Type@{v}.
End M.
Fail Module M' : T with Definition foo := Type.
(* Without the binder expression we have to do trickery to get the
universes in the right order. *)
Module M' : T with Definition foo := let t := Type in t.
Definition foo := let t := Type in t.
End M'.
|