Universal ordinal and cardinal #
Cardinal.univ is the cardinality of the cardinals themselves. Likewise, Ordinal.univ is the
order type of the ordinals. These are related via Cardinal.univ.ord = Ordinal.univ and
Ordinal.univ.card = Cardinal.univ.
The cardinal Cardinal.univ is strongly inaccessible. This reflects the fact that in ZFC, the
cardinals form a proper class. See IsInaccessible.univ for a proof.
Implementation notes #
We actually define Cardinal.univ as the cardinality of Ordinal, rather than that of Cardinal.
This makes the basic API easier to set up. See Cardinal.mk_cardinal for a proof that
Cardinal.univ = #Cardinal.
The ordinal univ.{u, v} is the order type of Ordinal.{u} or Cardinal.{u}, as an element of
Ordinal.{v} (when u < v).
Equations
- Ordinal.univ.{?u.2, ?u.1} = Ordinal.lift.{?u.1, ?u.2 + 1} (Ordinal.type fun (x1 x2 : Ordinal.{?u.2}) => x1 < x2)
Instances For
The cardinal univ.{u, v} is the cardinality of Ordinal.{u} or Cardinal.{u}, as an element
of Cardinal.{v} (when u < v).
Instances For
Universal ordinal #
Principal segment version of the lift operation on ordinals, embedding Ordinal.{u} in
Ordinal.{v} as a principal segment when u < v.
Equations
- Ordinal.liftPrincipalSeg = { toRelEmbedding := Ordinal.liftInitialSeg.toRelEmbedding, top := Ordinal.univ.{?u.18, ?u.17}, mem_range_iff_rel' := Ordinal.liftPrincipalSeg._proof_3 }