1 引言
由于集合论悖论的存在,使人们认为概括公理(comprehension axiom)不能保证集合的存在。但如果现在将概括公理修改为:
公理:设P(x)是定义于考虑范围的一个性质,S是由具备性质P(x)的对象所构成的聚集,如果在考虑范围内不存在使等价关系表达式 x∈S↔P(x) 取值为假的对象,则S构成一个集合。
那么,改进后的概括公理就能避免集合论悖论。这是本文的基本观点。
罗素悖论的集合R的定义为R={x|x∉x},上述公理的表达式对于罗素悖论的集合R在对象R时为R∈R↔R∉R,其值为假。因此罗素悖论可以被避免。本文还将证明,导出罗素悖论的过程是一个逻辑错误。因此罗素悖论也不成立。
更进一步,集合论中的三个主要悖论,罗素悖论,基数悖论,和序数悖论,都可以由上述公理来解决。
上述公理可以否定康托尔的幂集合基数定理的普遍有效性。事实上,康托尔在证明该定理时所使用的一个集合不是一个集合。因此他的证明无效。本文还将举出反例来证明该定理不是普遍成立的。因此基数悖论不成立。
所有序数的聚集按上述公理的条件不能构成集合。因此,所有序数的集合问题也可以被上述公理所避免。本文还将证明,导出序数悖论的过程也是一个逻辑错误。因此序数悖论也不成立。
等价关系是两个命题之间同真同假的一种关系。真也可以用1来表示,假用0表示,以下将不加说明地混合使用1和真,0和假。等价关系通常用符号↔来表示。如果a和b分别为两个命题,则a和b等价通常记为a↔b,这时人们可以从a为真的前提得出(推断出)b为真的结论,也可以从a为0的得出b为0。反过来也一样,可以从b为1得出a为1,也可以可以从b为假得出a为假。今后将这种推出相同取值推断称为根据等价关系的推论。 在命题逻辑中,等价符号↔也被当作一个运算符来使用,因此等价关系的记法a↔b也是一个表达式。等价运算的真值表是: a↔b b 0 1 a 0 1 0 1 0 1 即当a和b取值相同时,a↔b取值为1(真),表示存在等价关系。当a和b取值不同时,a↔b取值为0(假),表示不存在等价关系。当存在等价关系时(a↔b取值为1时),人们可以在a和b之间按等价关系进行推断。但如果表达式a↔b取值为0,则说明等价关系不存在,这时人们就不能按等价关系进行推断了。因此在根据等价关系表达式a↔b进行推论时,注意该表达式的取值是很重要的。如果该表达式的取值为0,则不能根据等价关系进行推论。根据真值表,在知道a, b和a↔b中任意两个的取值时,就可以推断出第三个的取值,这是根据等价关系进行推论的依据。 如果f(x)和g(x)为两个命题函数,这里的命题函数,是指取值为真或假的函数,而它们的自变量x则不必是一个命题,可以是取值于某个考虑范围的对象(object),则表达式f(x)↔g(x)也是一个命题函数。如果对于对象a,表达式f(a)↔g(a)取值为1,则称函数f(x)和g(x)在a点存在等价关系,如果取值为0,则称它们在a点不存在等价关系。如果对于所有考虑范围内的对象x,表达式f(x)↔g(x)的取值都是1,则称函数f(x)和g(x)之间存在等价关系。如果f(x)和g(x)之间存在等价关系,则可以由f(x)的取值按等价关系去推断g(x)的取值,也可以由g(x)的取值按等价关系去推断f(x)的取值。但如果存在对象s使表达式f(s)↔g(s)取值为0,则f(x)和g(x)之间不存在等价关系,特别地,这时不能由f(s)的取值按等价关系去推断g(s)的取值。2 等价关系,真值表,和根据等价关系推论
3 集合的定义
集合在开始时被认为就是对象的聚集(collection)。由于集合可以包含任何对象,而在讨论具体问题时人们没有必要考虑宇宙万物,所以在考虑具体问题时,通常引入考虑范围对对象加以限制。例如,在考虑数的问题时,没有必要考虑动物和建筑物等对象,可以将考虑范围限于数。自从出现集合论悖论后,人们发现,用有些性质定义的集合存在矛盾,因此又将集合和聚集分成两个概念,集合只包含那些没有矛盾的聚集。可惜的是,至今人们不知道如何正确地定义一个集合,以保证集合的存在。如何判断一个聚集是否构成集合,是本文所要处理的问题。
定义一个集合S,就是要对考虑范围内的每一个对象x,确定命题x∈S的取值,如果确定x∈S为真,则对象x属于被定义集合S,或称x是S的元素,如果x∈S为假,则x不属于S。在定义集合之前x∈S是没有取值的,并且是可以由集合定义完全自由地确定其取值的。人们通常用性质来定义集合。性质P(x)是一个定义于考虑范围,并取值于真或假的函数。用于定义集合的性质称作期望性质,是人们期望所定义的集合所拥有的性质。如果对象a具备期望性质,则P(a)=1(真),否则P(a)=0(假)。用性质P(x)定义的集合S可以记为S={x|P(x)}。集合由所有使性质P(x)取值为1的对象构成。 当人们用性质定义集合时,事实上隐含地确立了一个对象关于所定义集合的从属关系和对象是否具备期望性质之间的等价关系,即: x∈S↔P(x) (1) 这一等价关系的含义是,对象x属于集合S(x∈S为真或1)当且仅当对象x具备期望性质(P(x)为真或1)。当人们应用集合的定义进行推论时,例如,当人们说对象a使P(a)=1,根据集合S的定义有a∈S时,所依据的就是这个等价关系。也就是说,应用集合定义进行推论,就是在假设等价关系成立的前提下作根据等价关系的推论。因此,保证作为前提条件的等价关系式(1)成立是很重要的。如果没有这个等价关系,人们就不能应用集合定义进行推论。那样的推论是没有了逻辑依据的。 人们之所以无限制地使用集合定义,是因为人们认为等价关系式(1)在全考虑范围内总是成立的。人们之所以这么认为,是因为人们认为该等价关系的左边x∈S是可以自由取值的,只要根据右边P(x)的取值给左边x∈S取适当的值,就总能保证等价关系的成立。根据这一隐含的考虑形成的一种观点是,人们以等价关系式(1)在全考虑范围内总是成立为依据,根据P(x)的取值对x∈S的取值作根据等价关系的推断,再以所得的结果去定义x∈S的取值。给x∈S取适当值以保证等价关系成立,或根据等价关系推断x∈S取值以定义x∈S,在没有下面将要提到的奇点时,是等效的。但人们的这一隐含的考虑是不够周到的。有些特殊的期望性质,对于某些特定的对象,会使等价关系式(1)的两边发生关联,从而使得左边x∈S被固定为右边P(x)的反面,从而使得等价关系不能成立。例如罗素悖论的期望性质P(x)=x∉x在对象为被定义集合R时,就使等价关系式(1)成为R∈R↔R∉R,其值为假。这是因为,对象R被同时代入左边和右边,使得左边被固定为右边的反面,从而使得等价关系不能成立,其表现就是使等价关系式(1)取值为假(0)。正是由于人们在期望的等价关系式(1)不成立时应用R的集合定义,才导致了罗素悖论。 使等价关系式(1)取值为假的对象称为奇点。在奇点处集合定义所隐含地依赖的等价关系不成立。被定义集合在奇点处还没有被定义,之所以还没有被定义,是因为它不能由期望性质来定义。因此人们不能在奇点处应用集合定义进行推论,否则就是犯了推理的逻辑错误,因为这时推理所依据的等价关系是不成立的。这正是为什么本文的公理要求在定义集合时,对不存在奇点进行检验的原因。表达式(1)也称为奇点检验表达式。 如果没有奇点,则集合定义所隐含的等价关系在全考虑范围内成立。人们可以安全地应用集合定义。因此,本文否定集合论内部存在内在缺陷的观点。 在一般情况下,奇点检验表达式并没有固定的取值。这是因为在一般情况下,该表达式左边x∈S是可以自由取值的,而集合定义正是通过使左边取适当的值以保证该等价关系成立的。但奇点是一种特殊情况,它使左边和右边发生关联,从而使得无论左边x∈S如何取值,该表达式的值都被固定为假。因此要证明对象a为一奇点,就是要证明将a代入奇点检验表达式后的表达式a∈S↔P(a)总为假。为此,可以分a∈S为真和a∈S为假两种情况分别计算a∈S↔P(a)的取值,如果在这两种情况下的计算结果均为假,则对象a为一奇点,只要有一种情况的计算结果为真,则对象a不是一个奇点。 现以罗素悖论为例,证明罗素集合R是一个奇点。将R代入罗素集合的奇点检验表达式后得R∈R↔R∉R。如果R∈R为真,则右边R∉R为假,左边真,右边假,等价关系不成立(等价关系表达式取值为假);如果R∈R为假,则右边R∉R为真,左边为假,右边为真,等价关系也不成立;因此奇点检验表达式为假,R为一奇点。 如果s是一个奇点,则s∈S↔P(s)总为假,也就是说如果假设s∈S为真,则P(s)为假;如果假设s∈S为假,则P(s)为真。而这与集合定义是相反的。如果在这时应用集合定义进行推论,则由s∈S为真的假设,会得出P(s)为真的结论,这就与P(s)为假的计算结果相矛盾了。同样由s∈S为假的假设,也能推出类似的矛盾。因此不能对奇点s应用集合定义,也不能用集合定义讨论奇点是否属于被定义集合的问题。这样做都是犯了逻辑错误的。 可以再举一个反面的例子来说明奇点检验不会检出错误的奇点。设F为偶数的集合,即F={x|x为偶数},试检验3是否为奇点。将3代入奇点检验表达式得3∈F↔(3为偶数),如果3∈F为真,右边“3为偶数”为假,左真右假,等价关系不成立;如果3∈F为假,右边“3为偶数”仍为假,左假右假,等价关系成立;因此3不是一个奇点。
4 罗素悖论
罗素悖论是最有影响的一个集合论悖论。因为它只涉及集合的定义和元素的从属关系,所以自从它出现以后人们才真正相信朴素集合论有问题了。
罗素悖论:考虑由所有不包含自己的集合构成的集合R={x|x∉x }。如果R∈ R,根据定义应有R∉R;如果R∉R,则R满足定义R的性质,根据定义应有R∈R;矛盾。
前面已经讨论过,R是罗素集合的一个奇点,因此性质P(x)=( x∉x)不能定义一个集合。因此本文的公理可以避免讨论罗素集合R。
但罗素悖论不是一个悖论,因为导出罗素悖论的过程包含逻辑错误。前面已经讨论过,在奇点处应用集合定义讨论奇点是否属于被定义集合是没有逻辑根据的,因为在奇点上应用集合定义所依赖的等价关系不成立。由逻辑错误而导出的矛盾不能成为一个真正的悖论。
在等价关系失效的时候应用等价关系去推出矛盾,作为证明等价关系失效的一种更直观的反正法是可以的。但得到的结论,应该是等价关系失效了。并就此停住。但如果忽略了等价关系失效这一事实是使期望性质不能定义集合这个问题的根本原因,那就会因失去了认识问题的钥匙而陷入疑惑的迷雾之中。如果要继续追究为什么会发生等价关系失效这样的现象,这也是可以的。但那已经不是集合论的问题了。就集合论而言,追究到等价关系失效就已经可以了。接下来的工作,应该是找到如何识别什么样的期望性质不能定义集合这一问题的方法。如果有了识别问题的方法,那么期望性质就被分为可以定义集合的和不能定义集合的两类。而集合论只研究可以定义集合的这一类。因此,就集合论而言,问题就已经解决了。本文所提出的公理,就是解决问题的一种尝试。
正是由于忽视了在奇点处集合定义所隐含的等价关系不成立这一基本事实,而在奇点处滥用集合定义,才导致了罗素悖论的矛盾的结果。而由于缺乏对产生矛盾的原因的正确认识,才产生了集合论内隐含矛盾的误解。而这一误解竟然困扰了人们一百多年,这真是一件令人匪夷所思的事实。
5 基数悖论
基数是有限集合的元素个数这一概念推广到无穷集合后的概念。可以把基数当作集合的元素个数这一概念来考虑。集合S的基数通常用|S|来表示。以集合S的所有子集为元素构成的集合称为集合S的幂集合,记为M(S)。基数理论有一个著名的康托尔定理:集合的基数小于其幂集合的基数。也就是|S||M(S)|。根据这一定理,任何集合的幂集合都是一个更大的集合(基数更大的集合),因此不存在最大的集合。
康托尔证明他的定理的要点是,证明由S到M(S)的任何映射,都不可能覆盖整个M(S),即对任意一个由S到M(S)的映射f(x),都可以找到一个S的子集L∈M(S),但不可能存在元素a∈S,使得f(a)=L。因而证明的任务就是找到这个L,并证明不存在那个a。L的构造是L={x|x∉f(x)},即L由不属于自己映像的那些元素构成。现在看哪个S的元素a能映射到L。设存在a使得f(a)=L,如果a∈L,那么根据L的定义a∉f(a) ,而f(a)=L,因此a∉L,这与a∈L的假设矛盾;如果a∉L,由于f(a)=L,应有a∉f(a),那么同样根据L的定义,应有a∈L,又与a∉L的假设矛盾;a是S的元素,L是S的子集,因此a∈L或a∉L二者必居其一,而前面的证明显示这二者都不可能,这一矛盾说明,使f(a)=L的a是不存在的。
基数悖论:考虑以所有集合为元素的最大集合U,U的子集也是集合,因此也是U的元素,因此U的幂集合M(U)是一个由U的元素构成的集合,因此M(U)也是U的一个子集。因此|M(U)|≤|U|,但由康托尔定理可知,|U||M(U)|,矛盾。
基数悖论是由康托尔定理证明的。质疑基数悖论就是质疑康托尔定理。质疑康托尔定理可以从检验康托尔的证明所构造的集合L是否为集合开始。集合L的奇点检验表达式为x∈L↔x∉f(x)。对于元素a该表达式为a∈L↔a∉f(a)。由于f(a)=L,因此有a∈L↔a∉L。该表达式的值为假,即a是集合L定义的一个奇点。也就是说L不是一个集合。而康托尔的证明正是由在奇点处应用集合定义讨论奇点是否属于被定义集合而导出矛盾的。这一过程本身就包含逻辑错误。因此将矛盾归结为满映射f(x)存在的假设是不充分的。由此可知,康托尔的证明不能证明他的定理。
否认康托尔的证明还不足以否定康托尔定理。这里将举出一个反例来否定该定理。试看由空集∅和被定义集合的真子集构成的集合Q,即Q={x|x=∅∨x⊂Q}。可以举出一些Q的元素的例子:∅,{∅},{{{∅}}},{∅,{∅}}等。在Q的定义中使用Q只是为了简单明了,可以看出,Q的元素是所有可以用四个字符∅{,} 按集合的规则和含义书写的表达式,Q本身除外,还允许使用…来表示无穷元素的子集。Q的奇点检验表达式为x∈Q↔(x=∅∨x⊂Q),看不出有什么可以成为奇点的元素。因此按本文的公理Q应为一集合。由于Q只包含自己的真子集,所以Q不包含自己。如果限制幂集合只由真子集构成,则可以看出,Q和M(Q)拥有完全相同的元素,即Q=M(Q)。因此Q可以反证康托尔定理。由于包含或不包含S本身的幂集合只相差一个元素,因此Q也能反证正常定义的幂集合下的康托尔定理。
可以证明,实数集合的基数大于整数集合的基数。还可以证明,实数集合的基数等于整数集合的幂集合的基数,因此康托尔定理在整数集合这个无穷集合上是成立的。
由于康托尔定理不普遍成立,因此基数悖论也就不存在了。
6 序数悖论
良序是整数中每一个数都有下一个数的概念的推广。下一个数也称为后继。这一概念使得整数可以排成一列,并一个个地数下去。实数虽然也能按大小排起来,但实数没有下一个数的概念。这是因为,在比某个实数大的实数里没有最小的那一个数。因此,良序的性质应包括,序,即任何两个元素都可以比较,和任何一个子集都有最小元素这两点。具有上述两个性质的集合称为良序集。因此,良序集就是元素可以按序排起来,并一个个地数下去的集合。一般用小于符号表示两个元素之间的序的关系。序是严格可比较的概念,也就是说,如果ab,则a≠b。
在现代序数理论里,序数被定义为一种特殊的良序集,所用的序是集合的元素对于集合的从属关系,即如果a和b都是序数,且ab,则a∈b,也就是说,a是b的元素。考虑到序数a∈a就是aa,而这是违反良序规定的,因此序数不能以自己为元素。一个序数被定义成一个集合,它由所有小于它的序数构成。最小的序数被定义成空集∅。如果G是一个序数,那么用命题表达式来表示就是(G=∅)∨(∀aG(a∈G))。
通常用整数的符号0,1,2,… 来表示比较小的序数。注意,这里1不是一个整数,而是一个符号,它表示一个序数。可以举出一些序数的例子。空集∅是最小的序数,记为0。0的后继包含0,因此是{∅},记为1。1的后继包含0和1,因此是{∅, {∅}},记为2。2的后继包含0, 1和2,因此是{ ∅ , {∅}, {∅, {∅}} },记为3。可以这样一直推下去。但完全展开太复杂了,可以用简式的展开,例如:7={0,1,2,3,4,5,6}。所有如此定义的由整数符号表示的序数的集合为{0,1,2,3,…}也是一个序数,称为整数序数,记为ω。ω的后继是{0,1,2,3,…,ω},如果再继续,这种记法就不方便了,现在需要换一种记法,ω的后继记为。为统一记法,可以将前面的序数也记为二元记法。例如,1可以记为,ω记为 等。二元记法及后面的多元记法的比较规则是,从左到右一元一元地比,第一个不同的,就是比较结果。当然,只能是相同元数的进行比较。少元数的总能等效地记为更多元数的记法。这样,又可以从排到,再从排到。直至。的后继是。如此还可以一直继续下去。
这里,序数n的后继是由序数n构造出来的。构造的方法是,将序数n(一个集合)当作一个元素加进集合n里以形成一个更大的集合。这个更大的集合就是n的后继。这样,序数n的后继可以表示为n∪{n}。
一个序数n包含所有比它小的序数。反过来说,所有比序数n小的序数构成的集合,也就是序数n自己。这种包含从最小序数0直到某一个序数n之前的全部序数,中间没有空缺,的集合称为n的前段。n的前段就是序数n本身。这个前段的概念现在还是相对于一个序数定义的。如果把前段的概念一般化,使之脱离某个具体的序数,而成为一个序数的集合的概念,这样就能反过来用前段去定义序数了。将前段的概念一般化是这样的:设G是一个序数的集合,如果对于其中任一元素a,G包含所有小于a的序数,则称集合G为一个前段。考虑到空集∅是一个特殊的前段,将这种前段的定义写成命题表达式就是(G=∅)∨(∀a∈G(∀ba(b∈G)))。例如,序数的集合{0,1,2}就是一个前段,它没有引用3,但它定义了序数3。在前段的定义表达式中,由于a是序数,所以它包含所有比它小的序数,而对于序数,和∈是等同的,因此可以将定义前段的表达式中的符号换成符号∈,因此前段也可以记为(G=∅)∨(∀a∈G(∀b∈a(b∈G)))。如此表述后,前段的概念就被推广成由从0开始直至某个没有明确指明的点的所有序数的集合。而这个集合又符合前文关于序数的定义而成为一个序数:它以所有比它小的序数为元素。由这样定义的前段所定义的序数,就是那个没有明确指明的点的那个序数。在前文提到ω是一个序数时没作更多解释。现在可以用前段进行解释,所有用整数符号表示的序数的集合{0,1,2,3,…}是一个前段,所以ω是个序数。如果在一个前段里存在最大序数m,则该前段就是由m及所有小于m的序数构成的集合,它定义了序数m的后继。但这并不是前段的主要意义。前段的主要意义在于当序数的集合中不存在最大序数时,它也可以定义一个序数,例如前面的序数的集合{0,1,2,3,…}。像ω这样的序数被称为极限序数。它只有下一个(后继),但没有前一个。
序数悖论:考虑所有序数的集合O。因为O包含所有序数,因而O构成一个前段,即O是一个序数。因此O∈O,即OO,这与序数O是良序集的定义相矛盾。
试对O的定义进行奇点检验。如果采用序数的前段的定义并考虑到序数不能包含自己这一点,O的奇点检验表达式为x∈O↔(x=∅)∨(∀a∈x(∀b∈a(b∈x∧a≠x∧b≠a)))。检验对象O是否为奇点而令x=O得O∈O↔(O=∅)∨(∀a∈O(∀b∈a(b∈O∧a≠O∧b≠a)))。如果O∈O为真,则右边a和b都可以取值O。令a和b都取O并简化后得右边为O∈O∧O≠O∧O≠O,其值为假,而左边为真,因而等价关系不成立。这里右边为假也就是因为O包含自己,所以不再是序数的意思。如果O∈O为假,则右边a不能取O,于是a≠O总为真,a是序数,不会自己包含自己,因此b也不会取a,于是b≠a也总为真,O包含所有序数,所以无论b取何值b∈O总为真,因此右边(b∈O∧a≠O∧b≠a)总为真,所以右边为真,而左边为假,所以等价关系又不成立。所以O是O的定义的一个奇点。因而O不是一个集合。由于O的定义包含奇点,所以本文的公理可以避免讨论全体序数的集合这样的问题。
现在看序数悖论的矛盾是如何导出的。如果O不包含O,则O是一个序数,没错。但由此应用O的定义而得出O∈O,恰恰是犯了在奇点O处应用O的定义讨论奇点O是否属于被定义集合O的的错误。由前面的分析可知,序数悖论也是一个逻辑错误而不是一个真正的悖论。
还值得顺便一提的是,序数都是本文前面定义的集合Q的元素。序数的全体不构成一个集合,这说明存在这样的性质,它不能在一个集合内定义一个集合。这一点反证了目前普遍相信的,在一个集合里用性质定义的集合一定存在的观点。
7 结论
奇点的发现,解开了集合论困扰人们至今的悖论的谜团。本文提出的经改进的概括公理可以保证所定义的集合存在。这使得集合论可以恢复朴素集合论的简单直观的风格而不再受悖论的困扰。这是本文认为集合论的混乱局面可以结束的根据。
下载全文:https://rapidshare.com/share/28F02D5118B4806DEA1F806C71AF6800
英文版: http://pierredeboussy.blog.com/2014/03/30/the-end-of-confusion-on-set-theory/