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*
15 lines
319 B
Text
15 lines
319 B
Text
constants A B₁ B₂ C D : Type
|
|
|
|
constant A_to_B₁ : has_coe A B₁
|
|
constant A_to_B₂ : has_coe A B₂
|
|
constant B₁_to_C : has_coe B₁ C
|
|
constant B₂_to_D : has_coe B₂ D
|
|
|
|
attribute [instance] A_to_B₁ A_to_B₂ B₁_to_C B₂_to_D
|
|
|
|
constant a : A
|
|
constant f : C → C
|
|
constant g : D → D
|
|
|
|
check f a
|
|
check g a
|