I am exploring the possibility of using explicit universesCoq to create a fixed hierarchy of universes. An attempt to use constants (2, 3, 4) when creating it failed: in the end, all combinations are still of type (i.e., all declared universes are considered as hierarchically arbitrary):
Universe k l m x y z.
Let x := 2.
Definition k := Type@{x}.
Notation y := 3.
Definition l := Type@{y}.
Notation z := 4.
Definition m := Type@{z}.
Print x. (*x = 2: nat*)
Print y. (*Notation y := 3*)
Check l:k:m.
Check m:k:l.
Check k:m:l.
Note that Definition k := Type@{2}and Definition k := Type@{x+1}lead to a syntax error. Can explicit universes be used to build a fixed hierarchy, and if so, how?
source
share