Arithmetic on families of ordinals #
This file proves basic results about the suprema of families of ordinals.
Various other basic arithmetic results are given in Principal.lean instead.
Supremum of a family of ordinals #
theorem Ordinal.bddAbove_image {s : Set Ordinal.{u}} (hf : BddAbove s) (f : Ordinal.{u} → Ordinal.{max u v}) :
theorem Ordinal.bddAbove_range_comp {ι : Type u} {f : ι → Ordinal.{v}} (hf : BddAbove (Set.range f)) (g : Ordinal.{v} → Ordinal.{max v w}) :
le_ciSup whenever the input type is small in the output universe. This lemma sometimes
fails to infer f in simple cases and needs it to be given explicitly.
@[simp]
theorem Ordinal.iSup_le_iff {ι : Type u_3} {f : ι → Ordinal.{u}} {a : Ordinal.{u}} [Small.{u, u_3} ι] :
ciSup_le_iff' whenever the input type is small in the output universe.
An alias of ciSup_le' for discoverability.
@[simp]
theorem Ordinal.lt_iSup_iff {ι : Type u_3} {f : ι → Ordinal.{u}} {a : Ordinal.{u}} [Small.{u, u_3} ι] :
lt_ciSup_iff' whenever the input type is small in the output universe.
theorem Ordinal.iSup_add_one_le_iff {ι : Type u_3} {f : ι → Ordinal.{u}} {a : Ordinal.{u}} [Small.{u, u_3} ι] :
theorem Ordinal.iSup_add_one_le {ι : Sort u_3} {f : ι → Ordinal.{u}} {a : Ordinal.{u}} (h : ∀ (i : ι), f i < a) :
theorem Ordinal.lt_iSup_add_one_iff {ι : Type u_3} {f : ι → Ordinal.{u}} {a : Ordinal.{u}} [Small.{u, u_3} ι] :
theorem Ordinal.succ_lt_iSup_of_ne_iSup {ι : Type u_3} {f : ι → Ordinal.{u}} [Small.{u, u_3} ι] (hf : ∀ (i : ι), f i ≠ iSup f) {a : Ordinal.{u}} (hao : a < iSup f) :
theorem Ordinal.iSup_sum {α : Type u_3} {β : Type u_4} (f : α ⊕ β → Ordinal.{u}) [Small.{u, u_3} α] [Small.{u, u_4} β] :
theorem Ordinal.unbounded_range_of_le_iSup {α β : Type u} (r : α → α → Prop) [IsWellOrder α r] (f : β → α) (h : type r ≤ ⨆ (i : β), (typein r).toRelEmbedding (f i)) :
Set.Unbounded r (Set.range f)
theorem Ordinal.iSup_add_one {β : Type u_3} [LinearOrder β] [NoMaxOrder β] {f : β → Ordinal.{u}} (hf : StrictMono f) :
theorem Ordinal.iSup_Iio_add_one {a : Ordinal.{u}} {f : ↑(Set.Iio a) → Ordinal.{u}} (hf : StrictMono f) (ha : Order.IsSuccPrelimit a) :
Results about injectivity and surjectivity #
The type of ordinals in universe u is not Small.{u}. This is the type-theoretic analog of
the Burali-Forti paradox.
Casting naturals into ordinals, compatibility with operations #
@[simp]
theorem Ordinal.add_iSup (o : Ordinal.{u}) {ι : Type u_1} [Small.{u, u_1} ι] [Nonempty ι] (f : ι → Ordinal.{u}) :
@[simp]
theorem Ordinal.add_sSup (o : Ordinal.{u}) {s : Set Ordinal.{u}} [Small.{u, u + 1} ↑s] (hs : s.Nonempty) :
@[simp]
@[simp]