打开迷惘之门:罗素悖论
数学一直被视为一门抽象且艰深的学科,但如果你有浓厚的兴趣,合适的教材和老师(自从 GPT 诞生后,你只需要问 AI),你可能会发现很多定理虽然证明起来很复杂,但它们并不抽象,因为每一个步骤都是可以理解的,它们建立在清晰,严格的定义之上。
但是,在所有这些可理解的数学背后,存在着不那么容易理解的数学。我不是在说“抽象代数”,而是比抽象代数还要抽象的领域:数理逻辑。
在这里我们不研究任何数学对象,而是直接研究符号本身。我们常说数学是物理学的语言,因为所有物理学定理都必须用数学来写。但字符串是数学的语言,因为所有数学定理都必须通过字符串表达。它是一个无穷旋转的漩涡,所有望向的目光都被它的中心吸引,一圈,一圈,又一圈...
诶?
我在第几圈?
什么是我?
我是我吗?
引言
欢迎来到知识海洋中最令人迷惘的海域,在这里,连我们用来讨论对象的语言本身也是对象的一部分,我要如何用一个东西来描述它自己?
为了给这种难明的滋味留下初步印象,我们先来一道开胃小菜——著名的罗素悖论。
我们都学过集合论,一些对象聚在一起便构成一个集合;集合完全由它的元素决定;集合之间还存在关系,而函数是一种特殊的关系。有了集合与函数,我们才有了熟悉的加、减、乘、除等数学运算。
但在建造数学大厦之前,必须先打好地基。众所周知,数学追求严谨:从定义出发,一步步推出结论。集合是一切的基础,因此哪怕它看上去再自然,也需要严格定义。
如果两个集合的元素完全相同,它们就是同一个集合。可是,在比较两个集合之前,我们得先回答:什么是集合?什么不是集合?
如果两个集合的元素完全相同,那么它们自然就相等(identical)。但在比较两个集合之前,我们得先给出集合的定义:什么是集合?什么不是集合?
表面上看,似乎任何东西放在一起都能组成集合:{爸爸,妈妈}{爸爸,妈妈} 是一个集合,{1}{1} 是一个集合,∅∅ 是集合,{{1},爸爸,妈妈}{{1},爸爸,妈妈} 也是集合。
但是,所有集合构成的那个东西,本身是集合吗?
20 世纪初,罗素提出了这个问题。答案是否定的:所有集合并不构成一个集合。这个论证后来被称为罗素悖论。
证明过程
我们用反证法:假设所有集合能够构成一个集合,称为 \(V\),即 \(V\) 包含所有集合。
在 \(V\) 中构造 \[ R=\{x\in V\mid x\notin x\}. \] 由于 \(V\) 是集合,由分离公理,\(R\) 也是集合。又因为 \(V\) 包含所有集合,所以 \(R\in V\)。
按 \(R\) 的定义,对任意 \(x\in V\),都有 \[ x\in R \iff x\notin x. \] 特别地,因为前面已有 \(R\in V\),因此我们可以取 \(x=R\),得到 \[ R\in R \iff R\notin R. \]
也就是说,设 \(P:R\in R\),就得到 \[ P \iff \neg P. \] 在经典逻辑中,一个命题要么真要么假,因此 \(P\) 与 \(\neg P\) 不可能同时成立,因此不可能。
所以假设不成立:不存在“所有集合的集合”\(V\)。
结语
罗素悖论看似简单,但对于哪怕是已经熟悉这个问题的人依然很晦涩,这里的困难是语言---符号不停地自我指涉,\(R\) 是用所有 \(x\) 定义的,而 \(R\) 自己又是这些 \(x\) 之一。最困难的就是弄清楚在什么情况下我们可以写 \(x=R\)。