Cofinality of an ordinal #
This file contains the definition of the cofinality Ordinal.cof o of an ordinal. This is the
cofinality of the ordinal o when viewed as a linear order.
Main statements #
Cardinal.lt_power_cof_ord: A consequence of König's theorem stating thatc < c ^ c.ord.cofforc ≥ ℵ₀.
Implementation notes #
- We do not separately define the cofinality of a cardinal. If
cis a cardinal number, you can write its cofinality asc.ord.cof.
Cofinality of ordinals #
The cofinality on an ordinal is the Order.cof of any isomorphic linear order.
In particular, cof 0 = 0 and cof (succ o) = 1.
Equations
- o.cof = o.liftOnWellOrder (fun (α : Type ?u.1) (x : LinearOrder α) (x_1 : WellFoundedLT α) => Order.cof α) Ordinal.cof._proof_2✝
Instances For
@[simp]
@[simp]
@[simp]
@[deprecated Ordinal.cof_add_one (since := "2026-05-25")]
@[simp]
@[simp]
theorem Ordinal.cof_eq_aleph0_of_isSuccLimit {o : Ordinal.{u_1}} (ho : Order.IsSuccLimit o) (ho' : o < omega 1) :
A countable limit ordinal has cofinality ℵ₀.
Every well-order has a cofinal subset of order type (cof α).ord.
@[deprecated Ordinal.exists_ord_cof_eq (since := "2026-05-25")]
Alias of Ordinal.exists_ord_cof_eq.
Every well-order has a cofinal subset of order type (cof α).ord.
theorem Ordinal.exists_ord_cof_eq_of_isCofinal {α : Type u} [LinearOrder α] [WellFoundedLT α] {s : Set α} (hs : IsCofinal s) :
Every cofinal set has a cofinal subset of order type (cof α).ord.
@[simp]
Cofinalities and suprema #
theorem Ordinal.lift_cof_iSup_add_one {β : Type v} [LinearOrder β] [Small.{u, v} β] {f : β → Ordinal.{u}} (hf : StrictMono f) :
theorem Ordinal.cof_iSup_add_one {γ : Type u} [LinearOrder γ] {f : γ → Ordinal.{u}} (hf : StrictMono f) :
theorem Ordinal.lift_cof_iSup {β : Type v} [LinearOrder β] [Small.{u, v} β] [NoMaxOrder β] {f : β → Ordinal.{u}} (hf : StrictMono f) :
theorem Ordinal.cof_iSup {γ : Type u} [LinearOrder γ] [NoMaxOrder γ] {f : γ → Ordinal.{u}} (hf : StrictMono f) :
theorem Ordinal.cof_iSup_Iio_add_one {a : Ordinal.{u_1}} {f : ↑(Set.Iio a) → Ordinal.{u_1}} (hf : StrictMono f) :
theorem Ordinal.cof_iSup_Iio {a : Ordinal.{u_1}} {f : ↑(Set.Iio a) → Ordinal.{u_1}} (hf : StrictMono f) (ha : Order.IsSuccPrelimit a) :
theorem Ordinal.cof_map_of_isNormal {f : Ordinal.{u_1} → Ordinal.{u_1}} (hf : Order.IsNormal f) {a : Ordinal.{u_1}} (ha : Order.IsSuccLimit a) :
theorem Ordinal.le_cof_map_of_isNormal {f : Ordinal.{u_1} → Ordinal.{u_1}} (hf : Order.IsNormal f) (a : Ordinal.{u_1}) :
theorem Ordinal.sSup_add_one_lt_of_lt_cof {s : Set Ordinal.{u}} {a : Ordinal.{u}} (ha : Cardinal.mk ↑s < (lift.{u + 1, u} a).cof) (hs : ∀ i ∈ s, i < a) :
theorem Ordinal.sSup_lt_of_lt_cof {s : Set Ordinal.{u}} {a : Ordinal.{u}} (ha : Cardinal.mk ↑s < (lift.{u + 1, u} a).cof) (hs : ∀ i ∈ s, i < a) :
theorem Ordinal.lift_iSup_add_one_lt_of_lt_cof {β : Type v} {f : β → Ordinal.{u}} {a : Ordinal.{u}} (ha : Cardinal.lift.{u, v} (Cardinal.mk β) < (lift.{v, u} a).cof) (hf : ∀ (i : β), f i < a) :
theorem Ordinal.iSup_add_one_lt_of_lt_cof {α : Type u} {f : α → Ordinal.{u}} {a : Ordinal.{u}} (ha : Cardinal.mk α < a.cof) (hf : ∀ (i : α), f i < a) :
theorem Ordinal.lift_iSup_lt_of_lt_cof {β : Type v} {f : β → Ordinal.{u}} {a : Ordinal.{u}} (ha : Cardinal.lift.{u, v} (Cardinal.mk β) < (lift.{v, u} a).cof) (hf : ∀ (i : β), f i < a) :
theorem Ordinal.iSup_lt_of_lt_cof {α : Type u} {f : α → Ordinal.{u}} {a : Ordinal.{u}} (ha : Cardinal.mk α < a.cof) (hf : ∀ (i : α), f i < a) :
theorem Cardinal.sSup_lt_of_lt_cof_ord {s : Set Cardinal.{u}} {a : Cardinal.{u}} (ha : mk ↑s < (lift.{u + 1, u} a).ord.cof) (hs : ∀ i ∈ s, i < a) :
theorem Cardinal.lift_iSup_lt_of_lt_cof_ord {β : Type v} {f : β → Cardinal.{u}} {a : Cardinal.{u}} (ha : lift.{u, v} (mk β) < (lift.{v, u} a).ord.cof) (hf : ∀ (i : β), f i < a) :
theorem Cardinal.iSup_lt_of_lt_cof_ord {α : Type u} {f : α → Cardinal.{u}} {a : Cardinal.{u}} (ha : mk α < a.ord.cof) (hf : ∀ (i : α), f i < a) :
theorem Ordinal.nfpFamily_lt_ord_lift {ι : Type u} {f : ι → Ordinal.{max u v} → Ordinal.{max u v}} {c : Ordinal.{max u v}} (hc : Cardinal.aleph0 < c.cof) (hc' : Cardinal.lift.{v, u} (Cardinal.mk ι) < c.cof) (hf : ∀ (i : ι), ∀ b < c, f i b < c) {a : Ordinal.{max u v}} (ha : a < c) :
theorem Ordinal.nfpFamily_lt_ord {ι : Type u} {f : ι → Ordinal.{u} → Ordinal.{u}} {c : Ordinal.{u}} (hc : Cardinal.aleph0 < c.cof) (hc' : Cardinal.mk ι < c.cof) (hf : ∀ (i : ι), ∀ b < c, f i b < c) {a : Ordinal.{u}} :
theorem Ordinal.nfp_lt_ord {f : Ordinal.{u_1} → Ordinal.{u_1}} {c : Ordinal.{u_1}} (hc : Cardinal.aleph0 < c.cof) (hf : ∀ i < c, f i < c) {a : Ordinal.{u_1}} :
Cofinality arithmetic #
@[simp]
@[simp]
@[simp]
@[simp]
Results on sets #
theorem Cardinal.mk_bounded_subset {α : Type u_1} (h : (mk α).IsStrongPrelimit) {r : α → α → Prop} [IsWellOrder α r] (hr : (mk α).ord = Ordinal.type r) :