**部分 集合
如书名所示,本书主要讨论的内容是集合(set)。我们这里所用的 “集合” 这一术语,指的是某种聚集(aggregate)。当然,“聚集” 本身也远远称不上是一项清晰明确的概念。到底哪些聚集才能被称为集合,是一项非常难以回答的技术性问题,而本书很大一部分内容就是在试图回答这一问题。在正文开始之前,有必要说明一下人们研究这些问题的动机。
*先,无可争议的是集合论语言可以作为一种无歧义的交流工具来使用。这里我们主要是指在数学领域中的交流,但是这并不意味着集合论语言只能在数学内部发挥其所长——它所能应对的领域远不止如此——但是在日常语言交流中,我们似乎确实不需要一套像集合论那么严密且复杂的理论作为基础来支撑我们的对话。同时,在数学交流中,集合论也仅仅是被当作一种语言来使用,而在本书中,我们更关心的是对集合论的实质运用。从这个角度来说,集合论大致有以下三种不同的用处。
集合论的**个作用是为我们理解无限提供了一条途径。这将引导我们在本书的第三部分中发展出两种不同的无限数理论:基数(cardinal number)和序数(ordinal number)。在很大程度上这些理论的创立都要归功于格奥尔格 康托尔(Georg Cantor),他在 19 世纪*后的 25 年中完成了这项工作。如今,这些理论得到了普遍认可:虽然在某种程度上,对于无穷集合是否存在,可能仍有争论,但是也几乎没有人会再尝试从纯逻辑的角度来论证无穷集合的存在会导致矛盾。过去形势可并非如此,如今这种局面的形成是因为当前学界已经普遍接受了康托尔的理论,而他的理论则表明了过去人们认为因假定无穷集合存在而会产生的那些矛盾性结论,其实是由缺乏足够清晰的必要定义所造成的。
由此,康托尔的工作使得人们对于无穷大这一概念的态度发生了根本性转变,
其意义之重大,可以和同一时代微积分的革命性发展相提并论。进入 20 世纪后,这两大成果被整合在一起,使得关于无穷小的悖论(如芝诺的飞矢不动)和无穷大的悖论(如无穷集和它真子集之间可构成一一对应关系)不再被看成是严肃的哲学问题,而仅仅是一些数学史上的趣谈。
集合论的第二个作用是为整个数学学科提供一个基础。本书几乎从头到尾都在谈论这一点,特别是在第二部分中。如今,任何一本关于集合论的教科书中都充斥着类似的观点,其中一本还直截了当地说:“集合论是数学的基础”(Kunen,1980: xi)。此外,在许多主流的数学教科书中也能看到类似的观点。这种看法是如此流行以至于我可以假定任何一位正在阅读本书的读者都曾经或多或少了解过它。然而,停下来仔细一想就会发现这一点是多么地令人惊讶。只从直觉上来说,我们几乎不会想到数字可以表示成集合——而且还是仅由空集组成的集合——然而在整个 20 世纪,许多数学家却对这一点深信不疑。
然而,进一步探究就会发现,数学家们在这一点上的理论基石其实并不牢靠。所以我们不应该不假思索地就接受数学家们对集合论的这种还原主义者(reductionist)
论调。在这一点上,有一些值得注意的研究工作,如麦克莱恩(Mac Lane,1986)和梅伯里(Mayberry, 1994)。虽有如此种种问题,但是在本书中我们仍需接纳这种视集合论为数学之基础的观点:不仅是因为这种观点曾在理论的发展阶段有过巨大的影响力,而且因为本书的目的之一就是要尝试去评估集合论在扮演数学基础这一角色上到底能走多远。
集合论的第三个作用与第二个作用密切相关但是又有所不同(Carnap, 1931),即为数学的各个子领域提供共通的推理模式。其中*有名的例子是选择公理。我们将在本书的第四部分学到这条集合论原理(principle)。
集合论的这一作用在历史上也同样非常重要:在整个 20 世纪上半叶,选择公理都是数学家们互相之间争论不休的焦点之一。不过同样需要强调的是,集合论是否真的具有这样的作用,这点至少是值得怀疑的:选择公理是否真的能被视作是集合论的原理,目前尚无定论。而集合论的其他原理在数学中也面临着类似的困境。
集合论的这三项作用——驾驭无限的一种手段,数学大厦的支撑者及其推理模式的源头——在数学史上都非常重要,而且塑造了学科的前进方向。本书的绝大部分内容都将说明集合论的这三项作用是如何通过技术手段加以巩固的,以及这些技术手段背后的哲学意义。
不过在本书的**部分中,我们将把目标限定在一个似乎较为简单的目标上,即在后面诸部分的讨论框架范围之内构建一个基本的集合理论。此类理论诞生至今已有一个世纪之久——其发端可以追溯至策梅洛(Zermelo, 1908b)——然而直到今天,人们依旧没有对这些理论应采用的形式达成共识。有许多理论试图将集合概念的迭代进行形式化,本书就将采用这一思路。但是,想要厘清迭代概念绝非易事,所以这一部分的内容远没有表面看上去的那么轻松。
第1章 逻辑
本书主要阐述一套有关于集合的数学理论(或者说多少算是某种理论),核心是一系列对定理(theorem)的证明(proof)。我们将把其中某些定理划分成引理(lemma)、命题(proposition)和推论(corollary)。根据历史习惯,引理是指其本身没太大意义,只是在证明定理的过程中得到的阶段性结论;命题是指本身还没有重要到可以被称为定理的结论;推论是指通过定理很容易就能得到的结论。这些概念的区分都是非正式的,其作用仅仅是向读者表明该结论的相对重要程度。阐述的一大要义在于对我们在阐述时所要用到的各个词汇和符号做严格的定义(definition)。这种定义的要求之一就是被定义项应该是可以被机械化消除的,即当被定义项在证明中的每一处出现都被替换成定义内容之后,整个证明的正确性应当保持不变。但是这样的定义是有其尽头的:在我们阐述的*开始,必定有一些词汇或符号是没有办法根据其他术语定义得出的,我们只能直接使用它们。将这些词汇或符号称为初始概念(primitive)。和定义一样,证明也必须有起点。如果我们想避免无穷倒退,就必须在定理的证明中设置一些未加以证明但是可以直接使用的命题。这样的命题被称为公理(axiom)。
1.1 公理化方法
我们刚刚所说的这种阐述数学理论的方式,其源头至少可以上溯至欧几里得(Euclid),他在公元前 300 年左右以这种公理化的形式撰写了一部关于几何学和算术学的**之作。(如今,我们很难确定在欧几里得之前这种方法到底有多流行,因为欧几里得的著作是如此成功以至于几乎彻底取代了其前人的工作,使得在此之前的这类著作很少能够流传到今天以供我们研究。)
如今,在数学界中公理化方法不算常见,而且在某些方面它的效用被夸大了,使得像拉卡托斯(Lakatos, 1976)这样的数学经验主义者轻易便可利用这一点对之加以攻击。但是无论如何,数学家们至少仍把公理化方法看成是一种惯例方法。那么,我们到底应该怎样看待公理化方法呢?
根据对这一问题的回答,可以划分出两大阵营,在数学界中有时将他们分别称为实在论者(realist)和形式论者(formalist)。这两种命名并不理想,因为哲学界在数学哲学中也用同样的名称来指称两个更为细分的阵营,不过在这里我将遵循数学界的习惯。
实在论者对于公理化方法的核心态度是,“未定义” 并不代表 “无意义”,我们可以在制定公理之前就给出理论中初始概念的意义:它们可能是些在日常语言中已经被充分理解的词汇;就算不是,我们也可以通过一种被弗雷格称为阐释(elucidation)
的方式来说明其意义——即借非正式的解释说明来给出概念的意义。但是弗雷格同样也认为这种阐释是可有可无的,它仅仅:
旨在帮助研究者们相互进行交流。我们可以把它归为一种预备知识。在任何一个科学体系内部都没有属于阐释的位置,没有任何结论是基于阐释得到的。*立进行研究的学者则完全不需要它。(Frege, 1906:302)
如果理论中的初始概念是像 “点” 或者 “线” 这样的词,那么我们就可以通过阐释的方式来给出初始概念的意义,再通过设定理论中的公理,便能得出该理论系统内的真理。因此,实在论根植于这样一种观点,即数学家们用的这些词在公理系统之外自有其意义。这也是该观点被称为实在论的原因。如果公理做出了存在性承诺(通常情况下它们也确实会做出存在性承诺),那么在将这些公理视为真的同时,我们也就承诺了必要对象的存在。
不过,上文中所说的这种实在论还是一个很宽泛的概念,因为其中并没有涉及关于对象本质的讨论。所以还可以再细分出两种不同的实在论:一方面,柏拉图主义者(platonist)认为对象*立于人和人的活动而存在,故(因为它们肯定是非实体的)对象在某种意义上是抽象的(abstract);另一方面,建构主义者(constructivist)认为只有能够被我们头脑所建构的(constructed)对象才具有存在性,因此它们在某种意义上可以看成是思想的(mental)。我在这里加上了 “某种意义上” 一词,其用途和日常交流使用 “某种意义上” 一词时一样,只不过是出于谨慎。说一个数字存在是由于我对该数字的建构,正如我的书柜存在是因为我打造了它:建构主义在数学哲学中的*特之处就在于其认为数字是由我们对它的建构而形成的(故构想过程不同,产生的产物也就不同)。先前我曾提到过,哲学界对 “实在论” 这个词的用法和数学界有所不同,其不同之处就在于对建构主义的看法不同,因为建构主义在哲学界通常不被认为是一种实在论:这里把建构主义划归到实在论名下,是因为它认为一个数学定理的成立依赖于该定理是否反映了关于对象的真理,而并不依赖于用以表示该定理的那一串符号。