||
Zmn-0080薛问天:再谈有理数序列的无穷调换算法-评黄汝广先生的质疑
【编者按。下⾯是薛问天先⽣对《zmn-0073》黄汝广先生回复的评论。现在发布如下,供⽹友们共享。请⼤家关注并积极评论。】
再谈有理数序列的无穷调换算法
-评黄汝广先生的质疑
薛问天
(1) 黄汝广先生为了挑战康托尔的对角线法,曾提出如下的无穷步「调换算法」。
假定所有的十进制有理小数能排成一个可数无穷行的序列。然后对此序列进行处理。用逐行调换的方法使对角线上的值都成为1。具体办法是逐行检查,如果第n行(即序列中第n个有理数)的第n位值不等于1,就从后面行的有理数中找一个第n位是1的有理数(肯定可以找到),同它调换,调换后使第n个有理数的第n位ann=1。这样不断逐行调换下去,最终使序列的所有数的对角线上的值全为1(即如果它是第n个有理数,则它的笫n位的值ann=1。)
黄汝广先生认为,经过这无穷次的调换后原有的有理数序列一个不多一个不少。然后仿照康托尔的对角线证法,构造有理小数b=0.2222…。这是无穷循环小数,是有理小数没有问题,而且同序列中的所有有理数一个也不相等。说明全体有理数不能排成一个可数的序列。这不是就证明了有理数不可数了吗?黄汝广先生以此来作为反对对角线法的有效性的理由。因为有理数是可数的,能用对角线法证明有理数不可数,岂不说明对角线证法存在问题吗?
问题出在这个无穷步的调换算法上。确实,有理数无穷序列经过这个无穷步调换算法后,其结果序列是有明确定义的。因为算法是逐行进行的。首先确定第一行,经过调换使第一行的a11=1。然后确定第二行,使第二行的a22=1,一般地经过n步算法后,确定了前n个有理数,这些有理数都滿足ann=1。而且在以后的调换中,这些确定的有理数都是不会再改变的。也就是说经过无穷步调换算法后,对任何n,结果序列的笫n个有理数是确定的,而且ann=1。所以说这样的无穷步调换算法的结果序列是有定义的,这样的算法不属禁忌之列,应予以认可和承认。
错误出在上面说的【 认为调换后原有的有理数序列一个不多一个不少】这个判断上。是的,经过有穷次的调换演算【 原有的序列一个不多一个不少】,但是经过无穷步的调换演算后,这点就不能得到保证。就如同在无穷步的0右移后,0从结果序列中消失是一个道理,那些被替换掉的未被再选中的有理数,也在经过无穷次的调换后,被“挤出”了结果序列。这点可从结果序列中仅包括被选中的滿足ann=1的有理数就可得到证明。
按道理讲,黄汝广先生要得到他证明的结论,必须由他来提供「经无穷次调换演算后, 原有的序列一个不多一个不少」的证明。提不出证明,就犯了推理中理由不充足的错误。不过我们在这里可以证明 「经无穷次调换演算后, 原有的序列中的某些有理数己不在序列中了。」从而证死了他不可能提供 【 一个不多一个不少】的证明。
其实就用证明中举出的有理小数b=0.222…,或0.333...或0.234234...等,只要该有理数的小数点后不含1,就不在此无穷调换演算后的结果序列中,因为结果序列中所有第n个有理数的第n位的值为1。但由于它们都是有理数,所以在调换演算前,它们都在有理数序列中的。
黄汝广先生说: 【 薛先生似乎忘记了调换与对角线构造是同步进行的,如果对角线可以贯穿所有有理数,那就不可能有有理数被“挤出”。】
我希望黄先生在论证中不要使用诸如【同步进行】,【贯穿所有有理数】等非严格的「形象语言」,而要使用严格定义的数学和逻辑语言。要知道你并没有对这些 【同步进行】,【贯穿所有有理数】等词给出严格的定义,它们的确切含义是什么,同我们讨论的问题又有何干系。你怎么能用这些语言就得出了【 那就不可能有有理数被“挤出”】的结论呢?要知道用这些非严格的语言作不出严格的推理。只能是一些模糊的臆想。而我们需要的是严格推理。
然而我们所作的一切推理都是严格的。例如我们说给定一个序列,那是指对任何目然数n,序列的第n项就已给定。我们说经无穷次调换演算后结果序列有定义,那我们就证明对任何自然数n,结果序列的第n个数是确定的有理数(它的第n位ann=1)。我们说某有理数不在此结果序列中,是指我们可以证明不存在
自然数n,使该有理数是此序列的第n个数。这一切都是严格证明的。除非你能指出证明在哪里有纰漏,否则你必须承认证明的结论。数学只承认严格的推理而不承认主观的臆想。
黄先生说: 【 薛先生说:"在有穷步演算下有些非常明显的论断,在无穷步演算后却并不成立。这点很重要,如果误以为成立就会得出错误的结果。"但是薛先生并没有给出有穷演算推广到无穷步演算后并不成立的判据,假如有一个判据,他也不至于一开始认为我的无穷调换算法属禁忌之列,但现在却又认为应予以认可和承认了。】
这说的不对。我们证明了经过有穷次的调换演算【 原有的序列一个不多一个不少】,但「经无穷次调换演算后, 原有的序列中的某些有理数己不在序列中了。」这就是【 有穷演算推广到无穷步演算后(有些属性,如原有的序列一个不多一个不少)并不成立的判据】
这同我认可无穷调换演算不属禁忌之列是两回事。我认可无穷调换演算是由于我发现了它是有定义的无穷演算,即实际上,对任何自然数n,无穷演算结果序列的第n项,在有穷次演算后就己经决定了,而且以后的无穷次演算己对它没有影响。
(2) 读了黄先生关于 “一一对应”和“整体大于部分”的一番论述后。我发现黄先生在思考问题和论述问题时,不夠严谨。在论证时必须先把你论述的概念的确切含义说清楚,否则论来论去不知你在论证什么。
例如黄先生说: 【 “一一对应”和“整体大于部分”这两个原则对于有限集合,都是适用的,那么,为什么“一一对应”适用于无穷而“整体大于部分”却不适用呢?】
什么叫【 “一一对应”原则】?是不是指「用一一对应定义集合的势(基数) ,用势(基数)的大小来衡量集合的大小」?
什么叫【 “整体大于部分” 原则】?是不是指「集合(整体)的势大于它的真子集(部分)的势」。
按照上述理解,如果你认为 “一一对应”原则(实际上甚关于集合的势的定义)适用于有穷集合和无穷集合,显然可严格证明“整体大于部分”原则只适用于有穷集合而不适用无穷集合,因为无穷集合的势有可能等于(而不是大于)它的真子集的势。这有什么可问的。如果真的要问为什么。回答也很简单:「因为这是根据你的定义可以严格证明的命题」。
黄先生也给出了回答【 如果我们不带任何偏见的话,纯粹的逻辑结论应该是:“一一对应”和“整体大于部分”不能同时适用于无穷集合,否则会导致矛盾。】
黄先生接着说:【 如果不带任何偏见的话,为了避免矛盾,对于无穷集合我们既可以承认“一一对应”而否认“整体大于部分”,也可以承认“整体大于部分”而否认“一一对应”,甚至还可以认为两者都不再适用。】
我看这句话也不能说完全错也不能说对。如果对于无穷集合,不用一一对应定义势,也不用势的大小来衡量集合的大小,当然不能再说否认或承认 “整体大于部分”,只能说【 可以认为两者都不再适用。】 不用势的大小来衡量无穷集合的大小,你必须用其它方法来定义大小,而且在这种定义下证明了任何集合「大于」它的所有真子集,这时才能承认 “整体大于部分”。
黄先生说:【 康托尔其实并没有给出他承认“一一对应”而否认“整体大于部分”的理由,因此这最多只能算是一个他个人的人为假设,】
这句话不全对,康托尔是在他承认“一一对应”原则的条件下而对无穷集合证明“整体大于部分”不成立的。在这点上不仅给出了理由,而且给出了严格的证明。可见这并不是什么【 他个人的人为假设】。
黃先生说:【 对于我个人而言,我更倾向于承认“整体大于部分”而否认“一一对应”,这在逻辑上没有任何问题。】
是的。 不用势的大小来衡量无穷集合的大小,你必须用其它方法来定义集合大小,而且在这种定义下证明了任何集合「大于」它的所有真子集,这时才能承认 “整体大于部分”。
想起来容易,做起来难。黄先生可以试试看,看你不用一一对应,不用势,能用什么方法来衡量集合的大小,而使 “整体大于部分”对于无穷集合也成立。当然我指的不是空洞的臆想,而是给出具体的、严格的数学定义和推导。
黄先生又谠:【 事实上,如果我们仔细深究的话,“一一对应”并不是简单的一一配对,它还必须要求一一配对是可以完成的,并且配对完成后两者所剩均为空集,只有这样我们才可以说两者元素个数相等。因此,我反倒认为“一一对应”操作只能适用于有穷,无穷不适用“一一对应”恰是无穷的特性。】
我们前面分析过黄先生所谓的 “一一对应”原则是 「用一一对应定义集合的势(基数) ,用势(基数)的大小来衡量集合的大小」。这是有关集合「大小」的定义。定义不是定理,不需要证明。不存在对错问题,只要不引起概念混乱,都是允许的。这也不是一一对应这个方法本身存在什么问题,一一对应是双射当然要求不重复和无遗漏。你只是认为用这样的方法来定义集合的大小不合适。你当然可以提出另外衡量集合「大小」的方法,问题是你能提出更合适的方法吗?不妨动动手试试看。
(3) 黄先生说:【 再说大名鼎鼎的希尔伯特无穷旅馆:按照希尔伯特的方案,确实是方便了新来的旅客,但是其他旅客却要被无休无止的折腾啊!请问,这种以无穷时间上的折腾来换取一个有限空间的操作,真的把问题解决了吗?我们只能说,纯数学家果然是不食人间烟火啊。】
我想可能是黄先生没有真正领会希尔伯特提出无穷旅馆的原意。他提出这个概念是为了说明有穷同无穷在概念上的 区别。并没有意思要真正建一个实际的「无穷旅馆」来解决社会上的住宿难的问题。
返回到:
zmn-000文清慧:发扬啄木鸟精神-《数学啄木鸟专栏》开场白及目录
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-27 22:58
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社