all_lessons/数学的逻辑/13第 14 课 / 共 44 课

第五部分 · 数学回望自身

无穷有多大:康托尔与对角线

上一课在群与结构里,我们一次次撞见无穷集合。可"无穷"一直被当成一个含糊的大词。这一课,康托尔将逼问一个谁都没敢认真问的问题:所有无穷都一样大吗?答案,会把无穷本身劈成等级。

线性回顾
上一课:群论把"对称 / 结构"抽象出来,让伽罗瓦证明了五次方程没有根式公式。而在群与结构里,"无穷集合"反复出现——无穷多个元素、无穷多组单位根、无穷的根。
留下的问题:我们一路造出 (自然数)、(整数)、(有理数)、(实数),它们都是无穷。可它们一样多吗?整数比自然数"多"出了负数,有理数密密麻麻塞满数轴,实数还多了无理数——它们的无穷,有大小之分吗?
本课新增:康托尔用一一对应来比较无穷的大小;对角线论证证明实数不可数,严格地比整数"更多";于是无穷竟然分等级(ℵ₀ < 连续统)。
本课路线
(1) 不能"数",只能"配对"——用一一对应丈量无穷。(2) 惊人结果:偶数、整数、有理数都和自然数一样多(可数,记 ℵ₀)。(3) 对角线论证:假设实数能排成一张清单,造一个"漏网"的新实数,逼出矛盾。(4) 实数不可数,严格地比 多——第 03 课"无理数多得多"在此兑现。(5) 连续统、无穷的层级;康托尔的孤独与希尔伯特的辩护。

不能数,那就配对

怎么比较两个集合谁大谁小?有限的时候很简单——数一数个数就行。可无穷集合根本数不完,"个数"无从谈起。康托尔的突破口,是一个连小孩都懂、却从没被用到无穷上的办法:配对

想象一个礼堂,你想知道"观众"和"座位"哪个多。你不必分别去数。只要让大家入座:如果每个观众都坐到一个座位、每个座位都坐了一个观众,不多不少正好配上,那观众和座位就一样多——哪怕你从头到尾没数过一个数。

这种"一个对一个、不重不漏"的配对,数学叫一一对应(也叫双射)。康托尔大胆地把这把尺子伸向无穷:

康托尔的定义
两个集合一样大(数学叫"等势"),当且仅当它们之间存在一个一一对应。这个定义对有限集合显然成立;康托尔坚持对无穷集合也照用不误——哪怕它会推出一些反直觉到令人不安的结论。

反直觉的第一击:偶数和自然数一样多

用这把尺子,立刻量出一个让人不舒服的结果。自然数是 1, 2, 3, 4, …,偶数是 2, 4, 6, 8, …。直觉尖叫:"偶数明明只是自然数的一半!"可按配对的尺子看:

1↔2, 2↔4, 3↔6, …, n↔2n, …

每个自然数 n 都精确地配到一个偶数 2n,反过来每个偶数也都被配到,不重不漏。一一对应成立 ⇒ 偶数和自然数一样多。这就是无穷的怪脾气:整体可以和它的一部分一样大。这在有限世界里绝不可能,在无穷世界里却是常态(伽利略早就注意到了,却不敢往下走;康托尔敢)。

同样的手法可以"数清"整数(把 0, 1, −1, 2, −2, … 排成一队,挨个贴上 1, 2, 3, …),甚至能数清看起来密密麻麻的有理数。我们把"能和自然数一一对应"的无穷叫做可数无穷,给它的大小起个名字,记作 ℵ₀(读作"阿列夫零",希伯来字母 加下标 0)。它是最小的无穷。

连有理数都是可数的
把所有正分数 p/q 排成一张二维表(第 p 行第 q 列放 p/q),再沿对角线斜着走,就能把它们排成一条单队,贴上 1, 2, 3, …。所以第 02 课那个"稠密到塞满数轴"的有理数,居然只是可数无穷 ℵ₀——和自然数一样多。无穷的直觉,到这里已经被打得七零八落。

对角线论证:实数漏网

现在到了全课的核心。既然偶数、整数、有理数统统是可数无穷,一个自然的猜想是:所有无穷会不会都一样大,都是 ℵ₀?康托尔证明:。实数是一种更大的无穷。他的证明,是数学史上最优雅的论证之一——对角线论证

为简单起见,只看 01 之间的实数(证明 [0,1] 不可数,整条 自然更不可数)。每个这样的数都能写成无限小数 0.d₁d₂d₃…。用反证法,照搬第 03 课对付 √2 的老套路:

第一步,假设它可数。那就存在一张无穷清单,把 [0,1] 里的每一个实数都排了进去,一行一个,一个不漏:

第1行:0. d₁₁ d₁₂ d₁₃ d₁₄ …

第2行:0. d₂₁ d₂₂ d₂₃ d₂₄ …

第3行:0. d₃₁ d₃₂ d₃₃ d₃₄ … ……

第二步,造一个反叛者。康托尔顺着这张清单的对角线走——取第 1 行第 1 位、第 2 行第 2 位、第 3 行第 3 位……即各个 dₖₖ。然后造一个新数 x = 0.x₁x₂x₃…,规则只有一条:每一位都和对角线上对应那位故意不同。比如规定"如果 dₖₖ 是 5,就让 xₖ 取 4,否则取 5"。

第三步,抓矛盾。这个新数 x 在清单里吗?它不可能是第 1 行——因为它的第 1 位被故意造得和第 1 行第 1 位不同。它不可能是第 2 行——第 2 位不同。一般地,对任意 kx不是第 k,因为它俩在第 k 位上偏偏不一样。于是 x 是一个 [0,1] 里货真价实的实数,却不在那张"包含了每一个实数"的清单上——矛盾!

下面这个小实验,让你亲眼看着这个"漏网"的新数被一位一位造出来。

对角线论证:造一个不在清单里的数
这是一张试图"列全所有实数"的无穷清单(每行一个无限的 0/1 串,这里展示前若干行)。高亮的是对角线 dₖₖ。点"逐步构造",按"和对角线那位相反"的规则,一位一位造出新串。看右侧 KPI:新串第 k 位 = 第 k 行第 k 位的相反值,所以它和第 k 行至少差这一位 → 不在清单里。点题:无论你的清单多长,总能造出一个漏网的数。
当前到第 k 位
0 / 0
第 k 行第 k 位 dₖₖ
新串第 k 位(取相反)

结论:无穷分等级了

矛盾来自哪里?唯一的假设是"实数可以排成一张可数的清单"。所以这个假设错了

这一步的分量
实数是不可数的——它和自然数之间不存在一一对应,无论你怎样排,总有实数漏网。于是实数严格地比整数更多ℵ₀(可数无穷)< 实数的无穷(叫连续统)。无穷不止一种,它分等级。这是人类第一次证明"有的无穷比别的无穷大"。

而这一刀,正好兑现了第 03 课埋下的伏笔。当时我们说"无理数比有理数多得多",却说不清"多"是什么意思。现在清楚了:有理数只是可数无穷 ℵ₀;实数是不可数的连续统;既然实数 = 有理数 + 无理数,而有理数只占可数的那一点点,那么不可数的"分量"全压在无理数身上——无理数才是数轴的绝对主体。你随手在数轴上戳一点,几乎必然戳到无理数。

更进一步,康托尔还证明:层级没有尽头。任何集合的"所有子集组成的集合"都严格更大,于是 ℵ₀ < 连续统 < 更大 < …,无穷的阶梯一直向上,永不封顶。无穷不是一个终点,而是一整座塔。

一个被攻击到崩溃的人

这些结论今天写在每本数学教材里,可在当时,它们像异端。康托尔的老师辈、极有权势的克罗内克勃然大怒,公开斥责这是"危险的胡说",甚至放话"我不知道康托尔这套东西里哪里有数学",并动用影响力封杀他的论文、阻挠他的职位。一个把无穷劈成等级的人,被指控玩弄一堆没有意义的符号。

长年的孤立与攻击拖垮了康托尔。他患上抑郁,反复进出疗养院,晚年精神崩溃,在贫病中离世。可他亲手造出的"无穷的乐园",终究站住了脚。大数学家希尔伯特在康托尔身后郑重宣告,给这场战争盖棺定论:

希尔伯特的辩护
"没有人能把我们从康托尔为我们创造的乐园里赶出去。"——无穷的算术,从此成了现代数学不可分割的地基。

常见误解

一句话带走
无穷不能数,只能配对。配对之下,偶数、整数、有理数都和自然数一样多(可数,ℵ₀);可对角线论证造出一个永远漏网的实数,证明实数不可数,严格地更多。无穷从此分了等级——第 03 课"无理数多得多"在此精确兑现。
下一步
康托尔把"集合"和"一一对应"推上了整个数学的地基——一切对象似乎都能用集合来搭建。可这个地基,牢吗?只要有人问出一句话——"所有不包含自己的集合,组成的那个集合,包不包含它自己?"——刚刚立起的乐园,就要被一句话炸出一道致命的裂缝。带着这个问题,我们去见罗素。→ 第 14 课《罗素的悖论与地基:集合论与公理化》。