Skip to content
The Lumenary
Research pathwaysResearch (graduate set theory) 140 min

Large cardinals

Infinities so large that the universe below them is a model of ZFC — inaccessible and measurable cardinals, elementary embeddings j:V→Mj : V \to M, and the ladder of consistency strength.

Formally verified · 18 LeanComputationally tested · 2 PythonAI-drafted · awaiting human reviewMathematically reviewed: Awaiting human review
MotivationH

Climbing past ZFC

Gödel's second incompleteness theorem says that ZFC, if consistent, cannot prove its own consistency (see incompleteness). So there are true arithmetical statements — Con(ZFC)\mathrm{Con}(\mathsf{ZFC}) among them, if ZFC is consistent — that ZFC cannot reach. How can we strengthen ZFC in a principled way? One natural answer is to assert that the universe of sets is large: that there is a cardinal κ\kappa so far beyond the cardinals below it that the sets of rank below κ\kappa form a universe of their own, a model of all of ZFC. Such a κ\kappa is an inaccessible cardinal, and the axiom "an inaccessible cardinal exists" proves Con(ZFC)\mathrm{Con}(\mathsf{ZFC}).

A second road starts in analysis. In 1930 Stanisław Ulam, following a question of Stefan Banach, asked whether some set carries a countably additive measure defined on all of its subsets, vanishing on points. His analysis produced the measurable cardinals — cardinals κ\kappa carrying a two-valued measure on all their subsets that is κ\kappa-additive: a union of fewer than κ\kappa null sets is null. Thirty years later Dana Scott showed that a measurable cardinal is incompatible with Gödel's constructible universe LL, and Jerome Keisler showed that measurability is equivalent to the existence of an elementary embedding of the universe into part of itself.

These axioms — and the much stronger ones that followed — are not about large numbers for their own sake. They form a hierarchy that calibrates the consistency strength of mathematical theories, and they settle questions about sets of real numbers that ZFC leaves open. This lesson builds on axiomatic set theory (the hierarchy VαV_\alpha, cofinality, LL) and forcing (relative consistency).

IntuitionH

Universes inside the universe

The cumulative hierarchy V0=∅V_0 = \varnothing, Vα+1=P(Vα)V_{\alpha+1} = \mathcal P(V_\alpha), Vλ=⋃α<λVαV_\lambda = \bigcup_{\alpha < \lambda} V_\alpha builds every set in stages. Look at the first infinite stage. VωV_\omega, the set of hereditarily finite sets, is closed under every operation of finite set theory — pairs, unions, power sets, images under functions — because ω\omega cannot be reached from below by them: finite unions of finite sets are finite, and power sets of finite sets are finite. VωV_\omega satisfies every axiom of ZFC except Infinity.

An inaccessible cardinal is an uncountable κ\kappa with the same two properties: a union of fewer than κ\kappa sets each of size less than κ\kappa has size less than κ\kappa (regularity), and the power set of a set of size less than κ\kappa has size less than κ\kappa (strong limit). Then VκV_\kappa is closed under all the operations of ZFC, and contains ω\omega too: a universe inside the universe.

V_ωV_κ ⊨ ZFCωκOrdV
The cumulative hierarchy $V$, with ordinals (Ord) running up the middle. The stage $V_\omega$ of hereditarily finite sets satisfies ZFC without Infinity; if $\kappa$ is inaccessible, the stage $V_\kappa$ satisfies all of ZFC.

A measurable cardinal carries a notion of "almost all subsets of κ\kappa" that is extraordinarily robust: every subset of κ\kappa either contains almost all of κ\kappa or misses almost all of it, and the intersection of fewer than κ\kappa "large" sets is still large. Using it one can take an ultrapower of the whole universe and obtain an elementary embedding j:V→Mj : V \to M — a map that preserves every statement of set theory — which moves κ\kappa and nothing below it. The universe looks like a proper part of itself. Stronger large cardinals demand that MM be closer and closer to VV; the limit, M=VM = V, is inconsistent with the axiom of choice (Kunen, 1971).

DefinitionsH

Definitions

Cardinals are initial ordinals, and cf⁡(κ)\operatorname{cf}(\kappa) is the least order type of a cofinal subset of κ\kappa.

Definition— regular, singular, strong limit

An infinite cardinal κ\kappa is regular if cf⁡(κ)=κ\operatorname{cf}(\kappa) = \kappa, equivalently if κ\kappa is not a union of fewer than κ\kappa sets each of size less than κ\kappa; otherwise it is singular. It is a strong limit if 2λ<κ2^\lambda < \kappa for every cardinal λ<κ\lambda < \kappa.

Definition— inaccessible cardinal

κ\kappa is (strongly) inaccessible if it is uncountable, regular, and a strong limit. It is weakly inaccessible if it is uncountable, regular, and a limit cardinal (λ+<κ\lambda^+ < \kappa for all λ<κ\lambda < \kappa). Under GCH the two notions coincide.

Definition— κ-complete ultrafilter, measurable cardinal

An ultrafilter UU on a set XX is κ\kappa-complete if ⋂S∈U\bigcap \mathcal S \in U whenever S⊆U\mathcal S \subseteq U and ∣S∣<κ|\mathcal S| < \kappa, and non-principal if it contains no singleton. An uncountable cardinal κ\kappa is measurable if there is a κ\kappa-complete non-principal ultrafilter on κ\kappa. (The word "uncountable" matters: every ultrafilter is ℵ0\aleph_0-complete, since it is closed under finite intersections, and non-principal ultrafilters on ω\omega exist by the ultrafilter lemma.)

Definition— elementary embedding, critical point

For classes M,NM, N, a map j:M→Nj : M \to N is an elementary embedding if M⊨φ(a1,…,an)  ⟺  N⊨φ(j(a1),…,j(an))M \models \varphi(a_1, \dots, a_n) \iff N \models \varphi(j(a_1), \dots, j(a_n)) for every formula φ\varphi and all ai∈Ma_i \in M. If jj is not the identity on ordinals, its critical point crit⁡(j)\operatorname{crit}(j) is the least ordinal α\alpha with j(α)≠αj(\alpha) \ne \alpha (then j(α)>αj(\alpha) > \alpha).

Definition— consistency strength

A theory TT has at least the consistency strength of SS if Con(T)→Con(S)\mathrm{Con}(T) \to \mathrm{Con}(S) is provable in a weak base theory (for instance Peano arithmetic, or ZFC); they are equiconsistent if each has at least the strength of the other, and TT is strictly stronger if moreover Con(S)→Con(T)\mathrm{Con}(S) \to \mathrm{Con}(T) is not provable.

Worked examplesH

Examples and non-examples

Example— Small cardinals that fail

  • ω\omega is regular and a strong limit, but countable. It is the finite model of inaccessibility: Vω⊨ZFC−Infinity+¬InfinityV_\omega \models \mathsf{ZFC} - \text{Infinity} + \neg\text{Infinity}.
  • ℵ1\aleph_1 is regular (a countable union of countable sets is countable, using choice) but not a limit cardinal.
  • ℵω=sup⁡nℵn\aleph_\omega = \sup_n \aleph_n is a limit cardinal but singular: cf⁡(ℵω)=ω\operatorname{cf}(\aleph_\omega) = \omega. Likewise ℶω=sup⁡nℶn\beth_\omega = \sup_n \beth_n is a singular strong limit.
  • Even the least cardinal κ\kappa with κ=ℵκ\kappa = \aleph_\kappa — the limit of ω,ℵω,ℵℵω,…\omega, \aleph_\omega, \aleph_{\aleph_\omega}, \dots — is singular, of cofinality ω\omega. Being "very big" is not the point; an inaccessible satisfies κ=ℵκ=ℶκ\kappa = \aleph_\kappa = \beth_\kappa and is regular, and ZFC cannot prove that such a cardinal exists.

Example— Ultrafilters

For a∈Xa \in X, the principal ultrafilter {A⊆X:a∈A}\{A \subseteq X : a \in A\} is κ\kappa-complete for every κ\kappa. On a finite set every ultrafilter is principal. On ω\omega, a non-principal ultrafilter contains every cofinite set, hence each {n}c\{n\}^c; the intersection of these countably many sets is empty, so it is not countably complete. More generally (Lemma 4 below), a κ\kappa-complete non-principal ultrafilter contains only sets of size at least κ\kappa — so it can live only on a set of size at least κ\kappa.

Example— Universes in Lean

In Lean's type theory, Type u is a type in Type (u+1), and Mathlib proves that its cardinality, Cardinal.univ.{u, u+1}, is inaccessible from the point of view of Type (u+1). So Lean's foundations prove the existence of inaccessible cardinals — which ZFC cannot do (Theorem 3). This is no paradox: Lean's type theory, with its hierarchy of universes, is a stronger theory than ZFC.

ProofH

Inaccessible cardinals: a model of ZFC, and why ZFC cannot find one

Theorem— Lemma 1

If κ\kappa is inaccessible then ∣Vα∣<κ|V_\alpha| < \kappa for every α<κ\alpha < \kappa, and ∣Vκ∣=κ|V_\kappa| = \kappa.

Proof

By induction on α<κ\alpha < \kappa. ∣V0∣=0|V_0| = 0. If ∣Vα∣<κ|V_\alpha| < \kappa then ∣Vα+1∣=2∣Vα∣<κ|V_{\alpha+1}| = 2^{|V_\alpha|} < \kappa because κ\kappa is a strong limit. If λ<κ\lambda < \kappa is a limit and ∣Vα∣<κ|V_\alpha| < \kappa for all α<λ\alpha < \lambda, then VλV_\lambda is a union of ∣λ∣<κ|\lambda| < \kappa sets each of size less than κ\kappa, so ∣Vλ∣<κ|V_\lambda| < \kappa by regularity. Finally Vκ=⋃α<κVαV_\kappa = \bigcup_{\alpha < \kappa} V_\alpha has size at most κ⋅κ=κ\kappa \cdot \kappa = \kappa, and at least κ\kappa since it contains every ordinal α<κ\alpha < \kappa.

∎

Theorem— Theorem 2 (Zermelo 1930)

If κ\kappa is inaccessible, then (Vκ,∈)⊨ZFC(V_\kappa, \in) \models \mathsf{ZFC}.

Proof

VκV_\kappa is transitive, so Δ0\Delta_0 formulas are absolute between VκV_\kappa and VV; and if x∈Vκx \in V_\kappa, every subset of xx is in VκV_\kappa (if x∈Vα+1x \in V_{\alpha+1} then x⊆Vαx \subseteq V_\alpha, so each y⊆xy \subseteq x is in Vα+1V_{\alpha+1}). We check the axioms.

Extensionality and Foundation hold in every transitive class. Pairing, Union, Power Set: if x,y∈Vαx, y \in V_\alpha with α<κ\alpha < \kappa, then {x,y}∈Vα+1\{x, y\} \in V_{\alpha+1}, ⋃x∈Vα\bigcup x \in V_\alpha, and P(x)∈Vα+1\mathcal P(x) \in V_{\alpha+1}; these lie in VκV_\kappa because κ\kappa is a limit ordinal, and by the remark above VκV_\kappa computes P(x)\mathcal P(x) correctly. Infinity: ω∈Vω+1⊆Vκ\omega \in V_{\omega+1} \subseteq V_\kappa as κ>ω\kappa > \omega. Separation: for any formula φ\varphi and parameters in VκV_\kappa, {y∈x:Vκ⊨φ(y)}\{y \in x : V_\kappa \models \varphi(y)\} is a subset of x∈Vκx \in V_\kappa, so it is in VκV_\kappa. Choice: a well-ordering RR of x∈Vαx \in V_\alpha exists in VV and is a subset of x×x∈Vα+3x \times x \in V_{\alpha+3}; being a well-ordering is absolute for VκV_\kappa because every subset of xx is in VκV_\kappa.

Replacement is where regularity enters. Suppose Vκ⊨V_\kappa \models "FF is a function with domain xx", where FF is defined over VκV_\kappa by a formula with parameters. Then F[x]={F(y):y∈x}⊆VκF[x] = \{F(y) : y \in x\} \subseteq V_\kappa, and ∣x∣<κ|x| < \kappa by Lemma 1. The ranks rank⁡(F(y))+1\operatorname{rank}(F(y)) + 1, y∈xy \in x, are fewer than κ\kappa ordinals below κ\kappa, so by regularity their supremum β\beta is below κ\kappa, and F[x]⊆VβF[x] \subseteq V_\beta gives F[x]∈Vβ+1⊆VκF[x] \in V_{\beta+1} \subseteq V_\kappa.

∎

Both hypotheses are needed. For the singular strong limit ℶω\beth_\omega (viewed as an ordinal), the map n↦ℶnn \mapsto \beth_n is definable in VℶωV_{\beth_\omega}, which computes power sets and cardinalities correctly, but its range is cofinal in ℶω\beth_\omega, so it is not an element: Replacement fails. And if κ\kappa is regular but not a strong limit, then some P(λ)\mathcal P(\lambda) with λ<κ\lambda < \kappa has size at least κ\kappa; a well-ordering of P(λ)\mathcal P(\lambda) of length at least κ\kappa lies in VκV_\kappa, and Replacement, which would collapse it onto an ordinal of VκV_\kappa, fails again.

Theorem— Theorem 3

If ZFC is consistent, then ZFC does not prove that an inaccessible cardinal exists. Moreover, if ZFC + "there is an inaccessible cardinal" is consistent, then ZFC does not even prove Con(ZFC)→Con(ZFC+there is an inaccessible)\mathrm{Con}(\mathsf{ZFC}) \to \mathrm{Con}(\mathsf{ZFC} + \text{there is an inaccessible}).

Proof

Write IC for "there is an inaccessible cardinal". Theorem 2 is a theorem of ZFC, about the formalised satisfaction relation for set-sized structures: ZFC⊢\mathsf{ZFC} \vdash "if κ\kappa is inaccessible then Vκ⊨ZFCV_\kappa \models \mathsf{ZFC}". And ZFC proves that a theory with a set model is consistent. Hence ZFC+IC⊢Con(ZFC)\mathsf{ZFC} + \mathrm{IC} \vdash \mathrm{Con}(\mathsf{ZFC}).

If ZFC⊢IC\mathsf{ZFC} \vdash \mathrm{IC}, then ZFC⊢Con(ZFC)\mathsf{ZFC} \vdash \mathrm{Con}(\mathsf{ZFC}), and by Gödel's second incompleteness theorem ZFC is inconsistent. If ZFC⊢Con(ZFC)→Con(ZFC+IC)\mathsf{ZFC} \vdash \mathrm{Con}(\mathsf{ZFC}) \to \mathrm{Con}(\mathsf{ZFC} + \mathrm{IC}), then ZFC+IC⊢Con(ZFC+IC)\mathsf{ZFC} + \mathrm{IC} \vdash \mathrm{Con}(\mathsf{ZFC} + \mathrm{IC}), and by the second incompleteness theorem, now for the theory ZFC+IC\mathsf{ZFC} + \mathrm{IC}, that theory is inconsistent.

∎

A second, more set-theoretic argument: if κ\kappa is the least inaccessible, then Vκ⊨ZFC+¬ICV_\kappa \models \mathsf{ZFC} + \neg\mathrm{IC}, because for λ<κ\lambda < \kappa, "λ\lambda is inaccessible" is absolute between VκV_\kappa and VV (all subsets of λ\lambda and all functions from smaller ordinals into λ\lambda lie in VκV_\kappa). So ZFC + IC proves that ZFC + ¬\negIC has a model; and IC cannot be a theorem of ZFC, for then VκV_\kappa, a model of ZFC, would satisfy both IC and ¬\negIC. Theorem 3 also says that ZFC + IC is strictly stronger than ZFC in consistency strength (if it is consistent at all). Its consistency cannot be established by any proof that ZFC can formalise; belief in it rests on other evidence — the coherence of the theory that has grown from it, the absence of contradictions after a century of intense study, and the way it fits with everything else we know.

ProofH

Measurable cardinals, ultrapowers and embeddings

Theorem— Lemma 4

Let UU be a κ\kappa-complete non-principal ultrafilter on a set XX. Then every A∈UA \in U has ∣A∣≥κ|A| \ge \kappa. In particular, a κ\kappa-complete ultrafilter on a set of size less than κ\kappa is principal.

Proof

Suppose A∈UA \in U and ∣A∣<κ|A| < \kappa. For each a∈Aa \in A, {a}∉U\{a\} \notin U, so X∖{a}∈UX \setminus \{a\} \in U. These fewer than κ\kappa sets have intersection X∖AX \setminus A, which is therefore in UU; but then ∅=A∩(X∖A)∈U\varnothing = A \cap (X \setminus A) \in U, which is impossible.

∎

Theorem— Theorem 5 (Ulam 1930)

Every measurable cardinal is inaccessible.

Proof

Let UU be a κ\kappa-complete non-principal ultrafilter on κ\kappa; by definition κ\kappa is uncountable.

Strong limit. Suppose λ<κ≤2λ\lambda < \kappa \le 2^\lambda. Then there is an injection gg from κ\kappa into P(λ)\mathcal P(\lambda). For each i<λi < \lambda, exactly one of {α:i∈g(α)}\{\alpha : i \in g(\alpha)\} and its complement is in UU; call it YiY_i. The intersection Y=⋂i<λYiY = \bigcap_{i < \lambda} Y_i of these λ<κ\lambda < \kappa sets is in UU. If α,β∈Y\alpha, \beta \in Y then for every ii, i∈g(α)  ⟺  i∈g(β)i \in g(\alpha) \iff i \in g(\beta), so g(α)=g(β)g(\alpha) = g(\beta) and α=β\alpha = \beta. Thus ∣Y∣≤1<κ|Y| \le 1 < \kappa, contradicting Lemma 4.

Regular. If cf⁡(κ)<κ\operatorname{cf}(\kappa) < \kappa, there is a cofinal set C⊆κC \subseteq \kappa with ∣C∣<κ|C| < \kappa, so κ=⋃γ∈C[0,γ]\kappa = \bigcup_{\gamma \in C} [0, \gamma], a union of fewer than κ\kappa sets each of size less than κ\kappa. By Lemma 4 none of these sets is in UU, so all their complements are; by κ\kappa-completeness so is the intersection of the complements, which is empty. Contradiction.

∎

Both proofs are formalised in Lean below. To go further we need the ultrapower of the universe.

Ultrapowers. Let UU be a countably complete ultrafilter on κ\kappa. For functions f,gf, g with domain κ\kappa (classes of them, cut down to sets by Scott's trick of taking only the elements of least rank) put f=Ugf =_U g iff {α:f(α)=g(α)}∈U\{\alpha : f(\alpha) = g(\alpha)\} \in U and f∈Ugf \in_U g iff {α:f(α)∈g(α)}∈U\{\alpha : f(\alpha) \in g(\alpha)\} \in U. Łoś's theorem says that the resulting structure Ult(V,U)\mathrm{Ult}(V, U) satisfies φ([f1],…,[fn])\varphi([f_1], \dots, [f_n]) if and only if {α:φ(f1(α),…,fn(α))}∈U\{\alpha : \varphi(f_1(\alpha), \dots, f_n(\alpha))\} \in U. Countable completeness makes ∈U\in_U well-founded (a descending sequence [fn+1]∈U[fn][f_{n+1}] \in_U [f_n] would give a single α\alpha in countably many UU-sets with fn+1(α)∈fn(α)f_{n+1}(\alpha) \in f_n(\alpha) for all nn), so Ult(V,U)\mathrm{Ult}(V, U) collapses to a transitive class MM, and jU(x)=[constant function x]j_U(x) = [\text{constant function } x] is an elementary embedding jU:V→Mj_U : V \to M, by Łoś's theorem. If UU is κ\kappa-complete and non-principal, then jU(α)=αj_U(\alpha) = \alpha for α<κ\alpha < \kappa and jU(κ)>κj_U(\kappa) > \kappa.

Theorem— Theorem 6 (Keisler, Scott)

κ\kappa is measurable if and only if there is an elementary embedding j:V→Mj : V \to M, with MM a transitive class, whose critical point is κ\kappa.

Proof

(⇒\Rightarrow) is the ultrapower construction just described. (⇐\Leftarrow) Given jj, let U={X⊆κ:κ∈j(X)}U = \{X \subseteq \kappa : \kappa \in j(X)\}. Since j(κ)>κj(\kappa) > \kappa, κ∈j(κ)\kappa \in j(\kappa), so κ∈U\kappa \in U; and for X⊆κX \subseteq \kappa, j(X)∪j(κ∖X)=j(κ)j(X) \cup j(\kappa \setminus X) = j(\kappa), so exactly one of XX, κ∖X\kappa \setminus X is in UU. Intersections: if γ<κ\gamma < \kappa and ⟨Xξ:ξ<γ⟩\langle X_\xi : \xi < \gamma \rangle is a sequence of members of UU, then by elementarity j(⟨Xξ:ξ<γ⟩)j(\langle X_\xi : \xi < \gamma \rangle) is a sequence of length j(γ)=γj(\gamma) = \gamma whose ξ\xi-th term is j(Xξ)j(X_\xi) (as j(ξ)=ξj(\xi) = \xi), so j(⋂ξXξ)=⋂ξj(Xξ)∋κj(\bigcap_\xi X_\xi) = \bigcap_\xi j(X_\xi) \ni \kappa. Upward closure is similar, so UU is a κ\kappa-complete ultrafilter. Finally, for α<κ\alpha < \kappa, j({α})={j(α)}={α}∌κj(\{\alpha\}) = \{j(\alpha)\} = \{\alpha\} \not\ni \kappa, so UU is non-principal.

∎

The two directions fit together. Given jj with critical point κ\kappa and the derived ultrafilter UU, the map k([f]U)=j(f)(κ)k([f]_U) = j(f)(\kappa) is a well-defined elementary embedding of the ultrapower into MM, and k∘jU=jk \circ j_U = j: every embedding with critical point κ\kappa factors through the ultrapower by its own derived measure.

VV
MM
MU=Ult(V,U)M_U = \mathrm{Ult}(V, U)
jj
jUj_U
kk
An embedding jj with critical point κ\kappa, its derived measure U={X⊆κ:κ∈j(X)}U = \{X \subseteq \kappa : \kappa \in j(X)\}, and the factor map k([f]U)=j(f)(κ)k([f]_U) = j(f)(\kappa): the triangle commutes, k∘jU=jk \circ j_U = j.

Theorem— Theorem 7 (Scott 1961)

If there is a measurable cardinal, then V≠LV \ne L.

Proof

Suppose V=LV = L and let κ\kappa be the least measurable cardinal. Take j:V→Mj : V \to M with critical point κ\kappa. Since j(α)≥αj(\alpha) \ge \alpha for every ordinal, MM contains all ordinals; it is a transitive class model of ZF, and LL is the smallest such, so L⊆M⊆V=LL \subseteq M \subseteq V = L and M=VM = V. By elementarity, M⊨M \models "j(κ)j(\kappa) is the least measurable cardinal", that is, VV believes it; so j(κ)=κj(\kappa) = \kappa, contradicting j(κ)>κj(\kappa) > \kappa.

∎

The same ultrapower shows that a measurable cardinal κ\kappa is a limit of inaccessible cardinals: MM contains every subset of κ\kappa and every function from a smaller ordinal into κ\kappa, so M⊨M \models "κ\kappa is inaccessible"; if UU is chosen normal, κ=[id]U\kappa = [\mathrm{id}]_U, and Łoś's theorem gives {α<κ:α is inaccessible}∈U\{\alpha < \kappa : \alpha \text{ is inaccessible}\} \in U — a set of size κ\kappa by Lemma 4. In particular, the least measurable is much larger than the least inaccessible, as Tarski, Keisler and Hanf showed in the early 1960s.

ExplanationH

The hierarchy, and what it decides

Large cardinal axioms are naturally ordered by consistency strength. Some landmarks, in increasing order of consistency strength:

AxiomDefinition, informallySome consequences
inaccessibleuncountable regular strong limitVκ⊨ZFCV_\kappa \models \mathsf{ZFC}; Grothendieck universes
Mahlothe inaccessibles below κ\kappa form a stationary setreflection of inaccessibility
weakly compactκ→(κ)22\kappa \to (\kappa)^2_2: every 2-colouring of pairs has a homogeneous set of size κ\kappacompactness for infinitary languages LκκL_{\kappa\kappa}
measurableκ\kappa-complete non-principal ultrafilter; j:V→Mj : V \to M with critical point κ\kappaV≠LV \ne L (Scott); analytic games determined (Martin 1970)
strong, Woodinembeddings with Vλ⊆MV_\lambda \subseteq M, for many λ\lambdainfinitely many Woodin cardinals give projective determinacy (Martin and Steel 1989)
supercompactfor every λ\lambda, an embedding with MM closed under λ\lambda-sequencesconsistency of the proper forcing axiom (Baumgartner)
huge, rank-into-rankj:Vλ→Vλj : V_\lambda \to V_\lambda (axiom I3) and beyondLaver's free left-distributive algebras

Beyond the top lies inconsistency: Kunen (1971) proved that, with the axiom of choice, there is no non-trivial elementary embedding j:V→Vj : V \to V.

What is known. Large cardinals settle the theory of definable sets of reals level by level: a measurable cardinal implies that analytic games are determined (Martin, 1970) and that every Σ21\boldsymbol\Sigma^1_2 set is Lebesgue measurable (Solovay); infinitely many Woodin cardinals imply projective determinacy and with it the regularity of all projective sets (Martin–Steel; see descriptive set theory). Many natural statements turn out equiconsistent with a large cardinal: "every set of reals is Lebesgue measurable" (with dependent choice instead of choice) with an inaccessible (Solovay 1970; Shelah 1984); "there is a real-valued measurable cardinal" with a measurable (Solovay 1971); the axiom of determinacy with infinitely many Woodin cardinals (Woodin). On the other hand, large cardinals do not decide the continuum hypothesis: Lévy and Solovay (1967) showed that forcing with a poset smaller than κ\kappa preserves the measurability of κ\kappa (and similarly for the other large cardinals), and CH can be forced either way by such small posets.

An empirical phenomenon, not a theorem. Every natural theory studied so far has turned out to be comparable in consistency strength with the large cardinal hierarchy, and the hierarchy has turned out to be linearly ordered. There is no proof that this must happen — artificial incomparable theories can be built from self-referential sentences — and many set theorists regard the phenomenon as evidence that large cardinals measure something real.

What is open. Whether there are canonical inner models — analogues of LL — for supercompact cardinals is the subject of Woodin's "Ultimate LL" programme and is open. Whether a Reinhardt cardinal (a non-trivial j:V→Vj : V \to V) is consistent with ZF without choice is open. Whether the purely finite statement about Laver tables in the computation section can be proved without large cardinals is open. And for every large cardinal axiom, its consistency — relative to ZFC or anything weaker — is, by Gödel's theorem, beyond proof; it is a matter of evidence and judgement.

Formal mathematicsF

Inaccessible and measurable cardinals in Lean

Mathlib defines inaccessible cardinals, the von Neumann hierarchy ZFSet.vonNeumann inside its model ZFSet of ZFC, and the rank of a set. Its definition of inaccessibility agrees with ours:

inaccessible_iffLean 4Applies a library theoremFormally verified
/-- Mathlib's definition of a (strongly) inaccessible cardinal agrees with the lesson's: `κ` is
uncountable, regular, and a strong limit (`2^λ < κ` for all `λ < κ`). This is Mathlib's
`Cardinal.isInaccessible_def`. -/
theorem inaccessible_iff {κ : Cardinal.{u}} :
    IsInaccessible κ ↔ ℵ₀ < κ ∧ Cardinal.IsRegular κ ∧ IsStrongLimit κ :=
  isInaccessible_def
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor

VκV_\kappa. Lemma 1 is in Mathlib in the form ∣Vα∣=ℶα′|V_\alpha| = \beth'_\alpha ("pre-beth") together with ℶκ′=κ\beth'_\kappa = \kappa for inaccessible κ\kappa; from it, every member of VκV_\kappa is small:

card_vonNeumannLean 4Applies a library theoremFormally verified
/-- If `κ` is inaccessible then `|V_κ| = κ`. Mathlib computes `|V_α| = ℶ'_α` (`card_vonNeumann`,
with the "pre-beth" function `preBeth`) and proves `preBeth κ = κ` for inaccessible `κ`
(`IsInaccessible.preBeth_ord`), by the induction in the lesson: strong limit at successor steps,
regularity at limit steps. -/
theorem card_vonNeumann {κ : Cardinal.{u}} (hκ : IsInaccessible κ) :
    (ZFSet.vonNeumann κ.ord).card = κ := by
  rw [ZFSet.card_vonNeumann, hκ.preBeth_ord]
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor
card_lt_of_memLean 4Proved here from basic factsFormally verified
/-- Every member of `V_κ`, for `κ` inaccessible, has fewer than `κ` elements: a set `x` of rank
`α < κ` is a subset of `V_α`, and `|V_α| = ℶ'_α < ℶ'_κ = κ`. -/
theorem card_lt_of_mem {κ : Cardinal.{u}} (hκ : IsInaccessible κ) {x : ZFSet.{u}}
    (hx : x ∈ ZFSet.vonNeumann κ.ord) : x.card < κ := by
  have hr : x.rank < κ.ord := ZFSet.mem_vonNeumann.1 hx
  calc x.card ≤ (ZFSet.vonNeumann x.rank).card := ZFSet.card_mono (ZFSet.subset_vonNeumann_self x)
    _ = preBeth x.rank := ZFSet.card_vonNeumann _
    _ < preBeth κ.ord := preBeth_strictMono hr
    _ = κ := hκ.preBeth_ord
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor

The closure properties used in the proof of Theorem 2 — pairing, union and power set (true at every limit stage), replacement (needs regularity) and infinity (needs κ>ℵ0\kappa > \aleph_0):

pair_memLean 4Proved here from basic factsFormally verified
/-- **Pairing** holds in `V_κ` for every infinite `κ`: `rank {x, y} = max (rank x + 1) (rank y + 1)`,
and the successor of an ordinal below the limit ordinal `κ` is still below it. -/
theorem pair_mem {κ : Cardinal.{u}} (hκ : ℵ₀ ≤ κ) {x y : ZFSet.{u}}
    (hx : x ∈ ZFSet.vonNeumann κ.ord) (hy : y ∈ ZFSet.vonNeumann κ.ord) :
    ({x, y} : ZFSet) ∈ ZFSet.vonNeumann κ.ord := by
  rw [ZFSet.mem_vonNeumann] at *
  rw [ZFSet.rank_pair]
  have hlim := isSuccLimit_ord hκ
  exact max_lt (hlim.succ_lt hx) (hlim.succ_lt hy)
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor
sUnion_memLean 4Proved here from basic factsFormally verified
/-- **Union** holds in `V_κ`: `rank (⋃₀ x) ≤ rank x`. -/
theorem sUnion_mem {κ : Cardinal.{u}} {x : ZFSet.{u}} (hx : x ∈ ZFSet.vonNeumann κ.ord) :
    ZFSet.sUnion x ∈ ZFSet.vonNeumann κ.ord := by
  rw [ZFSet.mem_vonNeumann] at *
  exact (ZFSet.rank_sUnion_le x).trans_lt hx
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor
powerset_memLean 4Proved here from basic factsFormally verified
/-- **Power set** holds in `V_κ` for every infinite `κ`: `rank (𝒫 x) = rank x + 1 < κ`. (That
`𝒫 x` is the *true* power set, so that `V_κ` and `V` agree about it, is transitivity of `V_κ`
together with `V_{α+1} = 𝒫 V_α`.) -/
theorem powerset_mem {κ : Cardinal.{u}} (hκ : ℵ₀ ≤ κ) {x : ZFSet.{u}}
    (hx : x ∈ ZFSet.vonNeumann κ.ord) : ZFSet.powerset x ∈ ZFSet.vonNeumann κ.ord := by
  rw [ZFSet.mem_vonNeumann] at *
  rw [ZFSet.rank_powerset]
  exact (isSuccLimit_ord hκ).succ_lt hx
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor
range_memLean 4Proved here from basic factsFormally verified
/-- **Replacement** for `V_κ`, `κ` regular: if fewer than `κ` sets `f i` all lie in `V_κ`, so does
the set `{f i : i ∈ ι}`. Its rank is `sup (rank (f i) + 1)`, and a supremum of fewer than
`cf κ = κ` ordinals below `κ` stays below `κ`. This is exactly where regularity is needed: for
`κ = ℵ_ω`, which is singular, the ranks `ω_n` of the sets `ω_n ∈ V_{ω_ω}` are cofinal in `ω_ω`. -/
theorem range_mem {κ : Cardinal.{u}} (hκ : Cardinal.IsRegular κ) {ι : Type u} (hι : #ι < κ)
    (f : ι → ZFSet.{u}) (hf : ∀ i, f i ∈ ZFSet.vonNeumann κ.ord) :
    ZFSet.range f ∈ ZFSet.vonNeumann κ.ord := by
  rw [ZFSet.mem_vonNeumann, ZFSet.rank_range]
  simp_rw [Order.succ_eq_add_one]
  apply Ordinal.iSup_add_one_lt_of_lt_cof
  · rwa [hκ.cof_ord]
  · exact fun i => ZFSet.mem_vonNeumann.1 (hf i)
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor
omega_memLean 4Proved here from basic factsFormally verified
/-- **Infinity** holds in `V_κ` for uncountable `κ`: the von Neumann ordinal `ω` has rank `ω`,
which is below `κ` (viewed as an ordinal) because `κ > ℵ₀`. -/
theorem omega_mem {κ : Cardinal.{u}} (hκ : ℵ₀ < κ) :
    (Ordinal.omega0.{u}).toZFSet ∈ ZFSet.vonNeumann κ.ord := by
  rw [ZFSet.mem_vonNeumann, Ordinal.rank_toZFSet, Cardinal.lt_ord, Ordinal.card_omega0]
  exact hκ
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor

And Lean's own universes:

univ_inaccessibleLean 4Applies a library theoremFormally verified
/-- Lean's universes are inaccessible: the cardinality of `Type u`, as a cardinal of the next
universe, is inaccessible (Mathlib's `Cardinal.IsInaccessible.univ`). So Lean's type theory
proves the existence of inaccessible cardinals, which ZFC cannot (if it is consistent) — Lean's
foundations are strictly stronger than ZFC. -/
theorem univ_inaccessible : IsInaccessible Cardinal.univ.{u, u + 1} :=
  IsInaccessible.univ
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor

Measurable cardinals. Mathlib has ultrafilters but no measurable cardinals, so we define them:

IsCompleteLean 4Formally verified
/-- An ultrafilter `U` on `α` is **κ-complete** if the intersection of any family of fewer than
`κ` members of `U` is again in `U`. Every ultrafilter is `ℵ₀`-complete (finite intersections). -/
def IsComplete (κ : Cardinal.{u}) {α : Type u} (U : Ultrafilter α) : Prop :=
  ∀ S : Set (Set α), #S < κ → (∀ s ∈ S, s ∈ U) → ⋂₀ S ∈ U
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor
IsNonprincipalLean 4Formally verified
/-- An ultrafilter is **non-principal** if it contains no singleton (equivalently, it is not the
ultrafilter `{s : a ∈ s}` of all sets containing a fixed point `a`). -/
def IsNonprincipal {α : Type u} (U : Ultrafilter α) : Prop :=
  ∀ a : α, ({a} : Set α) ∉ U
Axioms used: propext, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor
IsMeasurableLean 4Formally verified
/-- `κ` is **measurable** if it is uncountable and there is a κ-complete non-principal
ultrafilter on (the well-ordered set of ordinals below) `κ`. Without "uncountable", `ℵ₀` would
qualify, since every non-principal ultrafilter on `ℕ` is `ℵ₀`-complete. -/
def IsMeasurable (κ : Cardinal.{u}) : Prop :=
  ℵ₀ < κ ∧ ∃ U : Ultrafilter κ.ord.ToType, IsComplete κ U ∧ IsNonprincipal U
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor

Lemma 4, its corollaries, and Theorem 5 in full — each proof follows the human one:

le_card_of_memLean 4Proved here from basic factsFormally verified
/-- In a κ-complete non-principal ultrafilter every set has at least `κ` elements. If `s ∈ U`
had fewer, the fewer than `κ` sets `{a}ᶜ` (`a ∈ s`) would all be in `U`, so their intersection,
and its intersection with `s`, would be in `U` — but that set is empty. -/
theorem le_card_of_mem {κ : Cardinal.{u}} {α : Type u} {U : Ultrafilter α} (hc : IsComplete κ U)
    (hn : IsNonprincipal U) {s : Set α} (hs : s ∈ U) : κ ≤ #s := by
  by_contra! hlt
  let S : Set (Set α) := (fun a => ({a}ᶜ : Set α)) '' s
  have hI : ⋂₀ S ∈ U := by
    refine hc S (mk_image_le.trans_lt hlt) ?_
    rintro _ ⟨a, -, rfl⟩
    exact Ultrafilter.compl_mem_iff_notMem.2 (hn a)
  have hempty : s ∩ ⋂₀ S = ∅ := by
    ext b
    simp only [S, mem_inter_iff, mem_sInter, mem_image, forall_exists_index, and_imp,
      mem_empty_iff_false, iff_false, not_and]
    intro hb h
    exact h _ b hb rfl rfl
  have h := Filter.inter_mem hs hI
  rw [hempty] at h
  exact Ultrafilter.empty_notMem h
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor
principal_of_card_ltLean 4Proved here from basic factsFormally verified
/-- A κ-complete ultrafilter on a set with fewer than `κ` elements is principal. In particular
the ultrafilter witnessing measurability must live on a set of size at least `κ`. -/
theorem principal_of_card_lt {κ : Cardinal.{u}} {α : Type u} {U : Ultrafilter α}
    (hc : IsComplete κ U) (hα : #α < κ) : ∃ a : α, ({a} : Set α) ∈ U := by
  by_contra! h
  have := le_card_of_mem hc h (Filter.univ_mem : (univ : Set α) ∈ U)
  rw [mk_univ] at this
  exact this.not_gt hα
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor
nat_countably_complete_principalLean 4Proved here from basic factsFormally verified
/-- `ℵ₀` is not measurable in any reasonable sense: a countably complete ultrafilter on `ℕ`
(Mathlib's `CountableInterFilter`) is principal, because the countably many sets `{n}ᶜ` would
otherwise all be in it, and their intersection is empty. -/
theorem nat_countably_complete_principal (U : Ultrafilter ℕ) [CountableInterFilter (U : Filter ℕ)] :
    ∃ n : ℕ, ({n} : Set ℕ) ∈ U := by
  by_contra! h
  have hI : (⋂ n : ℕ, ({n}ᶜ : Set ℕ)) ∈ (U : Filter ℕ) :=
    countable_iInter_mem.2 fun n => Ultrafilter.compl_mem_iff_notMem.2 (h n)
  have hempty : (⋂ n : ℕ, ({n}ᶜ : Set ℕ)) = ∅ := by
    ext m
    simp only [mem_iInter, mem_compl_iff, mem_singleton_iff, mem_empty_iff_false, iff_false,
      not_forall, not_not]
    exact ⟨m, rfl⟩
  rw [hempty] at hI
  exact Ultrafilter.empty_notMem hI
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor
two_power_ltLean 4Proved here from basic factsFormally verified
/-- **A measurable cardinal is a strong limit.** If `μ < κ` but `κ ≤ 2^μ`, embed `κ` into the
subsets of a set `I` of size `μ`, `a ↦ g a`. For each `i ∈ I` the ultrafilter contains either
`{a : i ∈ g a}` or its complement; intersecting these fewer than `κ` choices gives a set in `U`
on which `g` is constant — at most one point, contradicting `le_card_of_mem`. -/
theorem two_power_lt {κ : Cardinal.{u}} (hκ : IsMeasurable κ) {μ : Cardinal.{u}} (hμ : μ < κ) :
    2 ^ μ < κ := by
  classical
  obtain ⟨hω, U, hc, hn⟩ := hκ
  by_contra! hle
  -- An embedding of the ordinals below `κ` into the subsets of `I`, where `|I| = μ`.
  set I := μ.out
  have hI : #I = μ := mk_out μ
  have hle' : #κ.ord.ToType ≤ #(Set I) := by
    rw [mk_toType, card_ord, mk_set, hI]
    exact hle
  obtain ⟨g⟩ := (le_def _ _).1 hle'
  -- For each `i`, the member of `U` deciding whether `i ∈ g a`.
  let Y : I → Set κ.ord.ToType := fun i =>
    if {a | i ∈ g a} ∈ U then {a | i ∈ g a} else {a | i ∈ g a}ᶜ
  have hY : ∀ i, Y i ∈ U := by
    intro i
    by_cases h : {a | i ∈ g a} ∈ U
    · rw [show Y i = {a | i ∈ g a} from ite_eq_left h]; exact h
    · rw [show Y i = {a | i ∈ g a}ᶜ from ite_eq_right h]
      exact Ultrafilter.compl_mem_iff_notMem.2 h
  have hInter : ⋂₀ range Y ∈ U :=
    hc (range Y) (mk_range_le.trans_lt (hI ▸ hμ)) (by rintro _ ⟨i, rfl⟩; exact hY i)
  -- On that intersection, `g` takes a single value, so it has at most one point.
  have hsub : (⋂₀ range Y).Subsingleton := by
    intro a ha b hb
    apply g.injective
    ext i
    have ha' := mem_sInter.1 ha (Y i) ⟨i, rfl⟩
    have hb' := mem_sInter.1 hb (Y i) ⟨i, rfl⟩
    by_cases h : {a | i ∈ g a} ∈ U
    · rw [show Y i = {a | i ∈ g a} from ite_eq_left h] at ha' hb'
      exact iff_of_true ha' hb'
    · rw [show Y i = {a | i ∈ g a}ᶜ from ite_eq_right h] at ha' hb'
      exact iff_of_false ha' hb'
  have h1 : #(⋂₀ range Y) ≤ 1 := mk_le_one_iff_set_subsingleton.2 hsub
  have h2 := le_card_of_mem hc hn hInter
  exact absurd (h2.trans h1) (not_le.2 (one_lt_aleph0.trans hω))
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor
is_regularLean 4Proved here from basic factsFormally verified
/-- **A measurable cardinal is regular.** If `cf κ < κ`, the ordinals below `κ` are covered by
fewer than `κ` initial segments `Iic s`, each with fewer than `κ` elements. None of them is in
`U` (`le_card_of_mem`), so all their complements are, and by κ-completeness so is the
intersection of the complements — which is empty. -/
theorem is_regular {κ : Cardinal.{u}} (hκ : IsMeasurable κ) : Cardinal.IsRegular κ := by
  obtain ⟨hω, U, hc, hn⟩ := hκ
  refine ⟨hω.le, ?_⟩
  by_contra! hlt
  obtain ⟨S, hS, hcard⟩ := Order.exists_cof_eq κ.ord.ToType
  rw [Ordinal.cof_toType] at hcard
  -- Initial segments of `κ` are small.
  have hsmall : ∀ s : κ.ord.ToType, #(Iic s) < κ := by
    intro s
    have hIio : #(Iio s) < κ := by
      have := mk_Iio_lt s (by rw [mk_toType, card_ord, Ordinal.type_toType])
      rwa [mk_toType, card_ord] at this
    rw [← Iio_insert]
    exact mk_insert_le.trans_lt (add_lt_of_lt hω.le hIio (one_lt_aleph0.trans hω))
  let F : Set (Set κ.ord.ToType) := (fun s => (Iic s)ᶜ) '' S
  have hI : ⋂₀ F ∈ U := by
    refine hc F (mk_image_le.trans_lt (hcard ▸ hlt)) ?_
    rintro _ ⟨s, -, rfl⟩
    exact Ultrafilter.compl_mem_iff_notMem.2 fun h => (le_card_of_mem hc hn h).not_gt (hsmall s)
  have hempty : ⋂₀ F = ∅ := by
    ext a
    simp only [F, mem_sInter, mem_image, forall_exists_index, and_imp, mem_empty_iff_false,
      iff_false, not_forall]
    obtain ⟨s, hs, has⟩ := hS a
    exact ⟨_, s, hs, rfl, fun h => h has⟩
  rw [hempty] at hI
  exact Ultrafilter.empty_notMem hI
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor
measurable_inaccessibleLean 4Proved here from basic factsFormally verified
/-- **Every measurable cardinal is (strongly) inaccessible** (Ulam, 1930): it is uncountable by
definition, regular by `is_regular` and a strong limit by `two_power_lt`. -/
theorem measurable_inaccessible {κ : Cardinal.{u}} (hκ : IsMeasurable κ) : IsInaccessible κ :=
  inaccessible_iff.2 ⟨hκ.1, is_regular hκ, ⟨(aleph0_pos.trans hκ.1).ne', fun _ hμ => two_power_lt hκ hμ⟩⟩
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LargeCardinals.leanTry it in the Lean web editor

What is and is not formalised. Formalised: the definitions, Lemma 4 and Theorem 5 (every measurable cardinal is inaccessible), and the closure properties of VκV_\kappa that drive Theorem 2. Not formalised: Theorem 2 itself (Mathlib has no satisfaction relation for formulas of set theory inside ZFSet, so "Vκ⊨ZFCV_\kappa \models \mathsf{ZFC}" cannot yet be stated), Theorem 3 (it needs formalised provability and Gödel's second incompleteness theorem for ZFC), ultrapowers, Łoś's theorem, elementary embeddings and Scott's theorem. Note the quiet subtlety in univ_inaccessible: Lean proves that an inaccessible exists, which tells us about the strength of Lean's type theory (roughly ZFC with an inaccessible for each universe level), not about ZFC.

ComputationC

Computing in the shadow of large cardinals

The first experiment explores the finite analogue of Theorem 2. In Ackermann's coding of hereditarily finite sets by natural numbers, it computes ranks and the sizes ∣Vk∣|V_k|, and checks that each finite stage VkV_k fails to be closed under pairing and power set while VωV_\omega is closed — the mechanism that, one level up, makes VκV_\kappa a model of ZFC.

Hereditarily finite sets: V_omega in Ackermann's codingPythonExact computationExhaustive finite checkComputationally tested
"""V_omega, the finite shadow of an inaccessible cardinal.

An inaccessible cardinal kappa makes V_kappa a model of ZFC because kappa is
regular and a strong limit. The countable cardinal omega has both properties
too: a finite union of finite sets is finite, and the power set of a finite
set is finite. Correspondingly V_omega, the set of hereditarily finite sets,
satisfies every axiom of ZFC except Infinity.

Ackermann (1937) coded hereditarily finite sets by natural numbers: m is an
element of n exactly when bit m of n is 1. So n = 0 is the empty set, 1 is
{0}, 2 is {1} = {{0}}, 3 is {0, 1}, and so on. We use the coding to compute
ranks, check that V_k consists exactly of the codes below |V_k|, check that
pairing, union and power set never leave V_omega but do leave each V_k, and
compute how fast |V_k| grows.

Runs unchanged in the browser (Pyodide) using only the standard library.
"""

from functools import lru_cache
from itertools import combinations
import math
import textwrap

def members(n):
    """The codes of the elements of the set coded by n."""
    return [m for m in range(n.bit_length()) if n >> m & 1]

@lru_cache(maxsize=None)
def rank(n):
    """Von Neumann rank: 0 for the empty set, else 1 + max rank of members."""
    return 1 + max(rank(m) for m in members(n)) if n else 0

def pair(a, b):
    """The code of {a, b}."""
    return (1 << a) | (1 << b)

def union(n):
    """The code of the union of the members of n."""
    result = 0
    for m in members(n):
        result |= m
    return result

def power_set(n):
    """The code of the set of all subsets of n."""
    elems, result = members(n), 0
    for k in range(len(elems) + 1):
        for subset in combinations(elems, k):
            result |= 1 << sum(1 << e for e in subset)
    return result

def size_of_v(k):
    """|V_k|: |V_0| = 0 and |V_(k+1)| = 2^|V_k|."""
    size = 0
    for _ in range(k):
        size = 2 ** size
    return size

def decimal_digits_of_power_of_two(e):
    """Number of decimal digits of 2^e, without converting to a string."""
    digits = math.floor(e * math.log10(2)) + 1
    value = 1 << e
    while 10 ** digits <= value:
        digits += 1
    while digits > 1 and 10 ** (digits - 1) > value:
        digits -= 1
    return digits

def show(n):
    """Write the set coded by n with braces, e.g. 3 -> {{}, {{}}}."""
    return "{" + ", ".join(show(m) for m in members(n)) + "}"

def main():
    print("Ackermann codes:  " + ";  ".join(f"{n} = {show(n)}" for n in range(4)))
    print("V_k is exactly the set of codes below |V_k|:")
    for k in range(6):
        size = size_of_v(k)
        exact = all(rank(n) < k for n in range(size)) and rank(size) >= k
        print(f"   |V_{k}| = {size:>5}: {exact}")
    digits = decimal_digits_of_power_of_two(65536)
    print(f"   |V_6| = 2^65536 has {digits} decimal digits")
    print()
    v4 = range(16)
    print("Closure inside V_4 (codes 0..15), the first finite stage tested:")
    print(f"   pairs stay in V_4:      {all(pair(a, b) < 16 for a in v4 for b in v4)}")
    print(f"   unions stay in V_4:     {all(union(n) < 16 for n in v4)}")
    print(f"   power sets stay in V_4: {all(power_set(n) < 16 for n in v4)}")
    top = max(v4, key=rank)
    print(f"   e.g. {{{top}}} = {{{top}, {top}}} has code {pair(top, top)} and rank "
          f"{rank(pair(top, top))}: it lies in V_5, not V_4")
    print("In V_omega every pair, union and power set of a code is again a")
    print(f"finite code; e.g. 15 codes V_3, and its power set V_4 has code "
          f"{power_set(15)}.")
    print()
    print(textwrap.fill(
        "Epistemic status: exact computations with finitely many finite sets. "
        "They show the mechanism - each stage V_k fails to be closed, but their "
        "union V_omega is closed, because omega is regular and a strong limit - "
        "and so illustrate by analogy why V_kappa satisfies ZFC when kappa is "
        "inaccessible. That theorem is proved in the lesson; nothing about "
        "uncountable cardinals is computed here.",
        width=78,
    ))

if __name__ == "__main__":
    main()
Runs entirely in your browser, in an isolated worker. Nothing is sent to a server.

The second shows a large cardinal axiom reaching down to finite combinatorics. Laver tables AnA_n are the unique left-distributive operations on {1,…,2n}\{1, \dots, 2^n\} with p⋆1=p+1(mod2n)p \star 1 = p + 1 \pmod{2^n}. Laver found them while studying the algebra of rank-into-rank embeddings j:Vλ→Vλj : V_\lambda \to V_\lambda, and proved from that axiom (I3) that the period of the first row of AnA_n tends to infinity.

Laver tables and the period of their first rowPythonExact computationExhaustive finite checkComputationally tested
"""Laver tables: finite algebras that large cardinals know about.

For n >= 0 let N = 2^n. The Laver table A_n is the unique operation * on
{1, ..., N} with p * 1 = p + 1 (mod N, so N * 1 = 1) that is left
self-distributive: p * (q * r) = (p * q) * (p * r). Richard Laver discovered
these tables in the study of elementary embeddings j : V_lambda -> V_lambda
(the rank-into-rank axiom I3). Each row is periodic, and Laver proved, assuming
I3, that the period of the first row tends to infinity as n grows. No proof
of this purely finite statement without large cardinals is known.

We build A_n for n <= 9 with the recursion p * (q + 1) = (p * q) * (p + 1),
filling rows from p = N downwards, check left self-distributivity
exhaustively for small n, and print the period of the first row.

Runs unchanged in the browser (Pyodide) using only the standard library.
"""

import textwrap

def laver_table(n):
    """The table of A_n as a dict of rows: rows[p][q - 1] = p * q."""
    size = 2 ** n
    rows = {size: list(range(1, size + 1))}
    for p in range(size - 1, 0, -1):
        row = [p + 1]
        for _ in range(size - 1):
            row.append(rows[row[-1]][p])  # (p * q) * (p + 1)
        rows[p] = row
    return rows

def star(rows, p, q):
    """p * q in the table."""
    return rows[p][q - 1]

def is_left_distributive(rows):
    """Check p * (q * r) = (p * q) * (p * r) for all p, q, r."""
    size = len(rows)
    return all(
        star(rows, p, star(rows, q, r)) == star(rows, star(rows, p, q),
                                                star(rows, p, r))
        for p in range(1, size + 1)
        for q in range(1, size + 1)
        for r in range(1, size + 1)
    )

def period(row):
    """The least period of a list that repeats exactly."""
    for d in range(1, len(row) + 1):
        if len(row) % d == 0 and row == row[:d] * (len(row) // d):
            return d
    return len(row)

def main():
    print("  n   size   left-distributive   period of row 1   row 1 (start)")
    periods = []
    for n in range(10):
        rows = laver_table(n)
        check = str(is_left_distributive(rows)) if n <= 5 else "(not run)"
        per = period(rows[1])
        periods.append(per)
        start = " ".join(map(str, rows[1][:per][:6]))
        print(f"{n:>3}   {2 ** n:>4}   {check:>17}   {per:>15}   {start}")
    print()
    print(f"Periods of row 1 for n = 0..9: {periods}")
    a3 = laver_table(2)
    print("The table A_2 (rows p = 1..4, columns q = 1..4):")
    for p in range(1, 5):
        print("   " + " ".join(str(v) for v in a3[p]))
    print()
    print(textwrap.fill(
        "Epistemic status: exact computation of finitely many finite tables, "
        "with distributivity checked exhaustively for n <= 5. It cannot show "
        "that the period of row 1 tends to infinity. Laver proved that from "
        "the rank-into-rank axiom I3; Dougherty showed that the period first "
        "reaches 32 only for astronomically large n; whether ZFC alone proves "
        "that the period is unbounded is not known.",
        width=78,
    ))

if __name__ == "__main__":
    main()
Runs entirely in your browser, in an isolated worker. Nothing is sent to a server.

The periods grow absurdly slowly: Dougherty showed that the first nn with period 3232, if it exists, is astronomically large — bounded below by an iterated value of the Ackermann function. Whether ZFC alone proves that the periods are unbounded is not known. This is a theorem conditional on a large cardinal axiom about finite objects — exactly the kind of statement that makes the consistency strength of such axioms a concern for all of mathematics.

Explore

Explore: building V_ω

Build hereditarily finite sets by putting boxes inside boxes. Every set you can make lies in some finite stage VnV_n: the empty box has rank 00, and a box has rank one more than the largest rank inside it. Notice that you can always make a new box from boxes you have (pairing, union, power set never leave VωV_\omega), but you can never make a box containing all the natural numbers — that would be ω\omega, of rank ω\omega, outside VωV_\omega. One level up, allow yourself also to gather any family of boxes indexed by a box you already hold. An uncountable κ\kappa is inaccessible exactly when this richer game never escapes VκV_\kappa — and now ω\omega itself is inside. (Such a VκV_\kappa is a Grothendieck universe.)

Boxes inside boxes

Start with one empty box. Build new collections by putting boxes into boxes.

Select one box to wrap, or several to put together.

Exercises

Exercises

1. Large cardinals

Warm-upHuman

Which of these cardinals are regular? (Choose all that apply; assume ZFC.)

Choose all that apply

2. Large cardinals

Warm-upHuman

The cumulative hierarchy starts V0=∅V_0 = \varnothing, Vn+1=P(Vn)V_{n+1} = \mathcal P(V_n). How many elements does V4V_4 have?

3. Large cardinals

CoreHuman

Why is ω\omega not measurable, even though non-principal ultrafilters on ω\omega exist? (Consider countable completeness.)

Choose one

4. Large cardinals

CoreHuman

In the proof that Vκ⊨ZFCV_\kappa \models \mathsf{ZFC} for inaccessible κ\kappa, which axiom's verification uses the regularity of κ\kappa in an essential way?

Choose one

5. Large cardinals

CoreHuman

Suppose ZFC proved "there is an inaccessible cardinal". What would follow?

Choose one

6. Large cardinals

CoreHuman

Write IC for "there is an inaccessible cardinal". Which statements are correct? (Choose all that apply; assume ZFC + IC is consistent.)

Choose all that apply

7. Large cardinals

CoreFormal

Which Lean predicate correctly expresses that an ultrafilter U : Ultrafilter α is κ-complete?

Choose one

8. Large cardinals

StretchHuman

In the proof that a measurable κ\kappa is a strong limit, we take an injection g:κ→P(λ)g : \kappa \to \mathcal P(\lambda) with λ<κ\lambda < \kappa and sets Yi∈UY_i \in U deciding whether i∈g(α)i \in g(\alpha). Why does Y=⋂i<λYiY = \bigcap_{i < \lambda} Y_i have at most one element?

Choose one

9. Large cardinals

StretchHuman

In Scott's proof that a measurable cardinal implies V≠LV \ne L, we assume V=LV = L and take j:V→Mj : V \to M with critical point κ\kappa, the least measurable. Why is M=VM = V?

Choose one

10. Large cardinals

StretchComputational

Write laver_table(n) returning a dict rows with rows[p][q - 1] = p * q in the Laver table AnA_n on {1,…,2n}\{1, \dots, 2^n\}: row 2n2^n is 1,2,…,2n1, 2, \dots, 2^n, and for p<2np < 2^n fill the rows from p=2n−1p = 2^n - 1 down to 11 using p∗1=p+1p * 1 = p + 1 and p∗(q+1)=(p∗q)∗(p+1)p * (q + 1) = (p * q) * (p + 1). Then write period(row) returning the least period of a list.

Runs entirely in your browser, in an isolated worker. Nothing is sent to a server.
Common misconceptionsH

Common misconceptions

Misconception

"Large cardinals are just very big numbers." Size alone is not the point: ℵω1\aleph_{\omega_1}, ℶω\beth_\omega and the least κ=ℵκ\kappa = \aleph_\kappa are enormous, provably exist in ZFC, and are not large cardinals at all. What makes a cardinal "large" is a reflection or closure property that ZFC cannot prove to be instantiated — and the significance lies in the consistency strength such axioms carry and their consequences, for instance for sets of reals.

Misconception

"Large cardinal axioms are known to be consistent." Their consistency cannot be proved in ZFC (if ZFC is consistent), nor even reduced to the consistency of ZFC; by Gödel's theorem the same holds at every level of the hierarchy. Belief in them rests on mathematical evidence and judgement: the depth and coherence of their theory, their agreement with each other, the absence of contradictions, and their success in settling questions.

Misconception

"Measurable cardinals are about Lebesgue measure." Measurability of κ\kappa is about a two-valued measure — an ultrafilter — on all subsets of κ\kappa. The historical link to Lebesgue measure is real (Ulam's work on measures defined on all subsets, and real-valued measurable cardinals), but a measurable cardinal is a combinatorial object.

Misconception

"Kunen's theorem shows that large cardinals are inconsistent." Kunen ruled out a non-trivial j:V→Vj : V \to V under the axiom of choice. Embeddings j:V→Mj : V \to M with M≠VM \ne V, such as those from measurable cardinals, are not affected; the theorem marks the ceiling of the hierarchy, not a crack in it.

Misconception

"Large cardinals will settle the continuum hypothesis." Gödel hoped so in 1947, but Lévy and Solovay (1967) showed that small forcing preserves large cardinals while changing the value of 2ℵ02^{\aleph_0}; so no large cardinal axiom of the usual kind decides CH.

ViewpointsH

Many ways of seeing

Logic— A ruler for theories

Gödel's second incompleteness theorem makes the consistency strengths of theories form a strict hierarchy: whenever TT proves Con(S)\mathrm{Con}(S), TT is strictly stronger than SS (if consistent). Large cardinals provide natural, well-understood marks along this hierarchy, and the method for comparing other theories with them is relative consistency: forcing pushes statements down to large cardinals ("if there is a measurable, then φ\varphi is consistent"), and inner model theory pushes large cardinals out of statements ("if φ\varphi is consistent, then so is a measurable"), giving equiconsistencies. Gödel himself suggested in 1947 that new axioms of infinity, justified by the iterative conception of set, might settle independent questions; Penelope Maddy's "Believing the axioms" (1988) analyses the kinds of evidence offered for them. See incompleteness and model theory.

Topology— Ultrafilters as points, and realcompact spaces

The ultrafilters on a set XX are the points of its Stone–Čech compactification βX\beta X (for XX discrete), the principal ones being the points of XX itself; a measurable cardinal is a κ\kappa for which βκ\beta\kappa has a non-principal point that is κ\kappa-complete. A classical theorem of general topology makes this concrete: a discrete space is realcompact — homeomorphic to a closed subspace of a power of R\R — if and only if its cardinality is less than the least measurable cardinal (Gillman and Jerison, 1960, chapter 12; their "measurable" means carrying a countably additive two-valued measure that vanishes on points, and the least such cardinal is measurable in our sense). So whether every discrete space is realcompact is exactly the question whether measurable cardinals exist. Stronger axioms reach deeper into topology: Casacuberta, Scevenels and Smith (2005) showed that Vopěnka's principle, a large cardinal principle far above measurables, implies that every homotopy idempotent functor on spaces is a localisation with respect to a single map. See point-set topology.

Analysis— Banach and Ulam's measure problem

Can Lebesgue measure be extended to a countably additive measure defined on all subsets of [0,1][0, 1]? Vitali's set shows that no translation-invariant extension exists; Banach and Kuratowski (1929) showed that under CH there is no extension at all. Ulam (1930) analysed the general problem: if some set carries a countably additive probability measure on all its subsets vanishing on points, then there is a cardinal κ\kappa carrying such a measure that is κ\kappa-additive, and either κ\kappa is measurable (the measure can be taken two-valued) or κ≤2ℵ0\kappa \le 2^{\aleph_0} and κ\kappa is weakly inaccessible — a "real-valued measurable" cardinal. Solovay (1971) proved that a real-valued measurable cardinal is equiconsistent with a measurable one. So the analyst's question "can every set of reals be measured?" has the answer "consistently yes, but only at the price of a measurable cardinal" (or, in Solovay's model of ZF + DC where every set of reals is Lebesgue measurable, of an inaccessible). See measure theory.

Algebra— Left distributivity and braids

For a rank-into-rank embedding j:Vλ→Vλj : V_\lambda \to V_\lambda, applying jj to (pieces of) another such embedding kk defines j⋅k=⋃α<λj(k∩Vα)j \cdot k = \bigcup_{\alpha < \lambda} j(k \cap V_\alpha), and this operation is left self-distributive: j⋅(k⋅l)=(j⋅k)⋅(j⋅l)j \cdot (k \cdot l) = (j \cdot k) \cdot (j \cdot l). Laver (1992) proved, assuming I3, that the algebra generated by one embedding is free, and deduced that the word problem for the left self-distributive law is decidable. Patrick Dehornoy then found a proof of the decidability without large cardinals, and in the process discovered that the braid groups BnB_n admit a left-invariant linear order (1994) — a fact about braids, and so about knots and the topology of configuration spaces, uncovered by way of large cardinals. The Laver tables of the computation section are finite quotients of such algebras of embeddings. See groups and knot theory.

Category theory— Universes and size

Category theory constantly needs "large" collections — the category of all groups, the functor category SetCop\mathbf{Set}^{\mathcal C^{op}}. Grothendieck's solution, introduced in SGA 4, was a universe: a set closed under the operations of set theory, inside which "small" mathematics happens. The uncountable Grothendieck universes are exactly the sets VκV_\kappa with κ\kappa inaccessible, so Grothendieck's axiom "every set lies in a universe" says that the inaccessible cardinals are unbounded. Lean adopts the same solution in type-theoretic form: Type u : Type (u+1), and Mathlib proves that each universe is inaccessible from the next (univ_inaccessible). Much stronger principles also have categorical forms: Vopěnka's principle is equivalent to the statement that the category of graphs has no large discrete full subcategory, and it controls when subcategories of locally presentable categories are reflective (Adámek and Rosický, 1994). See higher categories.

Wonder Trails

Wonder Trails

History & global context

History and context

  • Beginnings. Felix Hausdorff (1908) considered regular limit cardinals (weakly inaccessible) and remarked that they would be exceedingly large, if they exist; Paul Mahlo (1911) studied the hierarchy above them. In 1930 Wacław Sierpiński and Alfred Tarski, and independently Ernst Zermelo, introduced strongly inaccessible cardinals, and Zermelo described the models VκV_\kappa of set theory they give.
  • The measure problem. Stefan Banach and Kazimierz Kuratowski (1929) and Stanisław Ulam (1930), in Lwów and Warsaw, created the theory of measures defined on all subsets of a set, and with it measurable cardinals.
  • The 1960s. Alfred Tarski, H. Jerome Keisler and William Hanf showed that measurable cardinals are far larger than the first inaccessible; Dana Scott (1961) proved that a measurable cardinal implies V≠LV \ne L; Keisler's ultrapowers turned measurability into elementary embeddings. Haim Gaifman and Jack Silver studied 0♯0^\sharp, and Azriel Lévy and Robert Solovay (1967) showed that large cardinals do not decide CH.
  • Embeddings and determinacy. Kenneth Kunen (1971) showed that j:V→Vj : V \to V is inconsistent with choice; Solovay, William Reinhardt and Akihiro Kanamori (1978) organised the hierarchy of strong axioms of infinity by elementary embeddings. Donald A. Martin (1970, 1975) linked large cardinals with determinacy, and Martin, John Steel and W. Hugh Woodin (1985–89) proved projective determinacy from Woodin cardinals. Inner model theory, from Ronald Jensen's fine structure through the work of William Mitchell, Steel and many others, builds canonical models for ever larger cardinals.
  • Algebra. Richard Laver (1992) and Patrick Dehornoy (1994) connected rank-into-rank embeddings with left-distributive algebras and braid orderings; Randall Dougherty and Thomas Jech analysed the finite Laver tables.
  • Today large cardinal theory is pursued worldwide — in the Americas, Europe, Israel and Asia — and its central questions, about inner models and the status of new axioms, remain open.
Further reading

Further reading

  • Akihiro Kanamori, The Higher Infinite: Large Cardinals in Set Theory from Their Beginnings (1994; 2nd edition 2003) — the standard reference, with careful history.
  • Thomas Jech, Set Theory, Third Millennium Edition (2003), chapters 10 (measurable cardinals), 17 (large cardinals) and 20 (large cardinals and LL).
  • Kenneth Kunen, Set Theory: An Introduction to Independence Proofs (1980) — inaccessibles, VκV_\kappa and relative consistency.
  • Frank R. Drake, Set Theory: An Introduction to Large Cardinals (1974).
  • Leonard Gillman and Meyer Jerison, Rings of Continuous Functions (1960), chapter 12 — measurable cardinals and realcompactness.
  • Patrick Dehornoy, Braids and Self-Distributivity (2000) — Laver tables, free left-distributive algebras and the braid order.
  • Penelope Maddy, "Believing the axioms, I and II", Journal of Symbolic Logic 53 (1988) — on the justification of new axioms.