10

罗素悖论

19世纪末20世纪初,数学家康托尔提出的集合论逐渐被国际数学界认可,罗素却提出了著名的“罗素悖论”,其矛头直接指向集合论,这无疑给当时的数学界和逻辑学界一锤重击,从而引发了第三次数学危机。

“罗素悖论”不是指罗素理论中的悖论,而是指罗素在进行理论研究(运用康托尔的集合论解决自然数的数列问题)时发现的悖论 [2]

在罗素看来,有两类理论——集合论的悖论和语义的悖论——都处于前后自我矛盾的状态。我们暂且不说数学上的专业术语,先给大家讲两个通俗的事例来理解罗素悖论的精髓。

理发师悖论

城里有一位理发师,他的理发店前的招牌上写着这样一段广告语:我只给不给自己刮脸的人刮脸,欢迎大家前来体验。

于是,城里那些不给自己刮脸的人都来找这位理发师刮脸。但此时有一个人的情况比较特殊,这个人就是理发师自己。他自己的胡子长长了该怎么办,他是否要给自己刮脸呢?此时,理发师陷入矛盾之中。

10 - 图1 理发师悖论

如果他不给自己刮脸,那么他就处在“不给自己刮脸”这类人中,因此这就符合他自己广告上的规定。既然这符合他广告上的规定,就可以推出“他应该给自己刮脸”。可这不就矛盾了吗?他满足“不给自己刮脸”的前提,却得出了“应该给自己刮脸”的结果。反过来说也是矛盾的。

如果他给自己刮脸呢?因为他自己给自己刮脸,他就没有在“不给自己刮脸”的人群中。既然不符合广告里规定的人群范围,那么他就不应该给自己刮脸。这又自相矛盾了。选择“给自己刮脸”,但推出了“不应该给自己刮脸”的结果。

无论我们怎样推导,都会陷入自相矛盾的境地。

从集合论的角度去理解,将城里的人设定为一个由“所有不给自己刮脸的人”所组成的集合。如果这里面不包括理发师自己,就没有矛盾了。理发师只给“不给自己刮脸的人刮脸”,这不会有任何问题。

但问题在于,理发师也要参与其中。理发师自己归属于设定的“不给自己刮脸的人”的集合吗?如果属于,那么理发师就可以给自己刮脸。但如果理发师给自己刮了脸,也就违背了他自己提出的规则。如果理发师不给自己刮脸,那么他就符合此设定集合的定义,他就可以给自己刮脸了,这就是其矛盾的地方。

“理发师悖论”阐释的是集合论的悖论。

说谎者悖论

还有一个类似的情况就是“语义悖论”,通俗的事例就是“说谎者悖论”。

10 - 图2 说谎者悖论

有一个人说:“我在说谎。”那么,这个人到底有没有说谎?

如果他说的是真话,那么他说的“我在说谎”这句话就是真的,因此得出结论:他在说谎。

如果他在说谎,那么他说的“我在说谎”这句话就是一句谎话,这就会推导出结论:他在说真话。

无论如何解释,都是前后自相矛盾,这就是语义的悖论。

罗素悖论的数学形式

S={x|x10 - 图3 x}

设定一个集合S,它由一些元素的集合x组成,这些元素要满足一个条件就是自己不属于自身,即x不属于x,所有自己不属于自身的这些元素的集合,在一起就构成了全体,即一个大的集合S。这里需要强调一下:x不是单个元素,而是所有满足这个条件的集合,因为在集合理论中,集合本身是可以作为元素被包含在一个更大的集合中的。

这个公式就表示出了所有不属于自身集合的集合,所有跟自己不相等集合的集合。

这个时候问题就来了:S∈S?

如果S10 - 图4 S,那么S∈S。

如果S不属于S的话,那么就满足集合自身的定义了,这个括号里的x不属于x,那么就可以推导出S属于S,那这就矛盾了。

如果S∈S,那么S10 - 图5 S。

如果S属于S的话,但S这个集合的定义是要满足x不属于x这个条件的,也就意味着S也是满足这个条件的,于是就得出:S不属于S。那这就又矛盾了。

这就是罗素悖论的数学形式。

罗素悖论的解决

罗素认为,悖论产生的原因是命题中发生了“自我指涉”的现象。理发师发布了规则,他只给“不给自己刮脸的人”刮脸,“不给自己刮脸的人”也包含他自己,那么理发师也在给自己下论断。“说谎者悖论”也是一样涉及“自我指涉”的现象,自己要遵守自己定下的规则,如此就会陷入无限恶性循环中,就会出现悖论。

于是,罗素提出“类型论”来解决问题。他认为把“类”当作“集合”,容易出现“自我指涉”的情况,于是罗素把“类”和“集合”做了区分。这部分,我们就不展开介绍了。虽然“类型论”可以避免罗素悖论的产生,但并不是解决罗素悖论的唯一方法,并且在逻辑学和哲学领域都引起了很多争议。后来,除了奎因,没有人再把它作为哲学上的工具来使用了。

罗素悖论的提出也促使数学家重新考虑集合论的问题,数学家后来创立了一套公理体系——“ZF公理体系”(ZF是人名Zermelo和Frankel的首字母)——通过设置出若干的定理和定义来规定集合,以规避之前集合论出现的问题。其中有一条“正则公理”,简言之就是把有可能产生“自我指涉”这一类情况的集合,排除在集合之外,从而避开“罗素悖论”问题。

换言之,“ZF公理体系”并没有彻底解决罗素悖论问题,也没有否定罗素悖论,而是设置一个公理,让那些产生“自我指涉”问题的集合排除在集合的范围,从而避开悖论的出现。从这以后,集合论也从朴素的集合论发展到了公理的集合论。