MathLabs

数学基础

序数与基数

把计数与大小比较从有限推广到超限领域的数。

直观数到无穷之外

我们通常这样计数:"第1个、第2个、第3个、……"。如果数完了所有自然数,下一个位置就称为 ω\omega("欧米伽"),即第一个超穷序数。序数 α\alpha, β\beta, … 正是这种广义的位置标号:0,1,2,…,ω,ω+1,ω+2,…0,1,2,\dots,\omega,\omega+1,\omega+2,\dots。而基数回答的是另一个问题——不是"第几个",而是"有多少个"——最小的无穷基数 ℵ0\aleph_0("阿列夫零")正是自然数集合本身的大小。

有向图展示0,1,2,3,...通向omega,然后omega+1、omega+2作为后续顶点。
最初的序数 0,1,2,…,ω,ω+1,…0,1,2,\dots,\omega,\omega+1,\dots 表示为有向序图;每个顶点就是所有比它小的顶点组成的集合。

大学良序集与冯·诺依曼序数

定义: 良序集

线性有序集 (W,<)(W,<) 称为良序集,如果每个非空子集 S⊆WS \subseteq W 都有最小元。有限集与 (N,<)(\mathbb N,<) 是良序的;(Z,<)(\mathbb Z,<) 与 (R,<)(\mathbb R,<) 不是(例如 Z\mathbb Z 本身就没有最小元)。

α={β:β<α}\alpha = \{\beta : \beta < \alpha\}

约翰·冯·诺依曼的技巧:把每个序数直接定义为所有比它小的序数组成的集合。于是 0=∅0=\emptyset,1={0}1=\{0\},2={0,1}2=\{0,1\},一般地后继为 n+1=n∪{n}n+1=n\cup\{n\}。在所有有限序数之后是第一个极限序数 ω={0,1,2,… }\omega=\{0,1,2,\dots\}——自然数全体的集合,现在被看作一个序数。

n+1=n∪{n},ω={0,1,2,… }n+1 = n \cup \{n\}, \qquad \omega = \{0,1,2,\dots\}
序数算术与基数算术的比较
运算基数算术(大小)序数算术(顺序)
加法可交换吗?是:ℵ0+1=1+ℵ0=ℵ0\aleph_0+1=1+\aleph_0=\aleph_0否:ω+1≠1+ω\omega+1 \neq 1+\omega
乘法可交换吗?是:ℵ0⋅2=2⋅ℵ0\aleph_0 \cdot 2 = 2 \cdot \aleph_0否:ω⋅2≠2⋅ω\omega \cdot 2 \neq 2 \cdot \omega
度量的是什么双射类("有多少个")序同构类("什么形状")

设 CC 是一类序数,使得对每个序数 α\alpha:若对所有 β<α\beta<\alpha 都有 β∈C\beta \in C,则 α∈C\alpha \in C。那么 CC 包含所有序数。

为什么成立?

这使我们只需处理"假设对所有更小的都成立"这一种情形,就能证明命题对每个序数——有限、ω\omega、乃至更远——都成立,原理本身的表述无需单独区分基础情形与极限情形。

证明

反证:假设 CC 不包含所有序数。那么不属于 CC 的序数组成的类 DD 非空。序数本身构成良序(任何非空的序数类都有最小元——这正是序数的定义性质),所以 DD 有最小元,记为 α\alpha。

由 α\alpha 的最小性,所有 β<α\beta<\alpha 都不属于 DD,即所有 β<α\beta<\alpha 满足 β∈C\beta \in C。

但这正是定理假设应用于 α\alpha 的情形:"对所有 β<α\beta<\alpha 都有 β∈C\beta \in C"蕴含 α∈C\alpha \in C。于是 α∈C\alpha \in C。

这与 α∈D\alpha \in D(即 α∉C\alpha \notin C)矛盾。此矛盾说明不存在这样的最小反例 α\alpha,故 D=∅D=\emptyset:CC 包含所有序数。■\blacksquare

进阶基数、哈托格斯定理与柯尼希定理

基数是不与任何更小序数建立双射的序数(它的"大小"未曾在更早处达到)。无穷基数记作 ℵ0<ℵ1<ℵ2<⋯\aleph_0 < \aleph_1 < \aleph_2 < \cdots,本身用序数来编号:ℵα\aleph_\alpha。哈托格斯定理保证这些基数总是存在,且无需选择公理:对任意集合 XX,存在一个不能嵌入 XX 的最小序数——记为 ℵ(X)\aleph(X)——因为能嵌入 XX 的序数所构成的类,否则将对应于 XX 的子集上"太多"个不同的良序方式,超出 X×XX\times X 的所有子集所能容纳的数量。因此每个集合都有一个真正大于它的良序基数,特别地 ℵ1=ℵ(ℵ0)\aleph_1=\aleph(\aleph_0) 是最小的不可数基数。

ℵ0<ℵ1<ℵ2<⋯<ℵα<⋯\aleph_0 < \aleph_1 < \aleph_2 < \cdots < \aleph_\alpha < \cdots

cf⁡(2ℵ0)>ℵ0\operatorname{cf}(2^{\aleph_0}) > \aleph_0 ——连续统 2ℵ02^{\aleph_0} 不能写成可数多个真正更小集合的并。等价地,2ℵ0≠ℵω2^{\aleph_0} \neq \aleph_\omega,更一般地 2ℵ02^{\aleph_0} 永远不是可数共尾数的基数。

为什么成立?

尽管仅凭 ZFC 无法确定 2ℵ02^{\aleph_0} 的确切值(科恩的独立性结果),这个定理却是关于它为数不多能够无条件证明的事实之一:无论它等于什么,都不能沿一列真正更小的基数组成的 ω\omega 序列从下方逼近它。

证明

我们先证明一般的柯尼希不等式:若对指标集 II 中每个 ii 都有 κi<λi\kappa_i < \lambda_i,则 ∑i∈Iκi<∏i∈Iλi\sum_{i\in I}\kappa_i < \prod_{i\in I}\lambda_i。固定集合 BiB_i 满足 ∣Bi∣=λi|B_i|=\lambda_i,子集 Ai⊊BiA_i \subsetneq B_i 满足 ∣Ai∣=κi|A_i|=\kappa_i。不等式 ∑iκi≤∏iλi\sum_i \kappa_i \le \prod_i \lambda_i 是常规的(把每个 a∈Aia\in A_i 送到第 ii 坐标为 aa、其余坐标取固定默认值的元组),因此关键在于证明它们不相等。

反证:设存在满射 h:⨆i∈IAi→∏i∈IBih : \bigsqcup_{i\in I} A_i \to \prod_{i\in I} B_i。对每个 ii,令 hi:Ai→Bih_i:A_i\to B_i,a↦h(a)(i)a \mapsto h(a)(i)(即 h(a)h(a) 的第 ii 坐标)。由于 ∣Ai∣=κi<λi=∣Bi∣|A_i|=\kappa_i<\lambda_i=|B_i|,映射 hih_i 不可能是到 BiB_i 的满射(否则为 BiB_i 的每个元素选一个原像就给出 BiB_i 到 AiA_i 的单射,迫使 λi≤κi\lambda_i\le\kappa_i,矛盾)。于是对每个 ii 选取 di∈Bi∖ran⁡(hi)d_i \in B_i \setminus \operatorname{ran}(h_i),并令 g∈∏iBig \in \prod_i B_i 为满足 g(i)=dig(i)=d_i 的元组。

由于 hh 是满射,存在某个 aa(设 a∈Aja \in A_j)使 g=h(a)g=h(a)。于是 g(j)=h(a)(j)=hj(a)∈ran⁡(hj)g(j)=h(a)(j)=h_j(a) \in \operatorname{ran}(h_j)。但按构造 g(j)=dj∉ran⁡(hj)g(j)=d_j \notin \operatorname{ran}(h_j)——直接矛盾。因此不存在满射 hh,从而 ∑iκi<∏iλi\sum_i\kappa_i < \prod_i\lambda_i。(取 I=XI=X,κi=1\kappa_i=1,λi=2\lambda_i=2,即化为康托尔经典对角线论证 ∣X∣<2∣X∣|X|<2^{|X|} 的特例。)

现在反证设 cf⁡(2ℵ0)=ℵ0\operatorname{cf}(2^{\aleph_0})=\aleph_0。那么 2ℵ02^{\aleph_0} 是一列严格递增、基数更小的 ω\omega 序列 κ0<κ1<κ2<⋯\kappa_0<\kappa_1<\kappa_2<\cdots 之和,即 2ℵ0=∑n<ωκn2^{\aleph_0}=\sum_{n<\omega}\kappa_n,且每个 κn<2ℵ0\kappa_n < 2^{\aleph_0}。对每个 nn 取常数 λn:=2ℵ0\lambda_n := 2^{\aleph_0},应用柯尼希不等式(因每个 nn 都有 κn<2ℵ0=λn\kappa_n < 2^{\aleph_0} = \lambda_n,故有效):

2ℵ0=∑n<ωκn  <  ∏n<ωλn=(2ℵ0)ℵ0=2ℵ0⋅ℵ0=2ℵ0.2^{\aleph_0} = \sum_{n<\omega}\kappa_n \;<\; \prod_{n<\omega}\lambda_n = \left(2^{\aleph_0}\right)^{\aleph_0} = 2^{\aleph_0\cdot\aleph_0} = 2^{\aleph_0}.

这说明 2ℵ0<2ℵ02^{\aleph_0}<2^{\aleph_0},荒谬。故 cf⁡(2ℵ0)≠ℵ0\operatorname{cf}(2^{\aleph_0})\neq\aleph_0;由于共尾数从不会比这更小(对任意无穷基数它至少为 ℵ0\aleph_0,不可能是有限的),我们得出 cf⁡(2ℵ0)>ℵ0\operatorname{cf}(2^{\aleph_0})>\aleph_0。■\blacksquare

大学实际应用与典型例题

序数为证明递归过程必定终止提供了严格方法:给过程的每个状态赋一个序数(其"秩"),证明每一步都使该序数严格递减,再利用序数不存在无限严格递减序列(它们是良序的)这一事实——因此过程不可能永远运行下去。这种序数秩函数技术被用于证明编译器中递归算法与项重写系统的终止性,并且——在证明论中——通过形式理论的"证明论序数"来度量其逻辑强度(根岑在1936年用序数 ε0\varepsilon_0 证明了皮亚诺算术的一致性)。与此同时,基数在描述集合论中对无穷结构分层(波雷尔层级由可数序数编号)以及在模型论中(勒文海姆–司寇伦定理讨论每个无穷基数下的模型)都发挥着作用。

例题: 为何 ω+1≠1+ω\omega+1 \neq 1+\omega

直接从序数和作为序型拼接的定义出发,证明 1+ω=ω1+\omega=\omega 但 ω+1≠ω\omega+1\neq\omega,因而 ω+1≠1+ω\omega+1\neq 1+\omega。

解答

1+ω1+\omega 是"一个点,后面接一份 ω\omega 的复本"的序型——具体地,取单点 aa,其后是 0,1,2,…0,1,2,\dots。定义 φ:{a}⊔ω→ω\varphi:\{a\}\sqcup\omega \to \omega,令 φ(a)=0\varphi(a)=0,对 n∈ωn\in\omega 令 φ(n)=n+1\varphi(n)=n+1。此 φ\varphi 是一个序同构:aa 在两边都是最小元,其余各处也保持顺序。所以作为序数 1+ω=ω1+\omega=\omega。

再看 ω+1\omega+1:一份 ω\omega 的复本(元素 0,1,2,…0,1,2,\dots),后面再放一个点 bb 置于所有元素之上。这个集合有一个最大元,即 bb。

但 ω={0,1,2,… }\omega=\{0,1,2,\dots\} 没有最大元——对任意 n∈ωn\in\omega,n+1∈ωn+1\in\omega 严格更大。序同构必须把最大元映到最大元(并保持"无最大元"这一性质),所以有最大元的集合永远不能与没有最大元的集合序同构。

由于序数恰好被定义为良序集的序同构类,ω+1\omega+1(有最大元)与 ω\omega(没有)是不同的序数:ω+1≠ω=1+ω\omega+1\neq\omega=1+\omega。

例题: 崩溃归零的古德斯坦数列

计算从 33 开始的古德斯坦数列:把 33 写成"遗传 22 进制",将基数提升到 33 并减 11;再将基数提升到 44 并减 11;如此继续。证明该数列最终归为 00,并解释序数秩函数如何保证每个古德斯坦数列最终都会终止——即便原始数值一开始可能爆炸到难以想象的大小。

解答

逐步计算:n0=3=21+1n_0=3=2^1+1(2进制)。把基数 2→32\to 3 改写:31+1=43^1+1=4;减 11:n1=3n_1=3。

n1=3n_1=3 用 33 进制表示就是 313^1(即"33")。把基数 3→43\to 4 改写:41=44^1=4;减 11:n2=3n_2=3。

n2=3n_2=3 用 44 进制表示是普通数字 33(小于基数,没有指数可改)。把基数 4→54\to 5 改写:仍是 33;减 11:n3=2n_3=2。

n3=2n_3=2 在 55 进制下是 22;把基数 5→65\to 6 改写:仍是 22;减 11:n4=1n_4=1。

n4=1n_4=1 在 66 进制下是 11;把基数 6→76\to 7 改写:仍是 11;减 11:n5=0n_5=0。

于是数列为 3,3,3,2,1,03,3,3,2,1,0——经过 55 步归为 00。一般地,要证明每个古德斯坦数列都会终止(即便有些数列一开始会膨胀到位数比可观测宇宙中的原子数还多),给每一项 nkn_k 赋予序数 f(nk)f(n_k),做法是取它的遗传 (k+2)(k{+}2) 进制表示,把基数直接替换成 ω\omega(例如 222+1⋅3+⋯↦ωωω+1⋅3+⋯2^{2^2+1}\cdot 3 + \cdots \mapsto \omega^{\omega^\omega+1}\cdot 3+\cdots)。提升基数从不会增大这个序数(把"基数"重新标记为 ω\omega 并不会使序数表达式变大),而减 11 则会使它严格减小。于是 f(n0)>f(n1)>f(n2)>⋯f(n_0)>f(n_1)>f(n_2)>\cdots 是一列严格递减的序数——根据序数的良序性(不存在无限严格递减序列),它必须在有限步内归为 00,最终迫使 nk=0n_k=0。这正是用于证明程序终止性的"秩函数"技巧,只是用 ε0\varepsilon_0 量级的序数取代了简单的递减整数计数器。

研究当前研究

下列哪个序数等式是正确的?

序数秩函数在计算机科学中主要用于……

根据柯尼希定理,我们对 cf⁡(2ℵ0)\operatorname{cf}(2^{\aleph_0}) 了解什么?

一个集合是良序的意味着什么?

参考文献

  1. Wikipedia contributors (2024). Ordinal number
  2. Wikipedia contributors (2024). König's theorem (set theory)
  3. Wikipedia contributors (2024). Goodstein's theorem