Univ.Universe
Type of universes. A universe is defined as a set of level expressions. A level expression is built from levels and successors of level expressions, i.e.: le ::= l + n, n \in N.
A universe is said atomic if it consists of a single level expression with no increment, and algebraic otherwise (think the least upper bound of a set of level expressions).
val hash : t -> int
Hash function
val is_level : t -> bool
Test if the universe is a level or an algebraic universe.
val is_levels : t -> bool
Test if the universe is a lub of levels or contains +n's.
Try to get a level out of a universe, returns None
if it is an algebraic universe.
val levels : t -> Level.Set.t
Get the levels inside the universe, forgetting about increments
val type0 : t
image of Set in the universes hierarchy
val type1 : t
the universe of the type of Prop/Set
val is_type0 : t -> bool
module Set : CSet.S with type elt = t