林君
清晰、严谨的思维有助于我们表达自己的想法和说服他人,而逻辑是思维的规律。与逻辑有关的问题中,有一个非常著名的悖论——理发师悖论。你或许对这个悖论并不陌生,但你知道理发师悖论中真正的矛盾是什么吗?
理发师悖论由哲学家罗素在1903年提出,也称为罗素悖论。有一个理发师打广告,说:“我只给本城所有不给自己刮脸的人刮脸。”问题是:理发师能不能给他自己刮脸呢?如果他不给自己刮脸,他就属于“不给自己刮脸的人”;如果他给自己刮脸,他就属于“给自己刮脸的人”,他就不该给自己刮脸。
在理发师悖论的基础上,罗素构建了一个“集合”S:S由一切不是自身元素的集合组成。然后,罗素问:S是否属于S呢?根据“排中律”,一个元素或者属于某个集合,或者不属于某个集合。因此,对于一个给定的集合,某个元素或者属于该集合,或者不属于该集合。但对罗素提出的这个“集合”S是否属于S,却没有那么容易判断:如果S属于S,根据S的定义,S就不属于S;反之,如果S不属于S,同样根据定义,S就属于S。
理发师悖论的提出震惊了整个数学界。数学界曾认为“一切数学成果可建立在集合论的基础之上”,而理发师悖论的出现使这一在数学界引以为傲的结论被推翻。由此,引发了第三次数学危机。
直到1908年,策梅罗(Zermelo)提出第一个公理化集合论体系,后通过弗兰克尔(Fraenkel)的改进,形成了现在的ZF公理系统。在ZF公理系统中,集合都是纯集合,纯集合是由属于自身元素的集合组成的集合。所以,在ZF公理系统中,罗素悖论中的“集合”S是不存在的,因为罗素悖论中的“集合”S是由不属于自身的集合组成的。在数学家对集合论进行修补后,引入“类”的概念,罗素悖论中的S其实是一个“类”,而且是一个“真类”,“真类”由不属于自身元素的集合组成,但“真类”不是集合。因此,罗素悖论不能在康托尔朴素集合论的范围内得到解释。
在ZF公理化集合论中,我们可以用形式化的语言表示集合,如T={y|y=2n,其中n是自然数}。你或许会好奇:是否可以用形式化的语言描述“类”?遗憾的是,目前ZF公理集合论还没有将“类”这个概念用形式化的语言描述。