大家好,我是 Senko。 本文将解读“罗素悖论”。
1901 年,英国哲学家、数学家伯特兰·罗素发现:当时被视为数学基石的集合论中,潜藏着致命的矛盾。这个悖论在数学界掀起巨震,直接迫使人们从根基上重建数学的基础。
什么是罗素悖论
先简单说明一下“集合”。集合就是东西的聚合。“水果的集合”包含苹果和香蕉,“偶数的集合”包含 2、4、6……
那么,集合可以分为“把自身作为元素包含的集合”和“不把自身作为元素包含的集合”。
例如“所有集合的集合”本身也是集合,所以它包含自身。而“水果的集合”不是水果,所以它不包含自身。
在这里,罗素考虑了这样一个集合:
R = 把所有“不包含自身的集合”收集起来的集合
水果的集合不包含自身,所以属于 R;偶数的集合不包含自身,所以也属于 R。
那么问题来了:“R 自己属于 R 吗?”
如果属于:R 是 R 的元素。可 R 的定义是“不包含自身的集合的集合”。R 属于 R,说明 R 包含了自身,那么 R 就不是“不包含自身的集合”,按定义它不该属于 R。矛盾。
如果不属于:R 不是 R 的元素。R 不属于 R,说明 R 没有包含自身,那么 R 正是“不包含自身的集合”,按 R 的定义它应该属于 R。矛盾。
无论哪种情况都会产生矛盾。
理发师的比喻
用日常语言表达罗素悖论的,有一个著名的“理发师悖论”。
某个村子里只有一位理发师,他的营业规则是:“只给不自己刮胡子的人刮胡子,不给自己刮胡子的人刮。”
那么,这位理发师自己的胡子怎么办?
如果他自己刮,按规则他就属于“自己刮的人”,理发师不能给这种人刮——也就是说他不能自己刮。
如果他不自己刮,按规则他就属于“不自己刮的人”,理发师要给这种人刮——也就是说他得自己刮。
怎么都矛盾。这个比喻通俗地再现了罗素悖论的结构。
对数学界的冲击
罗素发现这个悖论时,德国数学家戈特洛布·弗雷格正致力于在集合论之上严格构建数学的基础。就在其巨著《算术基本法则》第 2 卷即将出版之际,罗素指出这一矛盾的信寄到了弗雷格手中。
据传弗雷格收信后叹息道:“算术轰然倒塌了。”毕生事业的地基被指出存在致命缺陷,这份冲击可想而知。
后来的解决
受罗素悖论的冲击,数学家们不得不严格重订“集合可以如何定义”的规则。
其成果就是 1908 年由策梅洛提出、后经弗兰克尔改良的“ZFC 公理化集合论”。ZFC 限制了随意构造集合的自由,规定只能从已有集合中取出满足特定条件的元素来构造新集合。
这样一来,像“不包含自身的集合的集合”这种危险的集合从一开始就无法构造,悖论得以回避。
现代数学基本上构建在 ZFC 公理系统之上,罗素悖论不会直接发生。不过,集合论本身的无矛盾性并没有得到证明(这源于哥德尔不完全性定理),要说能否彻底放心,老实讲还真有些微妙。
寄到弗雷格手上的一封信
这个悖论之所以刻进了数学史,背后有一段有名的插曲。
1902年6月16日,29岁的罗素给德国逻辑学家戈特洛布·弗雷格写了一封信。弗雷格当时正推进着一项宏大的计划——只从逻辑学导出算术,而作为其集大成的《算术的基本法则》第二卷,正在印刷厂里。
信的内容,是指出从弗雷格的体系里推得出矛盾。
弗雷格的回信,作为数学史上最痛切的文字之一而知名。留下来的话大意是:“您发现的矛盾,于我是最大的惊愕,几乎可以说是狼狈,因为它动摇了我用来建造算术的那块地基”。
弗雷格在第二卷卷末加了一篇补遗,承认自己的体系有缺陷。也就是说,倾注一生的工作,在出版前夕垮了。
此后弗雷格实际上放弃了逻辑主义的计划,晚年转向在几何学里寻找基础。
指出问题的一方也不是毫发无伤
另一边的罗素,也没有指出问题就完事。他着手自己去造一套回避矛盾的体系。
那份成果,就是与阿尔弗雷德·诺思·怀特海合著的《数学原理》,1910年到1913年分三卷刊行。
有名的是这样一段轶事:为了证明1加1等于2,用掉了第一卷三百多页。它是一座纪念碑,显示了把看着理所当然的事,不留一丝跳跃地垒起来会是什么样子。
两条解法走上了不同的路
回避矛盾的方针大致分成了两条。
| 方针 | 提出与年份 | 限制的内容 | 如今的定位 |
|---|---|---|---|
| 类型论 | 罗素,1908年 | 给对象分层,禁止提及同一层 | 作为数学基础属于旁支 |
| 公理集合论 | 策梅洛,1908年 | 只能从既有的集合造出新集合 | 现代数学的标准(ZFC) |
在数学的世界里成为标准的是ZFC,可类型论在完全另一个地方活了下来。
那就是编程语言的类型系统。给值分配类型、禁止类型对不上的操作,这套机制与罗素的分层几乎是同一个发想。
- 类型检查:想把整数与字符串相加,编译就通不过
- 依赖类型:类型本身依赖于值的高级类型系统
- 定理证明辅助系统:Coq 与 Lean 以类型论为地基,用机器去检验数学证明
也就是说,一百年前为防矛盾而想出来的机制,如今被用来防程序的错误。用途变了,可“用类型拦住那种一不留神提及自身而崩坏”的角色并没有变。
朴素集合论究竟松在哪里
把矛盾的原因,再往下挖一层。
当时的集合论有一条前提,叫概括公理:“只要写出一个条件,满足该条件之物的全体就构成一个集合”。
乍看理所当然。写下“是偶数”就有了偶数的集合,写下“是红的”就有了红色之物的全体。这也合乎日常的感觉。
可罗素往这条公理里塞进了“不包含自身”这个条件。作为条件它一点也不特别,可一造出对应的集合,矛盾就产生了。
问题不在条件的内容,而在“任何条件都能造出集合”这个约定本身。
ZFC 采用的分离公理,把这个约定弱化了:在已经存在一个集合A时,只承认“从A中取出满足条件之元素”所得的那一部分为新的集合。
从一无所有之处,只凭条件把集合召唤出来,是做不到的。多亏这层限制,那个成问题的集合从一开始就构造不出来。
自我指涉类的相关悖论
以下是与罗素悖论同样由自我指涉引发逻辑矛盾的相关悖论。
结语
本文解读了“罗素悖论”。
仅凭一个巧妙的提问就撼动了数学的地基,并推动了现代数学基础的重建——就智识冲击力而言,这个悖论毫无疑问位居顶级。
想返回悖论列表的读者请点击下方链接。
我们下一篇文章见。
📚 系列:世界经典悖论(16/81)
读者也常看这些





