prelude set_option pp.notation false
definition Prop := Type.{0}
constant eq {A : Type} : A → A → Prop
infixl `=`:50 := eq

constant N : Type.{1}
constant z : N
constant o : N
constant b : N

notation 0 := z
notation 1 := o

check 1
check 0

constant G : Type.{1}
constant gz : G
constant a  : G

notation 0 := gz

check a = 0
check (0:G) = a
check b = 0
