||
任何一个严谨的讨论都必须从定义出发,讨论无限问题也是如此。
每一个自然数都是有限的,但自然数序列或自然数集合被认为是无限的,所以这里默认的无限定义只不过是有限值的增加不能终止或没有上界而已。
该定义虽然是默认的,但是实际上使用广泛。例如,根据该定义,所谓无限小数,其实就是用自然数n表示的小数位数的增加没有上界的小数而已。 如此定义的无限小数具有我们平时所说的无限小数的一切性质。例如,如果0.99……=1-ε且ε>0,则可算出该小数位数的上界是-lg(ε),不是无限小数。
数学归纳法讨论的自然数当然也是没有上界的,所以可以用数学归纳法来研究与自然数有关的所有无限现象。由于数学归纳法是从有限开始推广到无限的,所以证明的过程只需考察有限,但得到的结果却可以推广到无限。
用数学归纳法证伪对角线论证非常简单。
对角线证明根据可列假定将小数a1,a2,a3…….一一列出,
a1=0.a11a12a13....
a2=0.a21a22a23.... (1)
a3=0.a31a32a33....
.......
等号右端组成了一个无限大的矩阵。矩阵的行数表示所列小数的个数,列数则表示所列小数的位数。 设
b=0.b1b2b3... , (2)
bk≠akk, (k =1,2,3,...) (3)
b≠ak(k =1,2,3,...) (4)
于是,似乎与(1)已经将小数一一列出矛盾,推翻了可列假定。
以下将用数学归纳法证明b始终在(1)中,即(4)不成立。
①对二进制小数,小数位数n=1时,(1)只有两个小数
0.a11
0.a21
根据(2)(3),
因为b=0.b1≠0.a11
所以只能b= 0.a21
即b在(1)中
②设n=k时,
b=0.b1b2+……bk在(1)内。
③对于任何一个k位二进制小数,只要在末尾分别加上0和1,就变成了两个k+1位小数,所以,n=k+1时,(1)内必有
0.b1b2……bk0
和
0.b1b2……bk1
这两个小数。
由(3)可知,bk+1≠ak+1,k+1,而 ak+1,k+1要么等于1,要么等于0,所以上面两个数中必有一个是b=0.b1b2……bk+1,即b仍在(1)中,
这样,我们已经证明了,b始终在(1)中,即(4)不成立。
那么康托本人及其追随者究竟错在哪里呢?
对于任何ak,总存在akk,当bk≠akk时,b≠ak,这个非常清楚,实际上不仅仅是b≠ak,还容易证明b≠aj,(j=1~k,为小数在(1)中的序数,例如,j=1时,为第一个小数),
于是,似乎对于k=1,2,3……,都有b≠ak,对角线证明就成立了?
然而,事情真的那么简单吗?
凡事都要仔细考察,反复推敲!所有的可能性都要考虑到,不能随随便便想当然。
实际上,对任何j<=k,都有b≠aj,只不过说明b不等于(1)中的序数小于等于k的那些数而已,并没有证明j>k时,b≠aj。粗心大意的康托根本就没有考虑过小数序数j>小数位数k的情况,然而,j﹥k不仅是可能的,而且还是必然的:当小数位数大于等于k时,小数序数j﹥=2k!
而且,这种只能保证b不等于一部分小数的情况永远存在: 无论k为多大,永远只能保证b不等于(1)中的一部分数。
如果懂得计算机语言中的条件语句和双循环语句,这些东西都是很容易理解的。
对于任何k,只能证明j<=k时,b≠aj, 同时还可证明j﹥k时,无法保证b≠aj,并不能得出对所有j,b≠aj这一结论,例如,如果把这句写成对任何k,可证明j﹥k时,无法保证b≠aj,就更明显了。
只看到部分就以为是全体,这叫井蛙观天!例如,有时候对任意元素成立并不意味着一定对全部元素成立,对角线证明只是一个例子,另一个例子是花瓶和球悖论:任何一个球都能被拿出来,不等于所有球都能拿出来:
假设有一个无穷大的花瓶,并且假设有无穷多个球,每一个球都用自然数编号,执行下面的操作:第一次,往花瓶里放进1至10号球,同时取出1号球;第二次,往花瓶里放进11至20号球, 同时取出2号球.....,无穷次后,花瓶里有多少个球呢?
不要说是中国小学生,就是外国小学生也很容易回答这个问题:每次相当于放进了9个球,第n次操作后,剩下的球的数目是9n个,所以无穷次后,有无穷多个球。
但有的数学家是这样算的:第1次拿出了1号球,第2次拿出了2号球...第n次拿出了n号球,无限次后,所有编号的球都被拿出来了,所以最后没有球。
所以,以为对“任何”成立,必然对“全体”成立,是错的!
认为能把所有球都能拿出来的数学家,在潜意识里其实是为自然数设置了一个上界,即把自然数的生成看成是一个完成于上界的可完成的过程。这样,容易发现,还没到达上界已经放不进新的球了,只出不进,到达上界当然吧球全部取出了。
这是对无限的错误认识:自然数是没有上界的,无限过程也永远不能完成。任何硬要为自然数设置一个上界的企图都会引起各种矛盾。例如,所谓ω当然是大于所有自然数的,将其作为自然数的上界似乎很自然。然而,ω显然不在实数域内,把非实数域内的ω定义为自然数的上界,这在逻辑上是缺乏充足理由的:不同数域的数值能比较大小吗?如果可以,为什么可以?怎么比较?比较的依据和规则是什么?如果不能比较大小,ω怎么可能是比任何自然数都大的上界?
经得起反复推敲吗?
充足理由律是任何严格推导必须遵守的逻辑规则。如果这么基本的逻辑规则都不遵守,还能叫逻辑吗?
而且,给无限多个球全部编号也是不可能的:任何一个自然数都是有限的,因此用自然数永远只能给有限个球编号,而所谓给无限个球进行编号,只是一个不断进行,永远不能完成的无限过程(一旦能完成,就只能停留在某一个自然数上,得到的就是有限个球),已经编号的球也永远只是无限个球中的一部分球, 不可能是全部球。
不过,只要编号过程永不停止,尽管我们只能对无限个球中的部分球进行编号,但由于所得的编号并没有上界,根据无限的默认定义,我们得到的序列还是无限序列,或者说,所谓无限序列,只是部分但无上界的自然数为项的序列。
如果把这些项作为集合的元素,我们得到的集合是一个由部分自然数组成的、外延在不断增加的无限的自然数集合,这样的自然数集合当然不是唯一的。
而传统集合论中所谓由全体自然数组成的、外延不变的、唯一的自然数集合是不存在的。
讨论不存在的东西未必有意义,而且往往会造成各种矛盾。例如,在对角线证明中,(1)的 行标和列标都是自然数,如果自然数集合是唯一的,行标就等于列标,从而就会得出小数的个数和小数位数一样多的荒唐结论。事实上,小数个数远远比小数位数多这一事实,足以证伪了自然数集合的唯一性,同时也证伪了全体自然数集合的存在性:当存在多个自然数集合的时候,哪一个才包含了全体自然数?
科学不过是用来描述事实的一个概念体系,而逻辑不过是构造这种概念体系的工具。因此,在事实面前,科学和逻辑都不过是可怜的仆人。如果试图把科学和逻辑凌驾于事实之上,基至试图用未必可靠的“科学知识”(例如自然数集合是唯一的)或逻辑规则(例如“任何”等于“全体”)来否定甚至改变事实,那只能是愚蠢的伪科学。
例如,小数的个数比小数的位数多,是一个由进制决定的,简单到不能再简单的事实,但显然与自然数集合的唯一性矛盾,如果因此不承认小数的个数比小数的位数多,甚至认为它们是相等的,其实就是用不可靠的知识(自然数集合是唯一的)来改变事实的一种愚蠢的行为。
康托在对角线中证明中其实也是这样做的(见我的相等性假设一文:
https://blog.sciencenet.cn/home.php?mod=space&uid=3425940&do=blog&id=1415630),
http://vixra.org/abs/2401.0042
只是没人给他指出,他自己不知道而已。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 11:19
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社