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)
: