从罗素悖论到数学公理化
一 悖论
一个科学家所遇到的最不合心意的事莫过于在他的工作结束时,其基础崩溃了。罗素先生的一封信正把我置于这个境地
——刚要出版书的弗雷格(Gottlob Frege)
悖论是建立理论体系时常用的检验手法,如果从一个理论体系出发导致了悖论,那么这个体系就出现了瑕疵,必须修正甚至扬弃
悖论(Paradox)通常是指这样一种语句,按普遍认可的逻辑推理方式,可推导出两个对立的结论,形式为:如果事件A发生,则推导出非A,非A发生则推导出A
无论在哪个领域,是否在数学也好,都要关心下面的推理前提:同一律,矛盾律,排中律
而矛盾律就保证了具有相反意义的命题不能同时为真,即基于矛盾律的理论一定不允许出现悖论
但是,我们如何去描述一个悖论?
我们常常会把一些看起来不合理的语句称为悖论或佯谬,从字面意思理解,就是错误的东西,例如我们平时常说的说谎者悖论(Liar Paradox):我现在说的这句话是谎话
相信大家都知道这句话哪里比较“绕”,但还有一些所谓的悖论只是在描述看起来不太合理的东西,仅此而已,如相对论中的双生子佯谬,集合论中的分球悖论等等
本文中谈及的悖论是指这样的语句:
由此,我们可以得出构成悖论的充分必要条件:真推出假,假推出真。显然,因为无论如何都是矛盾的,悖论不具有确定的真假性,所以悖论不是命题,因为命题(proposition)是判断某一件事情的陈述句
另一方面,悖论也不是开语句,开语句中含有变量,如,没有给定这些变量的具体取值之前,是无法确定语句的真假,但给变量确定某个值时,即可判断真假。所以开语句可以通过添加量词或者取值的方式转化为命题,如
,而悖论不能做这方面的转换
注意我所说的内容,悖论是一个语句,不具有确定的真假性,而对其本身的真假性赋值时,无论如何,都会出现矛盾。则,我默认了悖论要表达成陈述句
例如,说谎者悖论的表述有:
表述1:“如果某人说自己正在说谎,那么他说的话是真还是假?”
表述2:“我现在说的这句话是谎话”
悖论要表达为陈述句形式,显然,按照本文的定义,我们应采取表述2,可能我们即将遇到的其他悖论表述成这种方式会比较奇怪,请大家理解这种思维方式
从认识论的角度看,产生悖论的根本原因是人们的认识与客观实际的矛盾,是认识客观世界的方法与客观规律的矛盾
这是2017年版高中数学教材选修C类《逻辑推理初步》上的一句话,这本书是一本较为基础的数理逻辑入门书,一定程度上推荐大家阅读

在我看来,这本书最大的缺点就是什么地方都要提两句哲学
这倒难免。逻辑学最早就是依附于哲学的,现在仍在使用的不少数理逻辑用语都是亚里士多德提出来的,不可否认哲学在逻辑学发展历程中的重要作用
但是,数学终究是数学,他不研究物理世界,他不研究客观事实,我不去讨论依附于哲学的数学思想是还是坏,但一般不推荐这种思维方式

二 罗素悖论
在正式提及罗素悖论之前,先说一下与罗素悖论同根同源的理发师悖论(Barber Paradox):一个给且仅给自己不刮胡子的人刮胡子的理发师应该给自己刮胡子。
你可能会问,怎么就应该了?
注意,我们说悖论一定要表述为陈述句形式,而不应该表述为一个问题,所以我没有提出理发师是否给自己刮胡子的问题,而是直接说明他给自己刮胡子
我相信大家都能意识到这个问题出在哪里,为什么它这么“绕”
(有人说理发师是女的,但事实理发师自己有没有胡子并不是很重要的,有胡子是一个人的固有性质。所以我不喜欢把一个数学问题转化为一个实际问题,总会达到适得其反的效果)
据说,罗素提出理发师悖论和罗素悖论是为了诘难数学家康托尔(Cantor),就是那个创立了朴素集合论的康托尔。集合论的出现冲击了传统的观念,颠倒了许多前人的想法,很难为当时的数学家所接受,遭到了许多人的反对。不过渐渐地,康托尔集合论也被一些数学家接受。而罗素提出理发师悖论和罗素悖论是为了指出康托尔集合论中的一个错误,其实康托尔本人也发现了,但是康托尔并没有说出来
无论R∈R正确与否,都能得到一直相反的结论。也就是说,罗素悖论符合悖论的定义
注意,如果想实现x∉x,前提是x也是一个集合,且集合x的元素中含有集合。这里可以把对x的要求弱化为集族(Set Family),即由且仅由集合构成的集合
看起来,理发师悖论和罗素悖论是类似的,甚至可以说是一致的。我们有理由猜测理发师悖论就是罗素悖论,如果此猜想成立,可以说理发师悖论是罗素悖论的一种解释,罗素悖论是理发师悖论的抽象化扩展和模型
下面,我们来证明这个猜想。
欲证,即需找到满足条件的x和R。一个自然地想法是,把每一个人看成一个元素,但是,这样无法构造出集族x
不妨把每个人映射到一个集合。此时,x∉x表示自己不给自己刮胡子,x∈x表示自己给自己刮胡子,那么,理发师对应的集合
,即给且仅给"自己不刮胡子的人”刮胡子。显然满足罗素悖论的描述

这个证明最巧妙的地方在于,它把每个人都表示成了集族,并使x∉x这个条件有了含义
除理发师悖论以外,还有一个书目悖论,一个图书馆编纂了一本书名词典,它列出这个图书馆里所有不列出自己书名的书,那么它应该列出自己的书名。书目悖论和理发师悖论真的是完全相同,显示它也是罗素悖论的一种解释,仿照上例显然,读者自证不难(bushi)
接着,我们再提一提康托尔悖论:
称一个集合A的所有子集构成的集族为集合A的幂集(Power Set)。而集合的势是一个表示集合元素个数的量,对于有穷集合,他的势就是他的元素个数;如果集合M的元素多于集合N的元素个数,就说集合M的势严格大于集合N的势
康托尔定理(Cantor's Theorem)表明任何集合A的幂集的势严格大于A的势。对于有穷集合,该结论显然成立,因为,对于n元素集合,它的势为n,而它的幂集的势为2^n。但是,对于无穷集合,这个结论仍然成立
康托尔构造了这样一个集合:包含全部集合的集族,称之为“大全集”。根据定义,大全集应该是势最大的集族了,但是根据康托尔定理,大全集的幂集应该有更大的势,我们知道大全集的幂集也是集族,那么大全集就不是包含全部集合的集族。根据反证法原理,大全集不存在。这就是康托尔悖论,这说明集合论的基础是有问题的
如果大全集存在,确实可以推出其不存在;但是,若大全集不存在,并没有什么矛盾。所以,我认为康托尔悖论并不是悖论
不过,由于理解康托尔悖论需要有深厚的集合论基础,因此在康托尔悖论刚提出时并没有引起多大的轰动。直到理发师悖论和罗素悖论提出,数学家和逻辑学家才注意到了这个问题,史称第三次数学危机(the Third Mathematical Crisis)
当时,集合论已经深入到众多领域,甚至成为了数学的基础,集合论的悖论可以说是动摇了数学大厦的根基。弗雷格在收到罗素的信之后,在他刚要出版的《算术的基本法则》第2卷末尾写道:"一个科学家所遇到的最不合心意的事莫过于在他的工作结束时,其基础崩溃了。罗素先生的一封信正把我置于这个境地"。

三 数学公理化
在数学中,数学公理化思想并不是很新鲜。数学的主要任务是得到数学研究对象性质、关系和规律的结论,这些结论通常用命题或公式的形式表达。为了验证结论的正确性,就必须对命题或公式进行证明。无论哪种证明方法,都需要建立证明的前提,这个前提本身是不需要证明的,甚至是不可证明的。亚里士多德把不需要证明的前提分为两类:一类是获得任何知识都要依赖的前提,称为公理(axiom);另一类是为获得某些专门知识所要依赖的前提,称为公设(postulate)。
至少,从古希腊时期,公理化思想的萌芽已经出现。在欧几里得的《几何原本》中,欧几里得给出了23个定义,5条公理和5条公设,这些内容描述了平面几何的基本研究对象,基于人们的经验。
即使欧几里得建立了一套看起来完美的平面几何体系,但在“杠精”的眼中,仍然是漏洞百出。虽然欧几里得很“严密”地从零开始论证,但仍然不够严密。早期的公理化尝试失败了
但是,为什么数学家执着于从有限的公理开始,逐步的演化出数学体系呢?
我们做出一个判断,需要更基础的判断(引理)作为辅助,而更基础的判断又能通过更更基础的判断得来,容易联想到,逻辑应该存在一条链,从一些基础的命题开始,这条链被自然地引出来——这是数学家美好的设想
现在,人们统称那些不加(需)证明(不证自明)的前提为公理。而数学家想要从这些基本的公理出发,证明出我们需要的定理——即使这个命题很简单。这样,所有的命题就成为了一个体系,如果基于公理能够形成一个数学的逻辑系统,那么称这个系统为公理体系(axiom system);如果数学证明的演绎系统建立在公理体系之上,那么称这样的论证为数学公理化方法(mathematical axiomatic method)。
公理化思想在各个领域中都有着广泛应用的原因是,公理化思想方法从少量的原始概念和公理出发,可以演绎出内容浩繁的理论体系,起到以简驭繁的功效。正如牛顿所说:“几何的辉煌之处就在于只用很少的公理而能得到如此之多的结果。”此外,公理化方法还为不同理论提供了一个可比较的基础,因为公理化方法将不同理论的基础结构展现得十分清晰。——当然,这只是数学家美好的幻想。因为从直观上来看,公理化没有让数学变得简单,而是变得更加的“复杂”。想想,如果判断1+1=2也需要证明,判断一个东西是不是集合也需要几条公理,数学在直观上的反应就变弱了
但为什么我们要“自讨苦吃”研究数学公理化呢?
下面,重点来说第三次数学危机之后的事情——第三次数学危机是数学公理化的一个重要催化剂
假如你是数学家,要如何解决罗素悖论呢?——我相信你不忍抛弃集合论
假设一个情境,你说你是一个大音乐家,你会弹所有乐器,此时,有一个人拿一把吉他过来,问你,你会弹吉他吗?你突然发现,你真的不会弹吉他,那么,你要怎么解释才能让自己的话说得通呢?
你可以说,“吉他不是乐器”。这样的话,你确实还会弹所有乐器,你依然不会弹吉他。但是,先前的矛盾就被解决了——自我欺骗实锤了——数学中有很多这样的自我欺骗
罗素悖论中构造了引发矛盾的集合,我们只需要规定这样的“集合”不是集合即可,即有正则公理(基础公理,Axiom of regularity):对任意非空集合x,x至少有一元素y使x∩y为空集。(虽然这个公理的得出不是很显然)
第三次数学危机使数学家认识到集合必须要有严格的规定,并不是一些随便的元素就能构成集合了,就如同第二次数学危机后数学家完善了极限的概念一样。在康托尔等人的努力下,ZF公理系统建立起来了
策梅洛(Zermelo)首先提出了比较完整的公理,这些公理指明了哪些集合是合法的,对集合的哪些操作是合法的,从而构造出合法的集合,将罗素悖论中的集合R排除在外了。后经过弗兰克尔(Fraenkel)的完善和补充,形成了ZF公理系统(Zermelo,Fraenkel,ZF)。现在公理体系已经成为数学的基础,包括:皮亚诺算术公理体系、希尔伯特几何公理体系、策梅洛-弗兰克尔集合论(Zermelo-Fraenkel Set Theory)公理体系、柯尔莫戈洛夫概率论公理体系等。
下面我凭借我仅有的知识尽可能地解释一下ZF公理系统中的八条公理(原表述并非如此)
1.外延公理(容积公理):一个集合完全由它的元素所决定。如果两个集合含有的元素相同,则它们是相等的。
2.分离公理:若X是一个集合,那么可以断定,X集合中满足某条件的一些元素也构成集合
3.配对公理:任意两个集合可以构成以他们为元素的一个集族
4.并集公理:几个集合的并集也是一个集合
5.幂集公理:一个集合的幂集也是一个集合
6.无穷公理:存在一集合,它有无穷多元素。
7.替换公理(置换公理):某集合是某映射的定义域,其值域也是一个集合
8.正则公理:不允许有属于自身的集合
由此可以看出,公理化对于数学的重要性——借助这些公理保证了哪些集合是合法的,排除了非法的集合
但是,你仔细想想,ZF公理体系真的说清楚了什么是集合了吗?皮亚诺算术公理体系规定0是自然数,但他说明白什么是0了吗?希尔伯特几何公理体系,又真的解释清楚什么是点线面了吗?事实上并没有。数学公理化,往往采取了形式上的定义,即名义定义,但也只有这样,才能真正保证数学大厦的稳定
2022年7月29日修改

