Navigation

Universe

Universe hierarchy: Type_0 : Type_1 : Type_2 : ... Lazy infinite tower.

Type_0

Type_0: first universe in the cumulative tower.

Predefined Type_0 universe.

Type_1

Type_1: second universe in the cumulative tower.

Predefined Type_1 universe.

Type_2

Type_2: third universe in the cumulative tower.

Predefined Type_2 universe.

Type_3

Type_3: fourth universe in the cumulative tower.

Predefined Type_3 universe.

Type_4

Type_4: fifth universe in the cumulative tower.

Predefined Type_4 universe.

level

level: read a type's universe level as an Int; level 0 covers atomic types, level 1 contains Type_0, and so on up the stratified tower.

level : Type -> Int

Get the universe level of a type. Equivalent to .universe field access; provided for explicit calls.

typeAt

typeAt: factory producing the cumulative universe type Type_n; values of Type_n are types of universe ≤ n; Type_n itself has universe n+1.

typeAt : Int -> Type

Create universe type at level n (cumulative). Type_n contains all types with universe ≤ n. Type_n itself has universe n + 1, enforcing Type_n : Type_(n+1) for all n and avoiding Russell's paradox.