在中国文化里,有句成语这么说道:九九归一,意思是算来算去最后还是回到最初,还了原,归根结底也算是九九归原。
这句成语蕴含着周而复始的意思,在数学里也得到完美的体现。我们从整数0开始数1,2,3,4,5,6,7,8,9,经过十进制的处理,又从0开始。
我们再来看下面这样一个算式:
1/3×3=1.
对于这样的等式计算,大家都很容易理解。
不过,有些人却提出异议:
认为1/3=0.333……(无限循环小数);
所以1/3×3=0.333……×3=0.999……(无限循环小数)
又因为1/3×3=1,
所以0.999……=1,但0.999……=1吗?
对于无限循环小数0.999……,我们从常规的角度去理解,就是小数点后面有无数个9,不过,这里有个疑问:
0.9<1,
0.99<1,
0.999<1,
0.9999<1,
以此类推,有人就提出这样的结论:无限循环小数0.999……<1,最多只能是无限接近于1。因此,对于“0.999……=1?”这个问题,自从几百年前被某位数学家提出来之后,一直到现在还是一个争论不休的话题。虽然很多数学家都提出一些比较严谨的证明方法,但始终无法让普通人以平常的视角去接受这个等式。
之后,有人给出了这样一个的证明过程:
设x=0.999……①
所以10x=9.999……②
②-①两式相减得9x=9,
所以x=1.
对于这样的证明过程,有人认为可以把0.999……看成无限个分数的和:
0.999……=9/10+9/100+9/1000+……
因此,这些人认为0.999……代表着一个计算过程的结果,而“1”又是另一个数,缺少一定的严谨,怎么可以等价起来呢?
问题的争论的焦点就集中在“0.999……”到底是一个结果,还是代表着一个过程,这就是数学里所谓的二义性。
什么是二义性?
某个句子存在不只一棵语法树,则称该句子是二义性的。
其实像“0.999…=9/10+9/100+9/1000+……”这个无限的过程,我们也可以理解成一个数。
如一开始用“1/3=0.333……”去证明“0.999……=1”,很多人都相信这个证明过程是对的,主要是一开始在潜意识里认为第一步“1/3=0.333……”就是对的,基于这样的原始认知,后面的证明过程也就没有问题。
从某角度上来看,无论是“1/3=0.333……”还是“0.999……=1”,本质上都是一样,当你承认其中一个成立的时候,另一个自然也就成立。不过,无论是哪一种情况,很多人会认为0.999……只是无限接近于1,并不能很严谨、很准确的说明这个值就一定等于1。
这个问题深耕的结果,就是造成很多人也认为0.333……无限接近于1/3,但并不能直接说明等于1/3。
虽然在某些算式里,我们已经能去证明“0.999……=1”,但在0.999……这个无限循环小数里,每增加一个9,无非代表这个数无限接近于1,但实际上给人的感觉就是0.999……本身是比1小的。
接近是一回事,等价又是另一回事。
有的数学家就提出新的证明思路,既然有无穷个“9”,那么就用极限的概念去证明。
后出现了集合论,又给出如下的证明过程:
给定一组区间套,则数轴上恰有一点包含在所有这些区间中0.999……对应于区间套[0,1]、[0.9,1]、[0.99,1]、[0.999,1]……,而所有这些区间的唯一交点就是1,所以0.999……=1。
或者是这样的证明:
所有比0.999……小的有理数都比1小,而可以证明所有小于1的有理数总会在小数点后某处异于0.999……(因而小于0.999……),这说明0.999……和1的戴德金分割是一样的集合,从而说明0.999……=1。
对于“0.999……=1”的证明,随着数学的发展,其证明方法越来越多,也越来越完善和严谨,但始终没有解决其中的疑虑:0.999……只是无限接近于1,应该是小于1,为什么一定会等于1呢?
如何证明“0.999……=1”,估计还会争论很久,或许在将来某个时刻会因为这个证明诞生更伟大的数学成果,也有可能就是一个无法解决的问题。不过,这也正是数学的魅力所在,往往一个问题的出现,其解决过程会推动数学某些领域,甚至影响其他学科的发展。