In the standard library, we should use explicit universe variables for universe polymorphic definitions. Users that want to declare universe polymorphic definitions but do not want to provide universe level parameters should use Type _ or Type*
20 lines
234 B
Text
20 lines
234 B
Text
--
|
|
|
|
definition id2 (A : Type*) (a : A) := a
|
|
|
|
check id2 Type* num
|
|
|
|
check id2 Type* num
|
|
|
|
|
|
check id2 Type num
|
|
|
|
check id2 _ num
|
|
|
|
check id2 (Type (_+1)) num
|
|
|
|
check id2 (Type (0+1)) num
|
|
|
|
check id2 Type* (Type 1)
|
|
|
|
check id2 (Type*) (Type 1)
|