module Prim.Type where
Primitives: Sorts🔗
This module defines bindings for the primitive sorts in Agda. These
are very magic symbols since they bootstrap everything about
the type system. For more details about the use of universes, see 1Lab.Type
.
{-# BUILTIN TYPE Type #-} {-# BUILTIN SETOMEGA Typeω #-} {-# BUILTIN PROP Prop #-} {-# BUILTIN PROPOMEGA Propω #-} {-# BUILTIN STRICTSET SSet #-} {-# BUILTIN STRICTSETOMEGA SSetω #-}
Additionally, we have the Level
type, of universe
levels. The universe levels are an algebra containing 0, closed
under successor and maximum. The difference between this and e.g. the
natural numbers is that Level
isn’t initial,
i.e. you can’t pattern-match on it.
postulate Level : Type lzero : Level lsuc : Level → Level _⊔_ : Level → Level → Level infixl 6 _⊔_ {-# BUILTIN LEVELUNIV LevelUniv #-} {-# BUILTIN LEVEL Level #-} {-# BUILTIN LEVELZERO lzero #-} {-# BUILTIN LEVELSUC lsuc #-} {-# BUILTIN LEVELMAX _⊔_ #-}