Documentation

Mathlib.SetTheory.Cardinal.Regular

Regular cardinals #

This file defines regular and inaccessible cardinals.

Main definitions #

TODO #

Regular cardinals #

A cardinal is regular if it is infinite and it equals its own cofinality.

Equations
theorem Cardinal.IsRegular.nat_lt {c : Cardinal.{u_1}} (H : c.IsRegular) (n : ) :
n < c

If c is a regular cardinal, then c.ord.toType has a least element.

@[deprecated Cardinal.isRegular_preAleph_succ (since := "2024-10-22")]
theorem Cardinal.lsub_lt_ord_lift_of_isRegular {ι : Type u} {f : ιOrdinal.{max u v}} {c : Cardinal.{max u v}} (hc : c.IsRegular) ( : lift.{v, u} (mk ι) < c) :
(∀ (i : ι), f i < c.ord)Ordinal.lsub f < c.ord
theorem Cardinal.lsub_lt_ord_of_isRegular {ι : Type (max u_1 u_2)} {f : ιOrdinal.{max u_1 u_2}} {c : Cardinal.{max u_1 u_2}} (hc : c.IsRegular) ( : mk ι < c) :
(∀ (i : ι), f i < c.ord)Ordinal.lsub f < c.ord
theorem Cardinal.iSup_lt_ord_lift_of_isRegular {ι : Type u} {f : ιOrdinal.{max u v}} {c : Cardinal.{max u v}} (hc : c.IsRegular) ( : lift.{v, u} (mk ι) < c) :
(∀ (i : ι), f i < c.ord)iSup f < c.ord
@[deprecated Cardinal.iSup_lt_ord_lift_of_isRegular (since := "2024-08-27")]
theorem Cardinal.sup_lt_ord_lift_of_isRegular {ι : Type u} {f : ιOrdinal.{max u v}} {c : Cardinal.{max u v}} (hc : c.IsRegular) ( : lift.{v, u} (mk ι) < c) :
(∀ (i : ι), f i < c.ord)Ordinal.sup f < c.ord
theorem Cardinal.iSup_lt_ord_of_isRegular {ι : Type u_1} {f : ιOrdinal.{u_1}} {c : Cardinal.{u_1}} (hc : c.IsRegular) ( : mk ι < c) :
(∀ (i : ι), f i < c.ord)iSup f < c.ord
@[deprecated Cardinal.iSup_lt_ord_of_isRegular (since := "2024-08-27")]
theorem Cardinal.sup_lt_ord_of_isRegular {ι : Type (max u_1 u_2)} {f : ιOrdinal.{max u_1 u_2}} {c : Cardinal.{max u_1 u_2}} (hc : c.IsRegular) ( : mk ι < c) :
(∀ (i : ι), f i < c.ord)Ordinal.sup f < c.ord
theorem Cardinal.blsub_lt_ord_lift_of_isRegular {o : Ordinal.{u}} {f : (a : Ordinal.{u}) → a < oOrdinal.{max u v}} {c : Cardinal.{max u v}} (hc : c.IsRegular) (ho : lift.{v, u} o.card < c) :
(∀ (i : Ordinal.{u}) (hi : i < o), f i hi < c.ord)o.blsub f < c.ord
theorem Cardinal.blsub_lt_ord_of_isRegular {o : Ordinal.{max u_1 u_2}} {f : (a : Ordinal.{max u_1 u_2}) → a < oOrdinal.{max u_1 u_2}} {c : Cardinal.{max u_1 u_2}} (hc : c.IsRegular) (ho : o.card < c) :
(∀ (i : Ordinal.{max u_1 u_2}) (hi : i < o), f i hi < c.ord)o.blsub f < c.ord
theorem Cardinal.bsup_lt_ord_lift_of_isRegular {o : Ordinal.{u}} {f : (a : Ordinal.{u}) → a < oOrdinal.{max u v}} {c : Cardinal.{max u v}} (hc : c.IsRegular) ( : lift.{v, u} o.card < c) :
(∀ (i : Ordinal.{u}) (hi : i < o), f i hi < c.ord)o.bsup f < c.ord
theorem Cardinal.bsup_lt_ord_of_isRegular {o : Ordinal.{max u_1 u_2}} {f : (a : Ordinal.{max u_1 u_2}) → a < oOrdinal.{max u_1 u_2}} {c : Cardinal.{max u_1 u_2}} (hc : c.IsRegular) ( : o.card < c) :
(∀ (i : Ordinal.{max u_1 u_2}) (hi : i < o), f i hi < c.ord)o.bsup f < c.ord
theorem Cardinal.iSup_lt_lift_of_isRegular {ι : Type u} {f : ιCardinal.{max u v}} {c : Cardinal.{max u v}} (hc : c.IsRegular) ( : lift.{v, u} (mk ι) < c) :
(∀ (i : ι), f i < c)iSup f < c
theorem Cardinal.iSup_lt_of_isRegular {ι : Type u_1} {f : ιCardinal.{u_1}} {c : Cardinal.{u_1}} (hc : c.IsRegular) ( : mk ι < c) :
(∀ (i : ι), f i < c)iSup f < c
theorem Cardinal.sum_lt_lift_of_isRegular {ι : Type u} {f : ιCardinal.{max u v}} {c : Cardinal.{max u v}} (hc : c.IsRegular) ( : lift.{v, u} (mk ι) < c) (hf : ∀ (i : ι), f i < c) :
sum f < c
theorem Cardinal.sum_lt_of_isRegular {ι : Type u} {f : ιCardinal.{u}} {c : Cardinal.{u}} (hc : c.IsRegular) ( : mk ι < c) :
(∀ (i : ι), f i < c)sum f < c
@[simp]
theorem Cardinal.card_lt_of_card_iUnion_lt {ι α : Type u} {t : ιSet α} {c : Cardinal.{u}} (h : mk (⋃ (i : ι), t i) < c) (i : ι) :
mk (t i) < c
@[simp]
theorem Cardinal.card_iUnion_lt_iff_forall_of_isRegular {ι α : Type u} {t : ιSet α} {c : Cardinal.{u}} (hc : c.IsRegular) ( : mk ι < c) :
mk (⋃ (i : ι), t i) < c ∀ (i : ι), mk (t i) < c
theorem Cardinal.card_lt_of_card_biUnion_lt {α β : Type u} {s : Set α} {t : (a : α) → a sSet β} {c : Cardinal.{u}} (h : mk (⋃ (a : α), ⋃ (h : a s), t a h) < c) (a : α) (ha : a s) :
mk (t a ha) < c
theorem Cardinal.card_biUnion_lt_iff_forall_of_isRegular {α β : Type u} {s : Set α} {t : (a : α) → a sSet β} {c : Cardinal.{u}} (hc : c.IsRegular) (hs : mk s < c) :
mk (⋃ (a : α), ⋃ (h : a s), t a h) < c ∀ (a : α) (ha : a s), mk (t a ha) < c
theorem Cardinal.nfpFamily_lt_ord_lift_of_isRegular {ι : Type u} {f : ιOrdinal.{max u v}Ordinal.{max u v}} {c : Cardinal.{max u v}} (hc : c.IsRegular) ( : lift.{v, u} (mk ι) < c) (hc' : c aleph0) (hf : ∀ (i : ι), b < c.ord, f i b < c.ord) {a : Ordinal.{max u v}} (ha : a < c.ord) :
theorem Cardinal.nfpFamily_lt_ord_of_isRegular {ι : Type u} {f : ιOrdinal.{u}Ordinal.{u}} {c : Cardinal.{u}} (hc : c.IsRegular) ( : mk ι < c) (hc' : c aleph0) {a : Ordinal.{u}} (hf : ∀ (i : ι), b < c.ord, f i b < c.ord) :
a < c.ordOrdinal.nfpFamily f a < c.ord
@[deprecated Cardinal.nfpFamily_lt_ord_lift_of_isRegular (since := "2024-10-14")]
theorem Cardinal.nfpBFamily_lt_ord_lift_of_isRegular {o : Ordinal.{u}} {f : (a : Ordinal.{u}) → a < oOrdinal.{max u v}Ordinal.{max u v}} {c : Cardinal.{max u v}} (hc : c.IsRegular) (ho : lift.{v, u} o.card < c) (hc' : c aleph0) (hf : ∀ (i : Ordinal.{u}) (hi : i < o), b < c.ord, f i hi b < c.ord) {a : Ordinal.{max u v}} :
a < c.ordo.nfpBFamily f a < c.ord
@[deprecated Cardinal.nfpFamily_lt_ord_of_isRegular (since := "2024-10-14")]
theorem Cardinal.nfpBFamily_lt_ord_of_isRegular {o : Ordinal.{u}} {f : (a : Ordinal.{u}) → a < oOrdinal.{u}Ordinal.{u}} {c : Cardinal.{u}} (hc : c.IsRegular) (ho : o.card < c) (hc' : c aleph0) (hf : ∀ (i : Ordinal.{u}) (hi : i < o), b < c.ord, f i hi b < c.ord) {a : Ordinal.{u}} :
a < c.ordo.nfpBFamily f a < c.ord
theorem Cardinal.nfp_lt_ord_of_isRegular {f : Ordinal.{u_1}Ordinal.{u_1}} {c : Cardinal.{u_1}} (hc : c.IsRegular) (hc' : c aleph0) (hf : i < c.ord, f i < c.ord) {a : Ordinal.{u_1}} :
a < c.ordOrdinal.nfp f a < c.ord
theorem Cardinal.derivFamily_lt_ord_lift {ι : Type u} {f : ιOrdinal.{max u v}Ordinal.{max u v}} {c : Cardinal.{max u v}} (hc : c.IsRegular) ( : lift.{v, u} (mk ι) < c) (hc' : c aleph0) (hf : ∀ (i : ι), b < c.ord, f i b < c.ord) {a : Ordinal.{max u v}} :
a < c.ordOrdinal.derivFamily f a < c.ord
theorem Cardinal.derivFamily_lt_ord {ι : Type u} {f : ιOrdinal.{u}Ordinal.{u}} {c : Cardinal.{u}} (hc : c.IsRegular) ( : mk ι < c) (hc' : c aleph0) (hf : ∀ (i : ι), b < c.ord, f i b < c.ord) {a : Ordinal.{u}} :
a < c.ordOrdinal.derivFamily f a < c.ord
@[deprecated Cardinal.derivFamily_lt_ord_lift (since := "2024-10-14")]
theorem Cardinal.derivBFamily_lt_ord_lift {o : Ordinal.{u}} {f : (a : Ordinal.{u}) → a < oOrdinal.{max u v}Ordinal.{max u v}} {c : Cardinal.{max u v}} (hc : c.IsRegular) ( : lift.{v, u} o.card < c) (hc' : c aleph0) (hf : ∀ (i : Ordinal.{u}) (hi : i < o), b < c.ord, f i hi b < c.ord) {a : Ordinal.{max u v}} :
a < c.ordo.derivBFamily f a < c.ord
@[deprecated Cardinal.derivFamily_lt_ord (since := "2024-10-14")]
theorem Cardinal.derivBFamily_lt_ord {o : Ordinal.{u}} {f : (a : Ordinal.{u}) → a < oOrdinal.{u}Ordinal.{u}} {c : Cardinal.{u}} (hc : c.IsRegular) ( : o.card < c) (hc' : c aleph0) (hf : ∀ (i : Ordinal.{u}) (hi : i < o), b < c.ord, f i hi b < c.ord) {a : Ordinal.{u}} :
a < c.ordo.derivBFamily f a < c.ord
theorem Cardinal.deriv_lt_ord {f : Ordinal.{u}Ordinal.{u}} {c : Cardinal.{u}} (hc : c.IsRegular) (hc' : c aleph0) (hf : i < c.ord, f i < c.ord) {a : Ordinal.{u}} :
a < c.ordOrdinal.deriv f a < c.ord

Inaccessible cardinals #

A cardinal is inaccessible if it is an uncountable regular strong limit cardinal.

Equations
theorem Cardinal.IsInaccessible.mk {c : Cardinal.{u_1}} (h₁ : aleph0 < c) (h₂ : c c.ord.cof) (h₃ : x < c, 2 ^ x < c) :
theorem Ordinal.iSup_sequence_lt_omega1 {α : Type u} [Countable α] (o : αOrdinal.{max u v}) (ho : ∀ (n : α), o n < (Cardinal.aleph 1).ord) :