从弗雷格到罗素
我在《消失的真实》第三编指出,用逻辑来定义自然数的尝试最早由弗雷格做出。如果数学即逻辑,逻辑推理是符号系统的等同和包含关系,那么自然数应该可以用符号的“包含和等同关系”唯一对应的对象来表达。弗雷格正是这么定义自然数的。
弗雷格意识到,既然数“数”实为两个符号系统建立符号之间一一对应,它可以和经验世界完全无关。[9]这样,自然数的真实性只能源于符号的逻辑推演。弗雷格对自然数的定义中,有一个关键的概念:类(概念的外延)。[10]众所周知,由个体规定类需要先确定个体性质,再寻找具有该性质的所有个体,其全体就是由该性质规定的类。根据弗雷格1884年出版的《算术基础》,对每一个集合S都有一个性质(概念)F,可以把所有具有性质F的集合称为F的外延,亦可称为类。当两个类一一对应时,两个类具有相同的数,即“等数”。[11]
当对象是客观事物时,对象的性质也是客观事物的一部分,它是由经验规定的。为了使代表自然数的类从逻辑导出,规定类的性质不能来自经验,它只能是符号是否等于或属于自己。只要将性质F视为包容或等同(请注意,这是纯粹符号系统的逻辑属性),该性质定义的类就是自然数,即一个个“数”是与这些类唯一对应的符号。这就构成了弗雷格对自然数的定义:适合F这个概念的数是“与F这个概念等数的”这个概念的外延。[12]简而言之,由符号包含或等同关系这一性质规定的所有类定义了自然数。下面以0和1、2为例说明这一点。
由于所有集合都等同于自身,等同于自身当然是集合的性质,它对应的对象应该是一个数。因为不存在任何满足“不等同于自身”这一性质的对象,如果说该性质规定一个类的话,它是空的,这就是0。0是“不等同于自身”定义的对象。表面上看,这确实描述了0的性质。弗雷格再用“等同于0”作为性质来定义“类”,寻找和它对应的符号。由于只有一个对象即0等同于0,所以满足这个概念的对象(类)只有一个(元素),这似乎也描述了1的性质。[13]接下去用“既包含0也包含1”作为性质,寻找该性质定义的所有类对应的符号,这样定义了2。显而易见,用包含已给出类作为集合之性质来定义更高的类总是可能的。这样,可以给出所有自然数。
这确实是一个美妙的证明,符号等同和包含确实是逻辑的属性,用它导出自然数意味着算术和几何不同,它是完全基于逻辑的。据此,自然数就从逻辑(符号的等同和包含关系)推出来了。问题在于:用集合对自身部分的等同和包含作为性质(如“不等同自身”和“属于自身”)给出新的集合(类),再用被给出的类产生更高的类,它是否总是可行的?事实上,罗素正是在思考“由一切‘自己不属于自己的集合’组成之集合是否属于自己”时,发现集合论中存在悖论。为什么?一个集合是否属于自己是集合的逻辑性质,由该性质给出一切自己不属于自己的集合,该集合如果具有自己不属于自己这一性质,一定被包含在一切自己不属于自己的集合中,故它是自己属于自己的。然而,如果该集合是自己属于自己的,它一定具有定义该集合整体元素(自己不属于自己)之性质,即自己是不属于自己的。这是一个悖论!罗素悖论引发了集合论公理化和数学基础的争论。[14]弗雷格立即认识到用符号系统等同和包含性质无法定义自然数,他明确宣告由逻辑推出自然数的失败。[15]
从此,排除集合论悖论代替了用逻辑推出自然数的努力。为什么集合论中会出现悖论?康托尔从符号系统是否互相包含的角度考察如何严格地给出符号和符号系统,这就是元素及其组成的“集合”。元素是主体给出的符号,而集合是由已给出符号组成的整体。一般说来,先定义元素,再规定由元素组成(即包含元素)的集合。但在某些情况下,主体不得不根据已知前提(整体)来给出符号,如果用集合的某种“性质”来规定属于它的元素,主体在自由地给出符号系统中就可能出现符号规定的自我否定的循环:某些符号先规定其他符号,再通过其他符号反过来再一次规定自己;一旦该过程不自洽,就会引发悖论。事实也是如此,自康托尔提出了系统的集合论学说之后,不同学者发现了一系列有关集合论的悖论。[16]集合论的悖论是通过公理化克服的,所谓公理化是建立规定集合的若干原则(公理)来排除符号系统生成过程中自我否定的循环。
罗素认为,虽然弗雷格失败了,但只要用公理化方法排除集合论的悖论,就可以用类似于弗雷格的思路从逻辑来推出自然数。[17]罗素提出用类型论作为公理化方案,他认为,自然数的运算本质上是类的合并和包含,为了证明这一点,罗素与其老师阿尔弗雷德·怀特海共同完成并出版的《数学原理》,将“无穷公理”“选择公理”“可化归公理”加入集合论作为公理。其中,“无穷公理”实为把每一个类和“非类符号”一一对应时需要假定存在无穷多“非类符号”。罗素的想法和人们对自然数的直观理解相符合,很容易让人误解罗素已经克服了弗雷格的困难,即自然数已被证明是符号性质规定的“逻辑类”。其实,这是一个错觉。《数学原理》的推理过程极其冗长、复杂,作为其推论前提的公理也并非全然自明的,如罗素本人就承认“可化归公理”是自己逻辑主义的一个瑕疵。[18]因此,罗素的观点虽然得到很多哲学家的关注,但数学家不接受罗素提出的集合论公理化方案。[19]也就是说,至今仍没有证明自然数可以从逻辑推出。但需要说明的是,罗素的类型论经过纯化和改造,还是可以被应用在数学和逻辑学研究中的,例如普林斯顿高等研究院集合大批数学家和计算机科学家,从2012—2013年开始致力于同伦类型论的开发,他们还对外发布了一本开放源码的书籍《同伦类型论:数学的一价语义基础》。这本书试图在同伦类型论的基础上,为数学提供一个不同于集合论的新基础。[20]
我认为,20世纪数学发展已经证明数学是不可能建立在逻辑之上的。数理逻辑属于抽象代数,只是某一种结构的符号系统。抽象代数不能还原为数理逻辑,甚至数学推理亦如此。就拿逻辑推理本身而言,它是从某一组符号串通过符号的等同和包含关系推出另一个符号串,如果数学推理是单纯的逻辑推理,某一个符号串是否被包含在另一组符号串中,必定是可以判定的,即在单纯的逻辑推理中,数学命题非真即假,不可能存在不能判别真假的数学命题。20世纪30年代,哥德尔证明,在算术逻辑(包含自然数命题的谓词演算)中存在不可判定的命题,即对于任何一组给定的公理定义的数学系统,总可以找到一个有关自然数的数学命题,我们不能用逻辑证明它的真假。[21]哥德尔的成果表明,数学推理不能简单地等同于符号的等同和包含关系。[22]数学再一次显示了其神秘性!