其实,用数学归纳法证明对角线证明不成立非常非常简单。
对角线证明根据可列假定将小数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=b1≠a11
所以只能b= 0.a21
即b在(1)中
②设n=k时,
b=b1b2+……bk在(1)内,我们知道,对于任何一个k位二进制小数,只要在末尾分别加上0和1,就变成了两个k+1位小数,所以,n=k+1时,(1)内必有
b1b2……bk0
和
b1b2……bk1
这两个小数,由(3)可知,其中必有一个是b=b1b2……bk+1,即b仍在(1)中,
这样,当小数位数k=1,2,3……..时,b始终在(1)中,(4)不成立。
证毕!
那么,康托本人及其追随者究竟错在哪里呢?
对于任何ak,总存在akk,当bk≠akk时,b≠ak,实际上不仅仅是b≠ak,还容易证明b≠aj,(j=1~k,为小数在(1)中的序数,例如,j=1时,为第一个小数),
于是,似乎对于k=123……,都有b≠ak,对角线证明就成立了。
然而,事情真的那么简单吗?
看问题要看仔细,不能粗心大意,各种细节和各种可能性都要考虑进去!
实际上,对任何j<=k,都有b≠aj,只不过说明b不等于(1)中的序数小于等于k的那一部分数而已,不能证明j>k时,b≠aj。粗心大意的康托根本就没有考虑过小数序数j>小数位数k的情况,然而,j﹥k不仅是可能的,而且还是必然的:当小数位数大于等于k时,小数序数j﹥=2k。
而且,这种只能保证b不等于一部分小数的情况永远存在: 无论k为多大,永远只能保证b不等于(1)中的一部分数。
这就是康托本人及其追随者的错误所在!
看问题不能只看一部分,要全面地看,所有的可能性都要考虑到
对角线证明根据可列假定将小数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=b1≠a11
所以只能b= 0.a21
即b在(1)中
②设n=k时,
b=b1b2+……bk在(1)内,我们知道,对于任何一个k位二进制小数,只要在末尾分别加上0和1,就变成了两个k+1位小数,所以,n=k+1时,(1)内必有
b1b2……bk0
和
b1b2……bk1
这两个小数,由(3)可知,其中必有一个是b=b1b2……bk+1,即b仍在(1)中,
这样,当小数位数k=1,2,3……..时,b始终在(1)中,(4)不成立。
证毕!
那么,康托本人及其追随者究竟错在哪里呢?
对于任何ak,总存在akk,当bk≠akk时,b≠ak,实际上不仅仅是b≠ak,还容易证明b≠aj,(j=1~k,为小数在(1)中的序数,例如,j=1时,为第一个小数),
于是,似乎对于k=123……,都有b≠ak,对角线证明就成立了。
然而,事情真的那么简单吗?
看问题要看仔细,不能粗心大意,各种细节和各种可能性都要考虑进去!
实际上,对任何j<=k,都有b≠aj,只不过说明b不等于(1)中的序数小于等于k的那一部分数而已,不能证明j>k时,b≠aj。粗心大意的康托根本就没有考虑过小数序数j>小数位数k的情况,然而,j﹥k不仅是可能的,而且还是必然的:当小数位数大于等于k时,小数序数j﹥=2k。
而且,这种只能保证b不等于一部分小数的情况永远存在: 无论k为多大,永远只能保证b不等于(1)中的一部分数。
这就是康托本人及其追随者的错误所在!
看问题不能只看一部分,要全面地看,所有的可能性都要考虑到