《数学啄木鸟专栏》分享 http://blog.sciencenet.cn/u/wenqinghui 对错误的数学论点发表评论

博文

Zmn-0770 沈卫国:康托对角线法在其反证法的运用上的逻辑问题以及它的一个最简模型及其它

已有 415 次阅读 2021-12-11 13:07 |个人分类:数学啄木鸟|系统分类:论文交流

Zmn-0770 沈卫国:康托对角线法在其反证法的运用上的逻辑问题以及它的一个最简模型及其它

【编者按。下面是沈卫国先生的的文章。现在发布如下,供网友们共享。请大家关注并积极评论。另外本《专栏》重申,这里纯属学术讨论,所有发布的各种意见仅代表作者本人,不代表本《专栏》编辑部的意见。】

 

 

康托对角线法在其反证法的运用上的逻辑问题

以及它的一个最简模型及其它

  

 沈卫国

 

内容提要:给出了康托对角线法的反证法使用的所有假设、前提,并指出在假设阶段,康托对角线法就是矛盾的,因此它所声称运用的反证法及其结论不能成立,也就是用错了。在此基础上,给出了一个更直观的康托对角线法的等价实际图像,更加凸显其无效性。其后进一步从康托对角线法实数表的可添加性,对角线上有产生有理数的可能等方面论述了其不能成立的理由。此文内容,过去笔者论文中都有涉及,这里更加细化一些。

 

关键词:康托对角线法;实数可数;实数不可数;无理数;有理数;逻辑问题;假设;矛盾;隐含假设;单面硬币假设;双面硬币假设;二进制;单面二维表;双面二维表;单面一维表;双面一维表

 

笔者自上世纪890年代对康托对角线法问题有所悟,到1998年第一本书出版迄今,关于这方面的文章要在古代使用竹简的话,早已“汗牛充栋”。即使是现在,说是“连篇累牍”也毫不为过。对一个在逻辑上一经揭示,如此简单明确的问题,居然这么多年了,数学、逻辑学界毫无反应,只能以这方面的研究水平低下,或一些人无心学问来解释。这个不多说了,毕竟是别人的事。我在这里多说,反倒成了我发牢骚。

     此文再对这个问题重复、细化地讨论一下,也算对所谓“学术界”的仁至义尽。

     声明,此文的讨论内容并不是新的,早先历次文章中,实际从各个角度对康托对角线法相关问题进行过充分的讨论,这里的论点也不例外。是“早已有之”。但此文也许更为严格一些。

 

一、康托对角线法反证法运用中的假设及逻辑问题详析

 

康托对角线法的“开篇”是说,如果实数集合可数(每一个实数可以与自然数一一对应),它的元素(每一个实数)就可以排成一列。这个是当然的。但其中却包含两个假设。可谓一句一个。

假设1:实数如果可数。而可数的定义,是可以与自然数一一对应。更细化一些,是可以在某种对应方式下与自然数一一对应(毕竟任何所谓的对应,都要有其对应方式)。换言之,实数可数,只要一种对应方式下就可以了。哪怕有无穷种对应方式实数都与自然数不能一一对应也罢。这个,举有理数的例子可以很容易地理解。通常而言,有理数当然比自然数“多”,二者不可能一一对应。但康托用其经典方法证明了,有理数与自然数是可以在他提出的具体的一一对应方式下,一一对应的。也就是有理数是可数的。这些,是要说清楚的。否则很多在讨论问题时人并不十分清楚,包括一些所谓的“专业人士”。

假设2:在实数可数的前提下,其全部元素(全部实数)就必然可以“如此地”排成一列。这里之所以把这个似乎是顺理成章的结论也列为一个“假设”,是由于易被忽视的是,就算实数可数,能够排成一列的,可远远不是只有全体实数。无数个实数的子集合都可以排成一列。最典型的就是自然数、有理数等等。于是,你认为实数可数了,所排出的一列就是全部实数了,但实际上在无意中引进的一些隐蔽的、附加的其它假设(限制条件)后,可能实际排出的并不是全部实数,而只是实数的一个真子集。换言之,就算“如此地”排出的并不是全部实数而只是实数的一个真子集,也不意味着实数不可数。因为可能还有其它对应方式可以令实数与自然数去一一对应(可数)。

于是,如果以假设1与假设2为前提,自然可以有满足其一个充分必要性的推论:所排出的全部实数,其可数无穷位小数的任何一种排列方式,都已经在排出的二维表中了(纵坐标为每个实数,横坐标为每一位)。不失一般性,我们就以最简单的二进制下的实数为例好了。总之,既然做了这种假设(假设1与假设2),其必然的推论就自然也是一个与前面的假设等价的、非独立的假设。此点,居然被以往论者所忽略。康托自己也没有注意到。那么,这个假设(或就是假设1与假设2)究竟意味着什么呢?既然小数的小数点后面的所有排列组合方式都在这张二维表中了,此表对所有的这些排列组合方式就是“完备”的。这个结论就是这两个假设的直接推论,也可以视为就是这两个假设的等价命题。在此假设下,如果任何一个实数的任何一位,其状态如果固定,比如为“1(二进制下的),则其它任何位的状态自然都包括在此表中。反之,该位的反数“0时,也一样。而这意味着康托对角线法在对某一实数的某位求其反时(1001),并不影响此表对表达实数的完备性。换言之,此表仍旧包含了实数小数的所有状态的排列组合方式,即全部实数仍在此表中。其中当然包括该位求法后的那个实数,它也仍旧处于这张表的某一个位置。注意,这是前面的假设所决定的。你既然做了如此的假设,就要遵循此假设下的必然推理的结论。否则你就别声称做了这个假设。它可视为是这个假设的一部分,或干脆就是假设本身或等价命题。因为它们实际是等价的。承认前者而不承认后者是不行的。逻辑上矛盾。既然如此,有人也许会说了:你说某位求反后的那个实数还在或已经在了此表中的某个位置,那么,当对角线法的逐位求反“操作”(这只是一个形象化的比喻,其实有没有这个操作,对角线法作为状态的描述,仍旧有效。状态在那儿了)进行到该实数时,当在其某位n(对角线上的位)求反(1001)后,这个所谓“新”产生的实数其实必然已经在大于n的某个位置上了。虽然这个所谓“新”实数不可能在小于n的某根位置上。对此表中的任何实数,都可以这么看(对任何实数都有效)。但这一切意味着什么?只能是此表是一个不断生成、加长的表,而且对角线操作到达的n位或n个实数的位置(对角线所要求的),要小于此表生成的速度。也就是说,这张“动态表”,不断加长的表,是一个“长方形”的表。是一个潜无穷意义的表。而且只要表中的小数的每一位都有大于1的多个状态(依据进位制而定。比如,二进制小数就是两个状态1或者0),就不得不如此。但是,难道小数每位的多状态是必然的吗?它不也是一个假设吗(仅对一张表而言)?它显然也是一个假设。举个例子,就如一个硬币,有两面,一面写1,一面写0,就有两个状态。康托对角线法的实际操作,就相当于是这样的硬币,且可以随意翻动,即允许1变为00变为1。但这难道不也是一个假设?但如果我们这么“设计”这个所谓的“硬币”,即它只是一面有数,非10,而另一面没有数,是空白的“空”,那么,翻动不翻动这个所谓的“硬币”就无所谓了。这等价于是固定了此表中的小数的每位的状态,不允许再变。如此,此表就可以在前面那两个假设下,成为一个实无穷意义的固定表,即纵向的实数数量与横向的小数位数逐位或逐个地一一对应,同步地地“到达”无穷。此表,可以看成一个每边无穷大的正方形。且不再是不断生成、加长的一个不得不然的动态表。注意,这一切是在文章开始的那两个前提假设下得到的。于是,显然另一个假设是:

假设3:假设我们采用的实无穷意义的无穷(与康托相一致)。表中的位数与其个数逐个逐位一一对应直到无穷。此表可以形象地比喻或视为是每边无穷大的一个正方形表。

在以上三个假设下,像上面所讨论的,其必然的推论就是不能再有小数每位的状态变化,也就是不能再取可以随意翻动的,两面两个状态的所谓的“硬币”,而是只能取一个状态。我们可以称之为“伪硬币”。一面有数(10),一面为“空白”。这张表在这几个假设下,就是一张“死表”,固定表,不允许再动的表,不允许再在其上“做手脚”的表。具体说,就是不能再像康托对角线法实际做的那样搞什么逐位求反之类的“小动作”以达到所谓的证明实数不可数。因为这个做法直接违反前面的假设,与假设实质上矛盾。等于又提出来了一个与原假设矛盾的假设。而绝对不是什么由反证法的对角线法证明了原假设的否定命题。举个小例子:你要证明一个苹果不是红的,能用拿颜料把苹果涂成绿的来“证明”吗?康托对角线法实际干的就是这个事。只不过比较隐蔽,这么多年包括康托本人都没有看出来罢了。总之,有本事要证明实数不可数,就请从表外找出一个其它不在表中的实数来,而不要想着对已经被假设可数了的(已经包括全部实数的)的表动手脚。噢,你已经假设了此表包括了全部实数,结果把一个实数从此表中扒拉下来,就说“证明了”此表原先没有包括全部实数,这么做地道吗?成立吗?

事实上,既然每位单态(单面硬币)或康托对角线法不能用于证明实数不可数,既然作为前几个假设的直接推论,它实际上也是假设的一个等价命题。应该要归于假设之中,尽管它不是作为一个独立的假设,而是一个假设的推论,或“推论假设”而存在。这个意义上,为方便或强调,我们不妨称其为“假设4。换言之,这个“假设4的否定,实际就可以看成是与前面三个假设直接矛盾的一个假设。也就是每位的多态性假设是与前面假设1与假设2矛盾的(当然是在假设了满足假设3的前提下)。

经过以上分析,可知,与其说康托对角线法证明了实数不可数,还不如说康托对角线法证明了它自己(也就是康托对角线法本身)不能用于证明实数不可数。以上讨论实际上就是这个证明。不能不说,这是有些讽刺意味的,也是有些“辩证”意味的。即这个真正的反证法的正确结构应该是:假设康托对角线法可用与证明实数不可数,最后推出了否定结果的康托对角线法不能用于证明实数不可数。而且是通过对康托对角线法的实施与分析得到的这个结果。好笑吧?

说白了,你既然已经假设了实数可数(假设1),又假设了所有的实数都在此表中了(假设2),然后又说采用的无穷为实无穷,也就是这个表是实无穷意义的,且每边无穷大的“正方形”表(小数位数与实数个数逐位一一对应,直到无穷),那么好,请就在这些假设的前提下顺理成章地要求每位只有一个状态,也就是取前面的形象比喻的“单面伪硬币”,不可随意翻动改变数值。如此,还有康托对角线法吗?明说了吧,既然假设了实数可数且已经被排成了一张实无穷的“正方形”的同步无穷大表,康托对角线法就不能再用,不允许再用。否则就等于提出了一个直接违反原假设的假设,与原假设直接矛盾的假设。这个可不叫什么证明。也不是什么反证法。反证法可不是用一个与原假设矛盾的假设去取代原假设就完事大吉的方法。欲证明某人是女人,先假设其为男人,再假设其为女人,与原设矛盾,就算证明了其为女人(如果硬说这就是个证明,也只是 证明了“不能如此地证明”)?就算正确地运用了反证法?开玩笑吧?康托对角线法实际上就是这么做的,只不过比较隐蔽罢了。

此处再分析一下传统意义的康托对角线法究竟是怎么做的,或其真正做到的是什么。传统康托对角线法在其表述中,实际上没有“假设4,也就是允许随意地改变每位的状态(硬币两面都有不同的数值且可以随意“翻动”以改变这个状态。这个否定假设4的“假设”,实际就是笔者历次论文中反复提到的,无意中引入的“隐含假设”),于是如所周知,可以在对角线上产生一个新的实数,它原先不在这张表中。传统上认为这就证明了实数不可数,也就是否定了假设1。也就是否定了“起码存在一种方法可以使得实数与自然数一一对应”,即等于说“在任何(无穷多种)对应方式下,也就是没有任何一种(无穷种中的)对应方式下实数都不能与自然数一一对应”。在逻辑上,这个结论有两个问题:第一,直接跳过了或无视前面的“假设2;第二,康托对角线法只是运用了无限多种对应方式中的一种而已,它如何可以证明“在任何(无穷多种)对应方式下,也就是没有任何一种(无穷种中的)对应方式下实数都不能与自然数一一对应”的?不通!“一”可以证“无穷”?我看连“百”也证不了,“二”也证不了。“一”只能证这个“一”。因此,传统康托对角线法在假设4不被满足的情况下,只是证明了或否定了假设2,也就是“如此”排出的(在假设4不被满足时)实数,只能是一个实数的真子集,而不可能是全部实数。但这个结论可是没有否定假设1。也就是如此假设下的没有排出全部实数,可并不就是实数不可数,即不能排除全部实数可以用其它对应方式去与自然数一一对应,以实现实数集合的可数性。这是在传统康托对角线法下不能排除的结论。因此,无论从哪种角度看,康托对角线法都没有证明其所欲证的实数集合不可数。

总之,康托对角线法充其量也只是在不承认假设4的情况下证明了这样列出的实数只是实数的一个真子集,但其并未证明只能列出(在任何情况下)实数的真子集。而后者才是真正意义的实数的不可数。

如果不可数,任何真子集外都有其元素,这是显然的。但反之,任何真子集外都有元素,可并不就是不可数。

至于实数究竟可不可数,那是另一个问题了。读者可能已经看出来了:在证明实数所谓的“不可数”的最经典的康托对角线法最终被笔者证明是无法证明或没有证明实数不可数的之后,实数“大概率”下是可数的。而且实数如果一旦可数,数学基础将会大为简化合理。其实这也是康托最初所追求的。不成想“半路杀出个程咬金”,出现了康托对角线法和其实与其等价的区间套法等使人迷惑的“方法”,使得康托及其后来人误入歧途,走了一个大大的弯路。使得整个数学基础叠床架屋、繁复异常,这种所谓的“基础”,不是“数学工作者”所需要的。这个“基础”比建立其上的建筑还要复杂难弄。这完全有违康托的初衷。但却居然被一些人津津乐道,标榜为“严格”。我这里真的给它严格一下,整个超限无穷理论是不是有种轰然倒塌的感觉?实际上,这正是整个理论所应该具有的去除繁文缛节的返璞归真。基础就应该有个基础的样子,也就是满足简洁化要求。建立起其上的“上层建筑”可以越来越复杂多样,但唯独基础不应该如此。比上层建筑还复杂,叫什么基础?也敢称基础?好意思吗?

笔者之前(上世纪90年代之前),未见有人对康托对角线法有如此认识者。也许有,但笔者未见。笔者之后,陆续有些人相继也对康托对角线法从不同角度提出异议,其中的一些人在其文章中引用了笔者的论文。但很多异议文章是基于潜无穷观的。这与早年的大哲学家维特根斯坦对康托对角线法的质疑异曲同工。但笔者认为,真正要彻底澄清这个问题的,还是得在康托所采取的实无穷观的基础上去否定康托的证明(包括以对角线法为基础的康托定理的证明)。笔者一再强调,康托对角线法问题,与其说是个数学问题,不如说是个逻辑问题。这实际上就是一个反证法使用上的现实问题的实例。而且早晚它也必然会成为人们用错反证法的一个实例。可怜公开反对康托对角线法的,大都是些不受羁绊、肯动脑筋的“民间人士”(起码其本专业不是数学基础的),而原本最该首先认识这个问题的,起码是有机会看到我的文章后能够理解的所谓的“专业人士”(如果还有的话),却了无声息。我曾经看到一份会议简报,说逻辑界的某人对康托对角线法提出异议,并且正确地认为很多有关数学基础的论点都要推倒重来。我后来还曾与之电话联系过,他说还有很多人说他是民科呢。我把一些文章发给了他(他原先也许就看过),但从此就再无下文。也没有见他再发表这方面的文章。想必为了避嫌影响前程,回避了这个问题搞别的去了。还有一人,似乎是搞计算机的,专业沾边,曾经发文质疑康托对角线法,虽然认识不那么清晰,只是说到“正方形”、“长方形”之类(在我之后),为此似乎还受到一些人的嘲笑,说康托对角线法问题怎么还出来几何形状了?此人后来似乎也销声匿迹(原先在科学网有博客,还一度很活跃,后来不知怎么未打招呼突然不见了,也不知道是科学网把他给“开”了,还是他自己彻底退出了。而如果仅仅是不想再参与科学网的事,不写就是了,完全没有必要彻底“销户”嘛)。这个问题,显然,已经根本不是一个单纯的学术问题了,而是一个类似西方“政治正确”的一个类政治问题:大家都在教,在学,都头头是道地认为康托对角线法正确,实数不可数无错。突然之间,这一切都错了,这些专业人士是不是“情何以堪”,显得很“那个”?因此这些人有意无意会极力维护“康托对角线法”的权威,康托的权威,实数不可数结论的权威。尽管在一百多年前,这些东西才是当时的权威不屑一顾的东西。爱因斯坦曾经说过,一个理论,往往要经过:1,被反对;2,被承认;3,被当成不能更动的权威、教条。此言真不虚也!我是局外人,才不怕这些,因此敢讲真话。更敢于怀疑一切值得怀疑的东西。事情究竟怎样,一句老话儿:咱们骑驴看唱本,走着瞧吧。别人怎样我不管,反正我就是这么看的:判别真假数学家、逻辑学家的试金石,一个是极限法微积分求导问题,一个就是这里的康托对角线法问题。别去对那些不懂的人吹什么你证明了什么高深的问题等等,这两个如此简单的问题(特别是笔者都如此充分地揭示了之后)都拎不清,一切都十分的可疑,不可信。

 

为了加深印象,我在这里再重复啰嗦几句:可数,就是总有办法把元素一一列出(与自然数一一对应)。但不一定此次(在一个特殊的对应方式下)就已经列出了。康托对角线法充其量可以证明按其隐含假设,此次并未列出全部实数,只是列出了实数的一个真子集。但是,如此的“证明”显然并未证明永远不可能把实数全部列出。其逻辑结构实际是,假设此次按此对应规则列出了全部实数,但这里的反证法(康托对角线法运用的)只是证明了此次并未列出全部实数而已。也可以认为康托对角线法实际是假设了“实数只能如此地被列出”,最终“证明”的实际上是“不能这么地被全部列出”而已。具体说就是,假设实数可数,但如果并未给出可数的充分条件,结果证出未全部列出实数,但这可不是不可数。也就是还是有可能在其它对应规则的办法下使得全部实数与自然数一一对应上(即可数)。

上面所说的“可数的充分条件”,指的是如果实数可数,则无穷小数的每位的所有组合方式都在列表中了。这是可数所要求的。如此,则再无康托对角线法能够运用的余地,因为不能再在表中的对角线上进行求反操作了。而一旦我们无意中使用了对角线法,则立刻意味着否定了原假设“列表中已经列出了全部实数”。这不是什么“证明”,而是直接否定。这里可以给出一个容易理解的比喻(比喻不得不是必要的。本来搞数学、搞逻辑的应该还是不需要什么通俗的比喻的)。列出1100 分别在一面纸卡片上,称为“一面纸卡片对应法”。设此谓之“可以全部列出”。但如果每一卡片有两面,每一面都写上1100之一,则只需要50张卡片就可以了。但在50张的两面卡片时,如果不允许“反面”(即只考虑一面),则50面只能表示50个数,则这种“单面”显然不能列出这全部的100个数(只有50个“正面”),不完备。但这种“两面对应法”(对应于康托对角线法)下,没有列出全部可能的100个数,并不能或不算就此永远或用其它方法下也不能列出全部这100个数。在“一面纸法”下,当然可以列出全部这100个数(一面纸,背面不能有数。只需100张卡片就可以全部列出)。而如果我们设了一面纸就可以全部可出这100个数,则就应该确保(作为充分条件)这些卡片的背面都没有数字,是空白的。如此这些卡片不能再“翻”或翻了也没有用(没有数,空白的)。对角线法就相当于这里的“二面纸卡片法”,它在作了列出全部实数(对应这里的全部100个数)时,是不能再用的。一旦使用,就是直接否定了原假设。

而在“两面表达法”(双面二维表)下,也不能说没有在该表的一面没能表达出全部实数,就此认为实数不可能被全部表达。对应于上例,就是已经假设(或规定)了用50个双面(还是总数100面)卡片来写出1100100个数了,却有说50个单面不能表达完这100个数,也就是对这一百个数不完备,于是100就永不可能被全部表示(表达)出吧?

 

二、提出一种与康托对角线法完全等价,但更直观明确的列表图像,以其最简模型更直观地揭示康托对角线法的所谓“反证法”运用中的逻辑问题

 

 

事实上,如果对康托对角线法进行等价的“换位思考”,就可以明显地看出其问题所在。前面已经说了,康托对角线法是依赖假设1与假设2,即“如果实数可数,它就可以全部地排成一列”。然后通过众所周知的经典的逐位求反的对角线操作,得到一个不在原序列中的所谓“新的”实数,由此就认为原先列出的实数不是实数的全部,从而实数不可数(前面已述 ,即使得到了原先没有列出全部实数的结论,这个最后一句话的“实数不可数”的结论,本身也不正确。但这是另一个问题)。这个似乎像是个证明的“步骤”,给人以证明的“假象”:我们先假设已经列出了全部实数,现在用某种方法又从别处找到了一个不在列的实数,所以原先并没有列出全部实数。但是,实际上即使我们并没有实际进行对角线上的求反操作(这是一个所谓的“证明步骤”。如果没有,还是一个证明吗?),由于允许每位的双态性(二进制下)且可以自由变换状态(1变为00变为1),因此,即使我们不去进行这种“对角线的求反操作”,这个需要被“求出”的所谓的“新的”不在列的实数,其实早就存在于所列表中了,只不过它没有在表的“明面”,而在表的“背面”。就像前面举例,一张纸两面,如果允许两面都写上互反的数字(如果正面为1,背面就是0。反之亦然),那么,即使我们不去主动“翻牌”,对角线上原先需要或我们认为需要逐位求反“求出”的那个不在列的实数,其实早就存在于此表的背面了。如果正、背一体看待,等于是前述逐位求反的所谓“证明”步骤还没有开始,由于每位的二值性假设(前面的“假设4的否定),所欲求出的该数早就在那里了。而且是只要进行了假设1与假设2,再去采取作为二者的推论的假设4的否定命题“每位的二值性”,等于在假设阶段就产生了矛盾,这就根本谈不上什么证明了。我们还可以采用更为直观的一个其最简模型的“图像”来强化、突出这个问题。这里提出一个与康托对角线法完全等价的“图像”如下:

在我们从上到下(纵向)列出所谓的全部实数的同时(注意,这里是“同时”),再在每一个列出的实数“边上”,放上一个数,这个数这样选取,就是所列第n个实数的第n位数字的反数。也就是如果该位为1,就放上数0。每一个所列实数都照此办理。因此,当这个一维表形成时,这个“伴生”的实数也同时形成。有此表同时就有此实数。当我们(实际是康托)说假设我们已经在此一维表中列出了全部实数时(实际是人为地排除了此数),由于同时就有了这个一维表外的一个实数(也可以看成就在此表中),则立刻产生矛盾。它等于一个矛盾命题,而这个矛盾命题在证明开始之前就存在了,实际就是假设阶段的矛盾命题:表中列出了全部实数(由假设1与假设2),同时表中没有列出全部实数(有一个表外的实数。由假设4的否定,它也是一个假设,即每位的二值性假设)。这个命题直接自相矛盾,而且是在假设阶段就产生了的或“直接给出”的矛盾,而不是反证法求出的一个矛盾。因此,康托对角线法根本就不可能从一个矛盾命题出发证明什么。唯一可以“证明”的,只是这个所谓康托对角线法的证明本身不成立。更何况还有一点需要注意的,就是任何可数集加上一个可数集还是可数集,更别说加上一个元素了。即,就算我们得到的原序列是一个实数的可数真子集,那这个可数真子集加上一个元素,不是仍旧可数吗?加上这个元素(实数),是不是就是全部实数了?没有证明不是啊,怎么就武断地下结论说实数不可数了?难道一个可数集合,加上一个元素乃至可数无穷个元素就不可数了?也根本不通。以上思路的图示如下:

 

             第一个实数,(同时有)第一个实数第一位的反数

             第二个实数,(同时有)第二个实数第二位的反数

             第三个实数,(同时有)第三个实数第三位的反数

                ..........................................

                   .           .       .

              n个实数,(同时有)第n个实数的第n位的反数

                   .           .       .

                   .           .       .

                  

最终:     假设得到了全部实数,(同时也)得到了一个不在左边表中的实数

(要强调“同时”)

 

 

 

由上表可见,一旦列出了(也就是存在了)此表,等于就同时存在了那个额外的实数(或曰“列出了这个实数的每一位”),于是矛盾就同时产生了,或说同时也具有了矛盾。康托对角线法实际干的就是这么个事。这个表述与康托对角线法的传统表述完全等价,但更明确,一针见血地暴露了康托对角线法中的矛盾问题。而不是如传统康托对角线法的表述中那样,什么对角线上的逐位求反操作,似乎有一个“证明”的步骤似的。但正如上面所揭示的,那不过是一个假象。它徒有证明之名,而绝无证明之实。如果有,也是确实证明了这个证明过程(即康托对角线法自身)不可用于证明实数不可数而已。

再次强调一下。其实,只要我们承认“每位的二值性”(前面的假设4的逆命题)为假设,我们就等于同时承认了传统康托对角线法所依赖的二维表在二进制下是正、反两面都算数的。因此这已不单是一个单纯的、表观的“单面”二维表了,而是成了一个事实上的“双面”的二维表。即在其正面通过在表中对角线上的逐位求反得到的那个实数,其实早就已经在其反面“呆着了”,根本就不用什么对角线上的逐位求反操作。这张双面二维表一建立,一存在,这个对角线上的反数就有了,不过在表的背面的对角线上以及某一个位置而已。但对这个“双面二维表”而言,这个数(过去被当成由表的正面的对角线上逐位求反才后来得到的)就存在了。它与表同时生成,与表同在。不用什么证明步骤,就是与假设同时存在。假设有了,它就有了。既然如此,前面的那个示意图中的所谓“第n个实数的第n位的反数”,实际是这个双面表的正面的“第n个实数的第n位的反数”,这个数当然地与表中正面的“第n个实数第n位的数”同时存在,只不过在其反面而已,彼此不分前后,也没有谁再去证明谁存在的问题。就是用康托对角线法通常使用的二维表,已经充分地可以看出这个问题了。如果实在认为还不直观,那就去想象前面图示中的一维表,第n个实数与其第n位数的反数,二者在一起,“同进退”。随着表中的实数个数n趋于无穷,其位数的反数也趋于无穷,构成一个同时不在表中的无穷小数表示的实数。但这个其实原来就有的实数(被对角线法误认为是新产生的数),却被康托对角线法的“表述中”在一开始的假设中就排除在外了。尽管实际上排除不了。

总之,再强调一遍:一个与公开的假设(明确写出的假设)同时出现的(在所谓的“证明步骤”开始之前就已经有了的)事物,只能作为一个假设。它的出现如果与前面的“公开的假设”矛盾,那就意味着几个假设本身在矛盾,一提出来就矛盾。或提出了几个相互矛盾的命题作为假设(哪怕在康托对角线法的原始表述中没有提到这个假设,但如果其实作为原先的假设它必须有)。这个,能叫反证法吗?或正确地运用了反证法了吗?显然绝对不是。反证法固然可以推出矛盾,但有了矛盾可不就意味着正确地使用了反证法。这是两回事。这个命题甚至我们可以用反证法来证明之:假设有了矛盾就意味着正确地使用了反证法,那由于矛盾是必须从系统中剔除的,于是顺理成章地,反证法也必须从系统推理系统中剔除,于是反证法不能再用。而不用,也就不能由它证明矛盾,也就根本没有了任何矛盾。而这显然不是事实。于是结论就是“有了矛盾可不就意味着正确地使用了反证法”。得证。

此外,很明显地,上表中的左边与右边的那一个实数相加,仍旧可数无疑,怎么就证明了整个实数不可数了?你说左边没有列出全部实数,理由就是有一个实数不在左边。那好,我们就加上这个不在左边的实数,理由还成立吗?一个可数集合加一个数,不还是可数的?如何就不可数了?经常有人说(一些教师会对学生如此说),你把新产生的那个实数(前面已经分析了,其实它并不是新产生的,而是在假设阶段就存在的)加到左边的序列中,再去用康托对角线法,还是有一个数在表外,...............。但他们怎么就不会对学生说,凡是有一个数在表外的,马上就可以加到表内去呢?而且更重要的是,这个不断的加,不断的产生,本身就是一个可数(无穷)步骤。一个一个地数下去,过程也是可数的。就是自然数自己,不就是如此的可数的吗?(可以与其自己一一对应)。怎么能说加一个,再加一个,........就不可数了?就数不下去了?就不能与自然数一一对应了?起码未证明实际地“数不完”就是不可数吧(自然数也一样。“数不完”自然数,自然数也不可数吗?)。如此,难道可以一个一个数下去的自然数也不可数了?一个可数步骤下,如何可以证明不可数的?它不是还是证明了一个无穷可数过程发生在实数集合上?就算它还未证明整个实数是可数的(也就是上述过程可以穷尽全部实数),但起码也没有证明这个过程就不能列出全部实数吧?也就是实数集合的不可数性,不能由如此的过程来证明。这里的论证思路,笔者很多年前的文章中就已经涉及了。这还是按康托的思路来演绎的结果。按笔者的揭示,康托对角线法在假设阶段就错了。就是个矛盾。这个矛盾不是它推导出来的,作为反证法的一个结论,而是在假设阶段就有矛盾,证明开始之前就有矛盾。因此这个所谓的证明不能成立,或只是证明了这个证明本身的不能用(即康图对角线法不能用于证明实数不可数),是错的。

 

小结一下:

第一种情况。在前面的假设1、假设2与假设3之下,等价的假设4是必然的推论。如果这个实数表是“单面二进制实数表”的话,意味着此表中的任何位数的状态,只能是单值的。用比喻说明的话,就是只能是“单面硬币”。而二进制下的可以随意翻动“双面硬币”是康托对角线法可以正常运用的必要条件。于是,在前面的假设下,意味着、或直接“证明”了康托对角线法不能用于证明实数不可数的反证法。

  第二种情况。如果假设此实数表是“双面二进制实数表”,每位状态是两个(0或者1),分别处于此“双面表”的正反两面。于是,既然由前面的假设1~4,推出此“双面表”对所有实数是完备的,也就是任何无穷位二进制小数的状态组合都在此“双面表”中了,于是此表正面对角线上的那个无穷位小数每位反数(0变1,1变0的)的那个无穷位小数(其实就是康托对角线法在通常的“单面表”中通过在表的对角线上逐位求反得到的那个无穷位小数的实数)必然在此表的背面。也就是原本就存在于此“双面表”中了。于是情况只能是,在假设2表示全部实数都在此双面二维表的情况下,康托对角线法用了也白用:你“翻来翻去”地求反或不求反都没有用,那个欲求的不在此双面表中的实数,反正已经在此表中了。它在反面的对角线上,于是也可以在反面的任何一个位置上(在正面当然没有它的位置)。

  而如果假设2只是表示全部实数只在这个“双面表”的正面上(而不是“单面表”的唯一的一面上!),则这个假设只能与双面表的事实也就是康托对角线法能够运用的前提(也是一个假设)每位二值可以随意变动(相当于双面硬币,可以随意翻动或虽然不去翻动,但两面都有效)直接相矛盾。这当然是假设“阶段”的矛盾,也就是“假设矛盾”。假设之间“打架了”。还没有证明呢就矛盾开了。也就是说,已经由前面的假设事实上假设了这个双面表可以表示全部实数了,但现在又出来了一个“假设”,说全部实数只在此“双面表”的正面。反面的不算,或把原本已经处于此表反面的实数通过变更每位的状态(10,01)给“弄”到正面来,就算证明了实数不可数或该实数不在此双面表中,当然不行。因为这个假设“全部实数仅仅处于双面表的正面”,与前面的“全部实数已经处于这个双面表中了”的假设或假设的推论直接矛盾。

 第三种情况,实际与前面的情况没有本质区别,只是为了更好理解。就是按前面的“图示”,把表等价地变成一维表。于是与康托对角线法等价地、但更直观地每个列出的实数(比如第n个实数)与在“单面一维表”前提下,在该第n个实数的旁边放一个该实数第n位的数的反数,比如是1的,变为0;是0的,变为1。如此,此一维表如果看成“已生成”,此由所有原先的对角线上的每位的反数组成的实数(我不说是“新的实数”,因为它不新,与表中其它实数同在)也同时“已生成”。而如果与传统康托对角线法等价地,认为或假设不包括此实数的其它实数才是可数的,则加上了这个“伴生”实数就不可数了,显然属于在假设阶段的直接矛盾,不是证明。因为这个“伴生实数”(其实就是康托对角线上由对角线上逐位求反所谓“得到的”那个所谓的、原先以为的“新实数”)的存在是由假设所事先决定了的。

而如果把表等价地变为“双面一维表”,则更其明显:该“伴生实数”根本就不用任何“操作”,它自然就在这个双面一维表中,不用什么“求反操作”,直接从“双面二维表”的背面的对角线上取来即可。如此,既然已经坚持或假设了“双面硬币假设”且可以随意翻动或两面都有效(对完备地表达全部实数或全部无穷位二进制小数而言),如何又去假设只是在表的正面可以表达全部实数?两个假设直接矛盾。或者反之,已经假设了只有一面表可以表达全部实数,何以又假设一位双态且可以随意变动状态的“双面硬币假设”而不与前面的假设相一致的取:每位单一状态的“单面硬币假设”?同样两个假设直接矛盾。总之,这里要非说有什么证明,唯一证明的,就是康托对角线法不能用于证明实数不可数,只能颇有讽刺意味的证明由康托对角线法证明康托对角线法不能用于证明实数不可数。即自己证明自己是个错误。用错地方了。唯此,才是真正的一个反证法的正确运用。

总之,既然已经假设了无论是“单面一维表”还是“双面一维表”,都已经表达了全部实数(所有小数的组合方式),就莫想着通过改变这个表本身来否定这一点。这个箱子里的所有苹果都是红的,为证明非也,就通过把某个苹果染上绿色来所谓的“证明”,不地道吧?康托对角线法无意中其实就是这么干的。不过做法隐蔽一些,人们就居然看不出来了。

 

三、另类角度看康托对角线法没有证明实数不可数:对角线上出现有理数的可能与意味着什么

 

此论证其实笔者前期文章中早就给出了。这里复述一下,“以佐论证”。康托对角线法通过二维表的对角线上的逐位求反(二进制下。不失一般性地,十进制等其它进制下同理)来试图达到证明实数不可数或不全在此列中。显然,这里其实也隐含着一个必要假设,就是对角线上所谓新产生的那个数,必须是无理数,而不能是有理数(有限小数或无限循环小数)。而且每次运用康托对角线法都必须如此。不能例外。只要有一次例外,这个证明就不完备。也就是说,假设如果有一次我们在对角线上通过逐位求反得到的那个无限小数不是一个无理数的无限非循环小数而是一个无限循环小数的有理数,你就没有证明实数必然不可数。因为此次可能就已经排出了全部无理数。而只要有一次排出了全部无理数,无理数就可数,也就是实数就可数。有人也许会辩称(所有其他人考虑到的,笔者一般都早考虑到了。出乎笔者意料之外的东西很少),你怎么知道产生的是一个无限循环小数?还不是事先安排好的?固然,事先安排好可以得到一个无限循环小数。但是第一,你怎么能证明或知道在这种故意的安排下,就没有列出全部无理数的?而无理数加一个有理数,不还是可数的吗?其次,既然故意安排下可以实现,不故意安排,随机地为什么就一定不会出现这种情况,也就是在随机情况下,绝对不会在对角线上出现有理数(无限循环小数)?你说概率极低,是,概率低,也许吧。但概率低就是绝对不会出现吗?而且只要存在这种低概率事件,康托对角线法的有效性就不存在了。不能说康托对角线法有时有效,有时无效,有效时多,它就有效了吧?其实只要能够或可能(低概率事件)出现反例,此法就无效。比如,说是女人皆是长发,只要有一例短发的,前论就不成立。而不是什么有时成立,大概率成立云云。有人可能又会说了,由于无穷位小数其实无法在现实中穷尽,因此你无法确定对角线上产生的那个数是有理数。即尽管其前n位是循环的,也不能保证n位后还循环。确实如此。但反过来,谁又能说在前n位非循环的一个无穷小数,在n以后不能循环起来呢?总之,对于在对角线上究竟是产生有理数还是无理数,是无法真正确定的。那好,怎么办?只能是个假设。或更确切地是个“规定”。即假设或规定对角线上产生的只能是一个无理数。而且永远如此。只有如此,也就是在此假设下,才能所谓的“证明”、其实只能也是个假设的“实数不可数”。因为对角线上只能产生非循环的无理数这一点,根本就是无法被证明的,实际上还是不成立的(循环小数的有理数总是应该有机会被产生的,这个机会的概率再小,也终究无法彻底排除)。因此实际上作为一个假设是不符合实际的,不对的。那么,就只能是个“规定”了。在如此地“规定”下,实数不可数。行吗?还不如干脆些直接说,我们“规定”实数不可数算了。反之,如果假设了(或规定了)对角线上产生的是一个无限循环的有理数(谁又能彻底排除这种情况呢?充其量只能“规定”其不发生),则这个对角线法并没有证明实数不可数。因为有理数早就被证明是可数的了。任何可数集合加一个可数集合,或可数集合中的一个元素,当然还可数。这是康托的定理。除非你认定在所列无理数中,缺了一个可数的集合的一员的有理数就是不可数。这当然是荒谬的。都知道只有无理数才可能是不可数的,也就是列不全的。现在有一个有理数没有被列出来,能证明无理数不可数吗?

总之,在逻辑上,假设或规定对角线上只能产生非循环的无理数,并不能证明实数不可数。因为这个所谓的“实数不可数”是规定而不是证明出来的。而假设或规定对角线上只能产生循环的有理数,也没有证明实数可数。但却可以证明康托对角线法没有证明实数不可数。因为显然,这种规定或假设出来的情况或“现实”,既然在规定中可以发生,就不能排除在非规定的“现实”中随机地被产生。总不能说在对角线上随机地产生非循环的无理数的情况下,证明了实数不可数。在对角线上随机地产生了循环的有理数的情况下,康托对角线法没有证明实数不可数,有可能是可数的。可数不可数的结论是唯一的、互斥的,不是相对概念。

由以上讨论可见,康托对角线法并没有确实地证明实数的不可数性。它是依赖于一些过去久被无视的隐含假设或规定的。它声称所运用的反证法,是用错了的(注意,不是反证法本身有错,是用错了,使用中出现问题了)。

 

四、重申一遍:康托对角线法的所谓反证法,只是证明了康托对角线法在证明实数不可数上,不能用

 

        假设康托对角线法可用,则必取前述“双面硬币假设”,也即是可以任意取值的多进制假设。在二进制下,就是每位二值,且可以随意取值,取了以后,还可以随意变动。1可以变为00可以变为1。但是,由康托对角线法的证明的假设1,假设2,其直接推论是,所列实数表是完备的,也就是实数的无穷位小数的任何数字组合都在此二维表中了。于是在“单面二维表”假设下,等于声称这个单面二维表对表达实数是完备的,也即是此表中包含了任意的实数、全部的实数,即,所有实数的无穷位小数的数字组合都在此表中了。这意味着不能再取“双面硬币假设”,这意味着康托对角线法不可用(不能再允许随意变动每位的状态,也就是不能再允许1变为00变为1。这是假设所要求的,或假设的一个等价推论)。而如果实数的完备表是“双面二维表”,“双面硬币假设”虽然允许,但无论怎么改变对角线上的每位状态,这个无穷位小数都在这个“双面二维表”的两面之一中。这个康托对角线法虽然形式上“可用”,但用了也“无用”,由它“新产生的”那个对角线上的实数,其实一点不新,早就在此“双面二维表”中了。因为这是康托对角线法的假设所决定的、推出的。总不能先假设了“双面二维表”已经完备地表达了全部实数(全部列出在这个“双面二维表”中了),然后立刻又说由于在此“双面二维表”的一个面上没有表达出全部实数,就据此说实数不可能被全部列出,以至于不可数吧?至于前面介绍的单、双面“一维表”情况,本质上与二维表情况一样,提出它不过是为了给出一个更形象、直观的图像,使人更好理解罢了。这里就不再重复讨论了。

       总之,我们如果假设“康托对角线法可用(对证明实数不可数)”,则推出“康托对角线法不可用(单面硬币假设下)”或“康托对角线法无用(双面硬币假设下)”。这才是真正的反证法证明出来的东西。而不是什么“实数不可数”。而这个证明等价于由康托对角线法,并没有证明实数不可数。

 

五、实数如果可数,会怎样

 

     普特南在其所主编的«数学哲学»一书中曾经说过:“如果实数某种程度上可数,数学基础中的几乎所有问题都会得到解决”(大意)。笔者深以为然。正是由于实数是不可数的,且由于康托对角线法同构的所谓“康托定理”(陶哲轩甚至直接由此定理去证明实数不可数),才导致整个数学基础变得无比的复杂和不可理喻。而且与整个数学实践远远脱节,不成其为基础了。广大数学工作者对其敬而远之,避之唯恐不及。甚至把它推到哲学上去,不予理睬、束之高阁。这反映了两方面的问题,一个是数学人的不思进取,没有刨根问底的求知意愿,遇到问题就躲。另一方面也说明数学基础方面的“学问”已然复杂的不成样子了,除了它自己,与数学其它分支更本就无关。既然无关,人家凭什么非得琢磨呢?总之,彻底澄清实数可数与否的问题,康托对角线法(进而康托定理)问题,只能使得基础理论大为简化合理,而绝对不是一些人想象的是什么大逆不道的问题。唯一可以产生的问题,实际是这种彻底的澄清,不能不冒犯数学史上的一些大家(其实这些大家如果还活着,应该不会认为是什么冒犯,甚至还很高兴。比如康托,毕竟他的本意,是想实数如有理数一样地可数的。如此其理论简单的多,合理的多),而这些数学历史上的大家,又是现有一些数学人、逻辑学人眼中或公开声称的权威或偶像。一旦否定了这些大家的理论,这些人认为他们也会跟着“丢面子”而已:他们吹了这么多年的东西,居然吹出错来了,他们接受不了,于是把头埋进沙子算了。但如此下去,只能使其更丢面子:自己认识不到问题,人家已经揭示出来问题了,居然还认识不到。除了“大跌眼镜”一词,还能用什么词呢?好自为之吧!

      这里的议论,包括搞逻辑的。因为通常认为数学基础属于逻辑专业范畴。而且康托对角线法问题,笔者早就指出了,与其说是一个数学问题,还不如说是一个逻辑学问题。

 

          ***********************************************************

 

最后,透露一个小秘密吧。一个微积分求导,一个康托对角线法的逻辑问题,在我心中就是两个“试金石”。甭管你头上顶着什么头衔,号称有什么天大的成就,曾经证明了什么什么的。只要是下面两种情况之一的:1、对这两个问题根本就“无感”,认为毫无问题,因此我的文章在这些人眼里更不不值得一看;2、虽然看了,但仍旧“无感”的。还认为这两个问题的传统认识无问题,反倒是我有问题的。我都会在心里把此人的学术能力“自动降级”处理。我这里不是要存心贬低谁,而是实际情况,也是完全符合现实、实事求是、恰如其分的实际情况。我心里就是这么想的。本不该说,但就这么说了也罢。(当然始终没有机会看到我文章的除外)因为什么?没有什么,就是因为这两个问题一经笔者揭示实在是太过简单。

 





返转到

   zmn-000文清慧:发扬啄木鸟精神-《数学啄木鸟专栏》开场白及目录

       







https://blog.sciencenet.cn/blog-755313-1316132.html

上一篇:Zmn-0769 师教民:评薛问天先生的文章0745
下一篇:Zmn-0771 Thebeater:回复Zmn-0765沈卫国先生的评论
收藏 IP: 111.18.94.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2022-8-13 02:03

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部