对角线
1891 年的四页纸: 一张清单, 怎么用它自己的内容, 证明自己不完整.
有些证明需要几百页, 需要一整套工具, 需要相信很多前人的结果. 这一个不需要. 它短到可以从头到尾完整地放在脑子里, 每一步都看得见. 我喜欢它, 首先就是因为这个.
清单
考虑所有由 0 和 1 组成的无穷序列. 比如 0101010..., 或者 1111111..., 或者任何你能想到的排列.
现在假设有人声称: 我把它们全部列出来了. 第一个, 第二个, 第三个, 一直排下去, 每一个序列都在清单上某个位置.
我们看看这张清单的开头:
| 第 1 位 | 第 2 位 | 第 3 位 | 第 4 位 | ... | |
|---|---|---|---|---|---|
| 第 1 个 | 0 | 1 | 0 | 1 | ... |
| 第 2 个 | 1 | 1 | 0 | 0 | ... |
| 第 3 个 | 0 | 0 | 1 | 1 | ... |
| 第 4 个 | 1 | 0 | 1 | 0 | ... |
| ... |
沿着加粗的那条对角线走: 取第 1 个序列的第 1 位, 第 2 个序列的第 2 位, 第 3 个序列的第 3 位, 依此类推. 然后把每一位都翻过来, 0 变 1, 1 变 0.
得到一个新序列: 1, 0, 0, 1, ...
它在清单上吗? 它不是第 1 个, 因为第 1 位不同. 它不是第 2 个, 因为第 2 位不同. 它不是第 n 个, 因为第 n 位不同. 它和清单上的每一个序列, 都恰好在对角线上差了一位.
所以它不在清单上. 清单不完整.
而且这和清单是怎么排的无关. 不管清单有多聪明, 用什么规则排, 同样的构造都能找出一个漏掉的序列. 所以这样的清单根本不存在.
我喜欢的地方
这个证明没有从外面去找反例. 它不需要知道任何清单以外的东西. 它只是向清单要了一些它自己的内容, 一个序列给一位, 然后用这些内容拼出了它漏掉的东西.
任何一张声称完整的清单, 都会亲手交出打败它自己的材料.
我还喜欢它是构造性的. 它不只是说 "一定漏了点什么", 而是直接把漏掉的那个指给你看: 就是这个, 一位一位写出来.
无穷的大小
自然数 1, 2, 3, ... 是无穷多的. 0 和 1 的序列也是无穷多的. 直觉上, 无穷就是无穷, 不该再分大小.
但自然数本身就是一张清单: 它们天生就能排成第 1 个, 第 2 个, 第 3 个. 而刚才的证明说明, 0 和 1 的序列排不进任何清单. 所以序列比自然数 "更多". 两个无穷, 一个比另一个大.
康托尔在同一篇论文里还把这个论证推广了: 任何一个集合, 它的所有子集组成的集合都比它本身更大. 这意味着无穷之上还有更大的无穷, 而且没有尽头. 不存在最大的无穷.
它不是第一个证明
我原本以为, 对角线论证就是康托尔第一次证明这件事的方法. 查了以后才知道不是.
1874 年, 康托尔已经证明过实数不能排成一张清单. 那次用的是一层套一层的区间: 从一个给定的数列出发, 构造出一串嵌套的区间, 区间的交点上有一个不在数列里的数. 那个证明是对的, 但比较绕, 也没能推广开来, 今天知道的人不多.
对角线论证是 1891 年的, 晚了十七年. 发表它的论文只有四页.
我很喜欢这个时间差. 康托尔早就知道这个结论是对的. 他花了十七年, 找到了一种更好的说法.
这条对角线后来又出现了
这个动作没有停在 1891 年.
罗素是在研究康托尔 "不存在最大的无穷" 这个证明时, 发现了他的悖论: 考虑所有 "不包含自己" 的集合组成的集合, 它包含它自己吗? 包含, 它就不该包含; 不包含, 它就应该包含.
哥德尔证明不完备定理时, 用的也是对角线论证: 构造出一个谈论它自己的命题.
图灵证明停机问题不可判定时, 构造了一个 "当且仅当自己不停机时才停机" 的程序. 有人直接说, 图灵的证明就是康托尔的对角线论证.
每一次, 都是同一个形状: 拿一个声称能覆盖一切的东西, 让它回答关于自己的问题, 再把答案翻过来.
隔了几十年, 换了三个领域, 那条对角线还是同一条.
最后
四页纸. 一张清单, 一条斜线, 每一位翻一下.
无论清单写得多好, 那个新的序列都会出现在同一个地方: 沿着对角线, 和每一行都差那么一点点.
参考
- Cantor, G. (1891). Ueber eine elementare Frage der Mannigfaltigkeitslehre. Jahresbericht der Deutschen Mathematiker-Vereinigung, 1, 75-78. 概述见 Cantor's diagonal argument
- 1874 年的区间套证明: Cantor's first set theory article; John Franks, Cantor's Other Proofs that R Is Uncountable
- 罗素悖论与康托尔的证明: Russell's Paradox, Stanford Encyclopedia of Philosophy
- 哥德尔与对角线论证: Gödel's incompleteness theorems
- 图灵的证明与康托尔的对角线: Gregory Chaitin, A Century of Controversy over the Foundations of Mathematics
勘误
暂无.