------------------------------------------------------------------------ -- Universe levels ------------------------------------------------------------------------ module Level where data Level : Set where zero : Level suc : (i : Level) → Level {-# BUILTIN LEVEL Level #-} {-# BUILTIN LEVELZERO zero #-} {-# BUILTIN LEVELSUC suc #-} infixl 6 _⊔_ _⊔_ : Level → Level → Level zero ⊔ j = j suc i ⊔ zero = suc i suc i ⊔ suc j = suc (i ⊔ j) {-# BUILTIN LEVELMAX _⊔_ #-}