康托对角线法真的证明实数不可数了吗?,本文主要内容关键词为:实数论文,对角线论文,数了论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
现代集合论中,连续统假设(Continuun hypothesis)等问题迄今未获满意解决,(注:张锦文、王雪生.连续统假设,P251.)显示应对某些基本概念和方法进行更为深刻的分析。哥德尔(K·Gdel)几十年前论及这一问题时指出:看来这里还有更深刻的原因,并且只有在它们中出现的词项(如“集合”、“一一对应”等等)和支配这些词项的使用的公理的意义进行(比数学通常作的)更深刻的分析,才能得到这些问题的完全解决。(注:李佛奇、叶景梅.集合论导引,P82,宁夏人民出版社,1981年1月第一版.)
康托对角线法(注:沈卫国.论数学基础问题,论自然科学的若干基本问题,海风出版社,1998年9月第一版.)通常被认为是数学基础方面的一个重要方法,很多数学定理的证明均直接、间接与其有关。正是由它,直接界定了“可数”与“不可数”集合间的区别,从而产生出一系列引人注目的重要结果。人们似乎认为这一方法的使用是不需前提条件的,因而没有任何问题。但笔者认为,对其进行更加详尽的分析是必要的。
众所周知,康托对角线法不但被认为证明了连续统不可数,并与哥德尔定理、图林机停机问题、递归问题、与勒文海姆—司寇伦定理有关的悖论等有渊源关系,科恩在证明连续统与ZF系统的独立性及使用力迫法时,也频繁用到可数、不可数概念(注:张锦文.公理集合论导引,P65,科学出版社,1991年1月第一版.),但为以往文献所未见的是,该方法的使用对于[0,1]区间的实数而言,实际上隐含着一个必要前提:康托对角线法的实数排列(纵向)中的第n个实数与实数的无穷小数表式(横向)中小数点后第n位数字间存在一一对应联系。此前提可视为一条公理,简记为n→n原则。
事实上,如设0~1区间的实数的无穷小数表式是二进制的,则其前n位就有2[n]种不同的排列方式,可以表示2[n]个由前n位不同的排列方式决定的不同的无穷小数表式下的实数,但在康托对角线法所依赖的n→n原则下,显然只能表出其中的n个,有2[n]-n个必被遗漏,当n趋向无穷时,此式始终成立,于是应有而由康托对角线法新产生的那个实数,仅为也必为其中之一。基于此,我们可以考察一无穷层丰满二叉树,该树之根只有一个节点,令其为第0层;第一层有2[1]=2个节点;第二层有2[2]=4个节点;…,第n层有2[n]个节点。而n层以内的节点总数共有2[x]=2·(2[n]-1)个(不算根节点)。已知该树上由根到无穷层的任一枝,可以唯一地表示0~1间的一个二进制无穷小数表式下的实数,同时由于该树是丰满的,因此所有枝的集合即为连续统[0]。在实数的这一表示法下,位(层)数与节点数为一对多对应n→2[n],在下文中,我们将基于此,来求证实数的可数性。
康托对角线法中的数实数的方法是隐含约定与位数对应的数法,(注:M.克莱因.数学:确定性的丧失,P210,湖南科学技术出版社,1997年6月第一版.
Mathematics-the loss of Certainty,Morris Kline,Oxford University Press,1980.)即每数过实数的一位,同时数一个纵列的实数,因此总有遗漏。
这是因为,在对角线上确定前n位数时,纵向列表中的前n个实数的前n位必不包含由对角线法产生的那个n位组合,而要保证产生它,必得数到2[n]个时(其码也要在n之后才可能,但这不能保证),所以对角线上的数的产生在操作上表面看在纵向实数列表产生之后,但实际以各种位数的完备排列产生的先后看,如纵向列表在2[k]个数后确定了k位的全部组合,此时对角线上的数已确定了2[k]位,远远“跑”在前面了。
所以对角线法的本质可作两种理解,一种是:前n个实数不可能产生对角线上产生的那个数的前n位组合,随着n→∞,该数被排除于纵向列表之外;另一种理解为,纵向可穷尽所有前n位的组合,但在前n个实数做不到,必须到2[n]个才行,而此时对角线上产生的数已产生了2[n]位,且该组合仍在前2[n]个实数之外,因此对角线法等价于一个命题:无论怎么排,总有该列表之外的实数存在。
而具体这个数前n位的确定,总先于列表中n位的一个完备组合所需要的实数个数,即前n个实数不可能穷尽这种组合,这就给对角线操作(求反、求异)提供了基础。而这一切皆源于n→n对应原则,即位数与列表中实数个数n一一对应。这里,有必要再仔细分析一下对角线法,以便找出隐含其中的更深刻的东西:我们完全可以把实数按前n位的一个完备排列(组合)一一排下去,这样,在2[x]之下(或不考虑某位后全0或全1的实数,在2[x]│[,x→∞]下),应能表示全体实数,我们当然可以把这归究于n→2[x]对应原则,在n→n原则下不行,但该排列仍放在那儿,为什么不能(不让)表示完备实数系(n→n原则下)?更深层的意义究竟是什么?这就要探究在某种对应原则下(比如n→n,n→2[x]等等)它的意义(即“隐表述”)究竟是什么?应该说,既然是“对应原则”,在箭头二边即表示两个不同事物,比如左边表实数个数,右边表实数位数等等,因此这意味着当左边个数一旦确定,即有一语句表示的含义与之对应。表面上看,比如n→n对应原则下的对角线法与操作进度有关,比如操作到n个实数及其n位等等,但即使不操作,也可以认为该表中的纵列实数及对角线上的数已客观存在在那儿了,与操作与否无关。那么,其准确意义究竟是什么呢?我认为应是:一旦挑出该列表中的任一实数(箭头左边的含义),究竟意味着什么(箭头右边的含义)。在对角线法的n→n对应原则下,它意味着总有一数的前n位排列方式总与前n个实数的都不同,而正是可能的排列变化(组合)数大于数过的实数个数,才为此提供了可能。所以我们说,要保证一系统不完备,则必须要保证有系统达不到的数,而保证这一点的方法之一,即找到一种产生或数过实数的办法,这种办法保证可能的选择数大于数过的实数个数,由此产生(直观上)或事实上(按此办法)是存在这些数过的实数之外的数,而反之,如果我们要保证没有这样的数存在,换言之,要保证系统是完备的,则起码要求可能的选择数应与数过的实数个数相等。显然,这在n→n对应原则下,即对角线法可以应用的情况下是做不到的,因它允许当数过n个实数时,虽然其前n位可有2[n]种选择,但对角线法只择其中之一,且保证与已数过的每一实数均不同。
有一个可能让人困惑的问题,我们按2[x]的方式(包括某位后均为0及1的数)或2[x]│[,x=n]方式(不包括其位后均为0及1的数)列实数表,使其前n位的各种组合数2[n]与数过的实数相合(2[n]个),此表当n→∞时应完备。但在此表中,对角线仍存在,其前n个数又有2n种不同选择,此表又不完备了,如何解释?这实际上是我们无意中变换了对应原则所致。一种数过的实数个数与其前n位可能的组合数对应(前者),一种则与其位数对应(后者)。人们有可能在此产生的争执,即上述二维表中,究竟允许不允许不存在对角线的表述方式?在这个问题上,可以分为可能的二派,说不上谁正确,只不过是他们采取的原则不同而已。
原则1:只要是二维表,一定有对角线,这是二维表的性质决定的;原则2:即使是二维表,对角线的有无也取决于它使用的原则,只在n→n原则下对角线存在,而n→2[n]等原则下,不应承认存在对角线,此时的二维表也可称为“伪二维表”,只具形式而已(区别于通常人们理解的二维表)。
对持第二种原则的人,尽管把实数按即定原则排列起来,只要注意不去使用对角线法即可,而对坚持第一种原则的人,一用二维表,就意味着存在对角线,进而可使用对角线法,于是这样排列的实数表必不完备,那么,我们就放弃这种排列方式,而使用丰满二叉树表示法来避开这一问题,同样可证明实数的可数性,只要牢记“有多少种位数个数组合方式的可能的选择,就数过多少实数”这一原则即可。
为了更好地说明这一问题,我们可以考虑以下有趣方法。事实上,我们完全可以用不同于对角线法的方法,确定一数不在系统中,比如,纵列实数按2[n]-n(<2[n])产生,其中n为位数,这样,总可以找到不同于它的一个实数,这一方法,可称为“伪对角线法”,或“拟对角线法”。更极端地,我们有前2[n]-1个纵列实数,而此时n位有2[n]种排列方式,这样一种排列,即使在n→∞时,也不会完备。
事实上,即使在传统的实数排列的二维列表(一维实数个数,一维实数位数)情况下,对角线法也不是无条件的,它也取法于纵列实数的种类及排法,比如将某有效位后均为0的有理数,即使是一个无序的随机排序(更不用说按位数组合的一个有序排序),对角线上必定是一个无穷小数表示的实数,不但在该表(排序)之外,而且数的性质就不一样,不是一类数,因此对角线法在这里不应使用,可见对角线法从来就不是无条件的,只不过人们没有意识到这一点罢了。
我们说,要确定位数与实数列表中的位置(数过的实数个数)有某种关系的某实数不在某集合中,必须要在该集的前n位的完备表述之前确定该数的第n位,比如康托对角线法,你可以认为在一个实数列表形成之后,才去确定的那个对角线上的求反得到的实数,但你也可认为,该表的第n个实数,产生于实数列表前n位的完备排序2[n]之前,因为如果一旦使前n位的组合完备的所有实数被选出,我们就无法再去确定要选的集外的那个数的前n位,既然我们无法选出集外之数,从另一角度就说明,所有数全在该集中,如此操作下去,必可保证无任何数被遗留在该集外面。
正是按上述思路,我们改动也仅仅改动前述康托对角线法的隐含前提n→n原则,在新的原则下,求证0~1区间全体实数集合的可数性。
设:丰满二叉树的第n层与实数小数点后第n位一一对应。而该层有2[n]个节点。因此,该层所对应的位数与节点间为一个位数(层数)n到第n层节点数2[n]间的一对多对应,简记为n→2[n]原则,以取代康托对角线法所依赖的必要前提(条件)n→n原则。当然,也可以每层选一代表节点与该层层数一一对应,此时该层其它节点没有任何层数可对应,但这里必须强调:未与可数层数(位数)一一对应,并不等于不能与自然数一一对应(即并不等于不可数)。这是两个不同概念。
现逐层(位)数过该二叉树中所有节点(先广遍历):数到第n层时必能数过2[x]=2(2[n]-1)个节点,由于2[x]=2(2[n]-1)=2(2[n]=1)>2[n],其中2[n]为该层所对应的节点及枝数,因此只取该层以前(包括该层)所有节点中的2[n]个即可。康托对角线法是一边数实数的个数(纵向),一边不断同步数过实数的位数。而丰满二叉树的先广遍历法,本质上一样,当数到某一节点时,代表数过一个实数,同时数过实数的位数。康托对角线法中可以直观地理解成当位数(横向)→∞时,实数个数(纵向)也→∞,而丰满二叉树的先广遍历法,在这一点上没有本质的不同,只不过实数位数与实数个数不再一一对应罢了(尽管二者都分别的可数到),但由于数的过程中数再大也是有限数,这一点无关宏旨。总之,只要康托对角线法可用,本文提出的丰满二叉树的先广遍历法也必可用。
现在,这些节点可表示那么多个未完成的(即正在构建中的)实数,当数到某一节点时,由其上生成二枝,依次类推,随着树中每枝(即每一单个实数)的构建,层数越来越多,被数到的构建中的实数的个数也随之增多,并与前n层的不同组合数一一对应(与层数当然不是一一对应的,但谁又能说只有层数才是可数的?),此一实数生成法,必可穷尽所有实数,如其不然,则必有某一分枝(实数):不是1.其中节点不被数到,即该枝不在树中,进而树不再是丰满的;就是2.有一枝,当我们数到树中某层时,该枝下面某(或某些)层的节点已被确定,由前文所述,当这种情况出现时,意味着在未定的组合选择中有“事先”选择权,进而可能产生非系统中的枝(实数),但该枝中的每一节点仍可被数到,比如,我们可令树中最左边的那一枝——即节点全为0的那一枝不在系统中,但是由于我们允许某些枝比先广遍历先产生(确定)更多的节点(层,对某确定的实数而言,一层一个节点)这等于约定了一个先广遍历做法下产生的节点及层,永远滞后于某些先产生的节点,而这,等于否定了先广遍历,于是,我们可以令所有先沿最左边的那一枝(节点全为0)延伸的枝在某一给定节点处,必拐向另一边,则该全0枝永远不会被达到,但枝上的所有节点仍可被达到。这种丰满的二叉树是形式上的,外形上如不标出每一个枝,它也是丰满的,但如标出这些枝,则不一样。我们可将标出所有枝的称为“贯通丰满二叉树”,将不标的称为“一般(或形式)丰满二叉树”,以示其微妙但重要的区别。后者显然不能表示一个完备实数集。当然,在我们规定的实数生成法下,上述二种情况均不会出现,因此,一个所谓“贯通丰满二叉树”必能被充分表达及做出,也就能够“可数”地得到一个完备实数集(应注意,注释(注:沈卫国.论数学基础问题,论自然科学的若干基本问题,海风出版社,1998年9月第一版.)P3的证明不严密)。
总之,由前文分析,我们事实上可以看出康托对角线法的一个隐含义,即它等价于一个实数特殊的、不完备排列:它的前n个实数的前n位只有n种不同的排列方式,而非完备的2[n]个,因此,当n→∞时,它只能表示实数的一个很小的子集,即正是需要由康托对角线法证明的东西,已经隐含在其操作前提中了,即已由其前提、做法所唯一地规定了,正是由于没有意识到这一点,康托认为他证明了普适情况,而实际上,只不过是一个特例,因为n→n对应原则尽管是直观的,但却不是唯一的,在康托的做法下也不是完备的。
对角线法的局限性说明,推导、推理的任何一步(过程),都必须有“出处”、有根据,即要有公理、前提条件来保证,即存在相对性(在公理可换的意义上),而过去对该过程往往认为理所应当。其思路(“潜规则”,某种意义上科学进步的职责即发现潜规则)为:既然任一0~1区间的实数总可以表示为无穷小数,则在其上(无穷小数表示法)的一切推理结论,即可用于一切实数,即实数的各种表示法是绝对的无条件一致的,而未意识到在推理过程中是否引入了新的条件。实数可表为无穷小数,只能是在不进行与之相关操作的条件下。事实上,只要引入多余的不同的语句(比如实数表为无穷小数等),即无意中同时引入了新的信息,被赋与了新的含义,即产生了区别,而这种区别,就有可能在新的操作下得出不同的结论。
总之,康托对角线法下对实数的“数”,已不是一般意义上的、自由的、随意的“数”,而是有约束(前提)条件的“数”了,即每数过实数的一位,同时数过一个实数(纵向排列的),在此意义上,这样数出的实数集必不完备(不是完备实数集),因为前n位的排列组合数即有2[n]个(二进制下),而此时仅能数过其中n个实数,直至无穷大。
为了更直观地加强对康托对角线法局限性的认识,我们可将康托对角线法的结构在丰满二叉树中表出:
由于在一维表(如把实数位数包括进来则是二维表)中列出的实数个数与实数位数——在二叉树结构中即为层数——一一对应,则每数到n层,即产生n个实数,而此时该层有2[n]个节点,即可表示2[n]个组合(实数),有2[n]-n个组合(实数)被遗漏,其中必包括由康托对角线法产生的那一个,也可以说对角线法只是产生了其中之一,很容易从中找出一个组合,使其每一层均作此选择,则产生的那一枝必不在所选系统中(但却是树中一枝)。与之相反,对前文描述的2[n]-n的“伪对角线法”的情况,可表述为每增加一层,对完备集(丰满二叉树)对应的情况减一枝,对2[n]-1的情况,则为丰满树中任减一枝,与层数无关。
前文已述,一个丰满二叉树中的节点数与枝数有比例关系,因此对树中各枝的遍历可用对各节点的遍历代之,而对角线法的本质,是(等价于)试图对该树进行先深遍历操作,但由于对应于每一实数的该树中的任一枝的节点为无穷(即“深度”无穷),因此,这种所谓先深遍历是根本无法进行的,而由前文可见,一个先广遍历是完全可以进行的,可见,由前者的不可行是否定不了后者的可行性的。总之,用某种数法数不到的,用另一种数法则完全可数到。
我们还可以取另一种证明实数可数的方法,也许更有说服力:将一个平面上的丰满二叉树,转化成三维空间的一张“表”,在此表中,一维仍表示实数位数(对应二叉树中的层数),一维表示与位数(层数)一一对应的那一类实数(即可以穷尽到该位数为止的所有排列组合的)的类数。最后一维,表示所有上述类实数的全体。显然,上述三维“立体”表还并不能填满整个三维空间(只是占据部分三维空间),而由有关文献,我们早已知道对任意自然数n,序数ω[n]是可数的(注:[英]罗杰·彭罗斯.皇帝新脑——有关电脑、人脑及物理定律,湖南科学技术出版社,1994年第一版,P64~P74,P122~P129,P133~P140.
The Emperor's New Mind-Concerming Computers,Minds,and The laws of physics,Roger Penrose,Oxford University Press,1989.),因此,ω[3]也必然可数;进而ω[3]的一个子集也必然可数,而实数集只不过为ω[3]的一个子集,所以实数集在这种数法下必可数。
下面,我们可以顺便谈一谈各类实数间的比例问题。我们可以将实数分成三种类型:
(1)某有效位后全为0;
(2)某有效位后全为1;
(3)有效位为无穷,包括循环与非循环小数。
我们任取丰满二叉树的相邻二层,先令上层节点往左边的分支全为0,且对以后的任何层皆保持为0;往右边的分支全为1,且对以后任何层皆保持为1,而已知该层下一层的节点数为该层的2倍,这样,下一层有半数是从上一层后皆为0或1的那些节点顺延下来的,即已经被上一层操作过了,因此不能再操作,所以这一半可以令其为无穷小数(循环或不循环),而另一半仍进行前述全0、全1操作,由此我们可以看出,上一层与下一层节点数共三份,其中一份为以后全为0的,一份为以后全为1的,一份为以后为无穷小数的。它们各占1/3。事实上,在前述二维表情况下,这三种情况也均可以单独按n→2[n]原则排序,共三个列表,显然,某位后全为0的为有理数(一部分),全为1的为无理数(一部分),而无穷小数中有有理数(无限循环小数),也有无理数(无限不循环小数),因此我们有理由猜想,起码在二进制下,有理数与无理数各占一半。
由上述讨论可知,一个完备的实数集的表述及其可数性的证明,应该基于贯通丰满二叉树中的各节点及贯通枝,在二维表表述下,应按2[x]排列,而不是2[n]│[,n→∞],当然如不太严格地,只取完备集的子集,即上述三种情况之一的无穷小数情况,由于传统上认为它即不可数,因此,在这个意义上证明也可成立。
总之,在某些限定条件下,n→2[n]对应原则仍可视为有效,但用2[x]则更完备。
通过以上分析,我们知道,对角线法并未做到证明实数系不可数,它需要首先证明的是:按对角线法只要有在n→n原则下的二维表中不在纵向序列中的实数,整个实数系即不可数。即要证明凡可数,必应与无限小数的位数一一对应,这显然是一个过强的限制条件。“可以”不同于“必须”。而已知前n位(二进制下)必有2[n]种可能的排列组合,所以我们完全可以做到这一实数纵列不但不包括对角线上的数的反数,而且它的任意前n位的排列组合也不包括在任一纵列实数的相应前n位中,如令列表中第一个数的第一位数为1,则第二个数的第一位数令其不为0(为1),且以后各数也如此,只为1,而第二位,则只与第二个数的第二位数相等,且不许以后也出现不等。这样,即可以有一纵向实数排列,可以满足上述要求。但如对每一n位,均有2[n]个不同的排列组合方式而穷尽前n位的所有可能排列,则n→n原则下对角线上求反产生的那个数,必在此排列中(无论n有多大),此排列与位数n不一一对应,但与非n→n原则下的纵向列表中的数n′一一对应,所以必可数(按新的对应法则,不再有“对角线元素”这样的东西了,因为它依赖于实数位数与纵列的对应原则)。由康托对角线法,我们进一步了解到:如小数表示的实数的任一前n位数的排列组合均在实数列表中前n个实数中没有,则可认为此无限位的实数不在此无穷实数列表中。
在n→2[n]对应原则下,每一前n位的排列组合方式,在纵向前2[n]个实数中必有对应(可找到),依与以上相同的原理,可证必穷尽所有排列组合方式,在对角线法成立的情况下,有n→n对应原则,尽管严格意义上应写成n→n′。而在n→2[n]原则下,最好写成n→2[n]′,以示n与n′的不同,否则有人也许会问,n=n,总是一个东西,为什么还不能自己对应自己?即横有n,纵也有n,数相等,一个东西,即意味着对应。而实际应为n与n′,含义不同,一横一纵,其对应与否完全取决于公理系统,这样就好理解了。如有人说,实数的无穷小数表示法及纵向排列本身,对角线是客观存在,这里实际上是隐含采用n→n′原则,尽管它的确很直观,但其它原则也是可以有的。
在n→n′对应原则下,n与n′一一对应地趋向无穷,而在n→2[n]对应原则下,横、纵趋于无穷并非一一对应,但由于2[n]′与n′、n一样有限,所以纵向实数个数与自然数仍一一对应(尽管此时与横向(即位数)不一一对应了)。
这里有一个问题,纵向排数(即实数个数)与横向的位数不一一对应,但它们分别又与自然数一一对应,而自然数显然与自然数一一对应,岂不矛盾?问题的症结就在于,人们通常认为自然数集与另一自然数集肯定无条件地一一对应,并同步→∞,而事实并非如此,它也取决于对应原则,在不同对应原则下并不一样,如令偶数集与自然数集一一对应,在此对应原则下,则偶数集所在的自然数集与与之对应的自然数集必不能再一一对应,除非解除这一对应原则而另择新的原则。
因此,必须严格区分“可以对应”与“正在对应”(已经对应)的区别,以往人们往往不加区分。于是,在某些对应原则下,此自然数集可以与彼自然数集“不一样大”(谁让人们通常认为自然数集可与其无穷子集一样大呢?),康托只是允许后者而不允许前者,所以出现了问题。因此,我们今后必须有比如“自然数集A”、“自然数集B”等等术语,当代集合论中的许多问题,正是没有严格区分这些细微概念所致。
如果我们认为自然数集只有一个(此时,它自身当然可以与自身一一对应,但此时显然不能再与自己的一个真子集比如偶集一一对应),或一个自然数集合只能与另一个自然数集合一一对应,那么,自然数集甚至将不可能与偶数集、奇数集等任何自然数集的无穷子集一一对应,进而康托的有关这方面的论述以及集合论的相当一部分内容将会失去意义。
如果认为自然数集可以与另一自然数集的偶数子集一一对应,则在此对应原则下,这两个自然数集间将不再有一一对应的关系,这应该是不难理解的,但却几乎根本没有被人们考虑过。很多问题事实上也正出在这里。这就好比人们只允许一个人有不同的名字,但却不允许或没有意识到同一个名字应该也完全可以被不同的人所取。以往理论界只强调了前者,对后者几乎未予注意,甚至认为是不可能的。实际上如果承认前者,也必然应该承认后者。如果认为一个自然数集,可以与另一自然数集一一对应,也可以与其任一无穷子集(比如偶数集合)一一对应(这正是通常的,也即康托的看法),但通过前文分析可知,这必然是基于不同的对应原则之下的,它承认不同的对应原则均存在,均有意义,但并不能同时对一个对象使用。即:在两个对应集合之间,要么取消某一对应原则之后,再采用另一对应原则(此时它们之间是不相容的),要么不同对应原则可以同时存在,但对应的自然数集合必为三个以上。即对某一集合而言,不同的对应原则,可同时应用于不同的对应集合,但每一个,只能取一种对应原则。
以往理论上之所以有一些困惑,与上述关于对应原则的有关问题没有被澄清有直接关系。同时,实数集与自然数集的关系,我们看到,与有理数集、偶集等等与自然数集的关系在本质上并没有太大不同,只不过在康托对角线法中,对应原则的相对性问题是比较隐蔽的,因此,被人们看成是绝对的了(n→n原则)。
应该看到,实数集、有理数集、自然数集以及偶数集等自然数集的无穷真子集的存在并依次被包含,就说明有区别无穷集合的大小的必要。但也应该明确,这是在同一个实数集内部的前提下的。即在此时,上述集合之间均不能相互一一对应,只是一个真子集的关系,它们均隶属于同一个实数集。因此在对这些集合命名、定义的同时,自然也就选定了相应的对应原则。但它们与另一实数集中的相应子集间的对应关系,就是另一回事了。而这种对应之所以必须研究与保留,是客观上实际存在这样的对应关系,正如康托所阐述的那样。因此理论上排斥它是没有道理的。但我们必须仔细分清各种对应关系的前提条件及适用情况,否则产生混乱就不足为奇了。
由前文我们已知,对角线法隐含公理,因此是有前提条件的,这条公理(前提、原则,见前文)等价于命题:对角线法可以成立(操作,进行)的条件成立。即实数的无穷小数表示法、按纵列将其排列等,但这一点作为实数集合仅是可以还是必须?显然,实数仅是可以表为无穷小数而非必须,因此,这种表示本身即已经无意中引进了某种含义。而这一点,尽管在大多数情况下无任何影响,但在某些情况下,必然有影响,对角线法即是。因此,既然此原则等价于命题:对角线法此时可进行。那么,无此原则,即等价于“对角线法不可进行”,而对角线法不可进行的情况,过去被忽略了,这才产生实数的可数性问题及与此有关的一系列问题。
如果认为尽管实数的小数表示法不是唯一的表示法,但由实数小数表示法得出的结论对实数集始终有效,即它的结论是绝对的、普适的、自明的,但这一点本身显然并不自明,谁能保证由实数的小数表示法与其它表示法引伸出的论述完全一致?只有公理,由公理来保证。如此一来,这一点本身又成了相对的、不普适的、不自明的了。其逻辑思路为:对不同事物说其普适(自明等),则必引入公理界定之,即这种普适依赖于公理,而依赖公理的命题是并不普适的(除在该公理系统之内),于是产生矛盾,即反证无绝对意义的“普适”。
至于康托证明实数不可数的区间套法(注:李佛奇、叶景梅.集合论导引,P82,宁夏人民出版社,1981年1月第一版.),事实上,用全体有理数序列代替其中的实数序列,同样可以有该序列之外的有理数存在。因此结果只有两个:要么承认可数概念将具体数法作为前提条件;要么承认该法不具完备性。其根本原因在于,可看成特定对应原则下的一种数法的一个有确界的按大小顺序的排列,不可能遍历其定义本身就已超出这种顺序排列所能表示的无穷集。
毫无疑问,区间套法也依赖于对实数特殊的数法(即某种对应原则)。它的本质,是明知按分析中的区间套定理,存在一个属于所有区间套的实数,但又偏去数那些总在某一套外的实数。这种数法当然会有事实上是人为的遗漏,因此不可能完备。
对笔者的上述论点进行评判,只需问两个问题:
(1)没有n→n对应原则,康托对角线法究竟还能不能做下去?
(2)n→n对应原则是不可替换的吗?以其它原则代之,是否与现有系统中其它(除n→n对应原则外)公理矛盾?
这两个问题是不可回避的。只要回答了这两个问题,我想对本文中笔者论点作出恰如其分的评判是不难的。(注:张锦文.公理集合论导引,P65,科学出版社,1991年1月第一版.)
由于本文对康托对角线法、对应原则、实数的可数性等问题的澄清,与之密切相关的图林机停机问题、哥德尔定理、递归问题、康托定理也将获得新的视野,它们的相对性地位将不可避免。这些以及更广泛的问题笔者在注释(注:沈卫国.论数学基础问题,论自然科学的若干基本问题,海风出版社,1998年9月第一版.)中均有详细深入的讨论。巴拿赫一塔斯基分球定理(分球奇论)造成的混乱、“连续统假设难以置信的推论”(哥德尔语)(注:库尔特·哥德尔.康托连续统问题是什么?数学哲学,商务印书馆,2003年2月第一版.)、选择公理造成的问题等也将得到澄清,特别是由勒文海姆一司寇伦定理(与对角线法及哥德尔定理都密切相关)(注:希拉里·普特南.模型和实在,数学哲学,P489~P490,商务印书馆,2003年2月第一版.)所导致的“司寇伦悖论”早已揭示了可数性的相对性,“从一个模型的角度看来是可数的集合,从另一个模型的角度看来却可能是不可数的”(注:希拉里·普特南.模型和实在,数学哲学,P489~P490,商务印书馆,2003年2月第一版.)。注释(注:希拉里·普特南.模型和实在,数学哲学,P489~P490,商务印书馆,2003年2月第一版.)的导言中亦提出“可能有这样一种论证方式:或许我们本可不同于现在的地方是具有‘数出’不可数集合或‘计算’不可计算函数等的能力……而只要这种技能并非不可能,我们就有可能解决我们目前不能解决的问题……”。由此可见,可数、不可数等概念进而与之密切相关的康托对角线法的重要性、根本性。只不过人们以往并未怀疑或发现对角线法有什么局限性,因此未能从根本上认识这一问题。在本文基础上,上述问题可被彻底澄清,这也使笔者对本文论点更具信心。
康托对角线法进而一一对应概念的澄清,应该有助于选择公理、可构成性公理甚至罗素悖论等问题的澄清(注:沈卫国.论数学基础问题,论自然科学的若干基本问题,海风出版社,1998年9月第一版.)。仅以可构成公理为例,注释(注:莫斯托夫斯基.数学基础研究三十年,P84,华中工学院出版社,1983年第一版.)中举例,由掷骰子的方式决定一集合的每一元素,“这样的集合肯定是不可构成的。”(注:莫斯托夫斯基.数学基础研究三十年,P84,华中工学院出版社,1983年第一版.)这里是本质上将现实世界中实际的“掷骰子”这一动作与本质上是潜无穷的时间延续概念一一对应所致。因潜无穷是不可完成的,需要占用无限时间的无穷次的掷骰子也不可能完成(构成)。但是,如果我们设定,随着时间趋于某一极限值(时间段趋向无穷小),掷骰子的动作频率趋向无穷大,而这时,该时间极限值必被达到达并越过,同时,与无穷多趋向无穷小的时间段一一对应的“掷骰子操作”在时间极限值之前任一无穷小时段内均有对应值,这样,时间极限值可达到(构成),这种与之一一对应的“掷骰子”动作总体也应认为可达到(构成),即可像事实上不可穷尽的自然数集可被看成整体一样可被“穷尽”,除非自然数也不能被作为整体看待,而只能被看成永不可完成(构成)。人们之所以迷惑于此,是由于混淆了人的实际“掷”动作的时间有限性和只是拟人化的抽象理论概念间的区别,因此没有看清隐藏其中的不同的对应关系。
可以看出,此问题与古希腊的芝诺悖论本质上异曲同工,对后者的详尽讨论可见笔者所著注释(注:沈卫国.论数学基础问题,论自然科学的若干基本问题,海风出版社,1998年9月第一版.)。
总之,要分清两种情况,与无穷长的时间相对应的无穷次操作(潜无穷情况),不可能被完成;其次,与有限时间相对应的无穷次操作,在真正人的实际“操作”意义上,它不可能被完成,但这里讨论的“操作”不是实际进行的,而只是拟人化的一种比喻,在这个意义上,任意多的挑选集合元素的进程(比喻为“操作”)进而其集合(总体)均可允许,这与自然数集中的元素自然数的决定(产生)及其整体(集合)的被承认并无本质区别。
通过以上讨论,我们可以引述注释(注:M.克莱因.数学:确定性的丧失,P210,湖南科学技术出版社,1997年6月第一版.
Mathematics-the loss of Certainty,Morris Kline,Oxford University Press,1980.)中谈到选择公理时的一段话,以结束本文:“正如过去多次发生过的一样,数学家们先是无意识地使用了某条公理,后来才不仅意识到了正在使用它,而且还得考虑接纳这样一条公理的基础。”
笔者认为,在康托对角线法及其相关问题上,情况正是这样。