0到1之间的实数是可数的
李长白
(沈阳体育学院,辽宁省沈阳市 110033)(本文已经发表于《数学教学研究》2018年第30期第25页。)
摘要:按照位数以及大小等规律把0到1之间的十进制小数进行排列,则这个区间内所有十进制小数的总数是10^n个(”^‘’表示乘方。10^n表示10的n次方。下面相同。),而且0到1之间的所有的十进制小数都在其中,所以它们是可数的。康托的一个证明其实已经得出了相同的结论。利用定积分的运算结果进一步证明了实数的可数性。还找出了实数是不可数的一个证明中的漏洞。
关键词:实数;可数性;穷举法
现在数学界把数系分为两种:可数数系和不可数数系。认为自然数、有理数等等是可数数系,而实数系例如0到1之间的十进制小数是不可数的。[1]
其实0到1之间的实数是可数的。
1 0到1之间的全体十进制小数是可数的,是10n个
证明:
把0到1之间的区间逐步分割如下:
图1 0到1 之间的全体十进制小数的有规律排列
由于条件所限制,上面只列出了三行,其中只把0到1之间的十进位一位小数全部表示了出来,即第一行;而0到1之间的全部十进位二位(百位)小数以及0到1之间的全部十进位三位(千位)小数则只列出了很少的一部分,见第二行和第三行。 本文中虽然无法把所有的十进制小数全部列出,却可以断定任何一个0到1之间的十进制无穷小数在必然位于上面所列出的数列中。因为它的第一位的数字肯定是0到9之间的一个,所以必然在上面第一行中找到;而当它的第一位数字确定了之后,它的第二位数字也只能是在已经选定的数字下面的0到9之间的一个数字,所以必然能够在第二行的相应位置中找到。如此等等。上面是以0.274…为例。在第一行的0到9中,显然应该选择2;在第二行中,是2下面的0到9中选择7,即在0.20到0.29中选择0.27;…
上面所有的实数是10^n个。道理很显然:第一行是10个,即0.0到0.9(未包括1.0。下同),第二行是10^2个即100个,从0.00到0.99;第三行是10^3个即1000个,从0.000到0.999;…。显然这里已经穷举了它们,即0到1之间的所有的十进制小数都列于其中,没有遗漏。于是按照现在集合论的观点,它们显然是可数的。
所以0到1之间的所有无穷的十进制小数共有10^n个,是可数的。
2 康托的一个证明中已经包含了这个结论
康托已经证明了全体有理数集是可数集。这个证明在一般的集合论教科书中都有。故略[2]。可是分数显然是有理数的真子集。于是马上可以推出有理数集是可数集。
而0到1中的全体十进制小数显然又是分数集中的一个真子集,是其中分母为10,100,1000,…,10^n(n为正整数),…的所有真分数的集合,所以它仍然是可数集。
3 对角线证明的错误在于没有把十进制小数有规律的排列
康托利用对角线法证明了从0到1之间的实数是不可数的。他的证明显然不妥[3]。因为他没有把0到1之间所有的十进制小数进行有规律的排列。
康托如果不把有理数按照一定的次序排列,会认为有理数也是不可数的。
4 定积分运算进一步证明了0到1之间的实数是可数的
定积分的运算结果更有力地证明了有限区间内的数点即单子是可数的。而0到1的区间当然是一个有限区间,所以其间的单子当然也是可数的。具体过程可以参考下面 4。
4.1 (1/n)乘以n等于1(n→∞)的结果证明了0到1区间的全体实数是可数的
首先把区间[0,1]分成为n等分。n是从1开始,逐渐增加的正整数。于是该区间每个小区间的长度为1/n。
在n→∞的时候,小区间的长度成为1/∞。
很显然:
图2
(4.1)
甚至在n→∞的时候也是这样。
由于n是正整数,所以在n→∞的时候,根据集合论,n相当于
图3 阿列夫0
(阿列夫0),也就是正整数无穷大。于是现在[0,1]区间就是由可数的无穷多个点组成。这是定积分运算中常见的运算。
康托利用无穷序列定义实数的做法[4]中隐含着辩证法:有穷可以转化为无穷,可以利用无限的有穷数列表示无穷小数,包括表示超越数,如:e,π。
目前的集合论的观点有值得商榷之处。
5 对连续区间的实无穷多次“切割”使包括了其间的全部实数
5.1 连续的无穷多次“切割”使[0,1]区间的实数成为可数的
连续性是看起来简单、实际则非常困难的概念。
人们早已经知道
图 4 根号2
等等不是有理数,而是无理数。有理数没有填满数轴。
可是本文则证明了[0,1]区间的全部十进制小数填满了数轴。
这是明显的矛盾。
若干个均匀的连续“切割”可以把大区间变成为小一些的区间。但是小区间仍然是区间。
但是当有限的均匀切割逐渐增加,最后成为无穷多的均匀切割的时候,由于有一个飞跃:从有限变成为无穷,则区间发生了变化,不再是均匀的小区间,变成了极限状态的区间:点。
这时的切割应该被理解成是“完成”的无穷,即实无穷。只有在实无穷多次连续切割[0,1]区间的情况下,得到的可数实数才能包括此区间的所有实数。
是无穷推翻了目前的集合论中的某些结论!
5.2 以0.9…为例进一步说明(略。见拙作《0.9…≠1的证明及冲击》[5]。)
6 柯朗证明中的漏洞
6.1 柯朗试图利用反证法证明连续统是不可数的
柯朗的证明[6]略述如下。
假设在直线上从0到1的区间内的所有的点能够排成序列,如下:
a1(1是a的下标。下同。),a2,a3,… (6.1.1)
他提出:把a1点用长度为1/10的区间盖住,a2点用长度为1/10^2的区间盖住,……。于是如果从0到1之间的所有的点都包含在序列(6.1.1)中,则该单位区间将完全被长度为
1/10,1/10^2,…… (6.1.2)
的区间序列(可能互相有所重叠)完全盖住(其中有些区间超出了该单位区间,这一事实不影响证明)。但是这些区间的长度的总和为下列等比级数的和:
1/10 1/10^2 ……=1/9 (6.1.3)
他的结论是:从序列(1)包括从0到1之间的所有实数出发,推出的结果是可以用一系列总长度为1/9的区间覆盖长度为1的区间,显然很荒谬。他认为这个矛盾证明了连续统的不可数性。
6.2 该证明中有错误
该证明中主要有两点错误:
①他没有考虑微积分中的点的尺度。
②他没有考虑无穷的大小。
显然,在他看来,任何点序列中点的尺度都是相同的0。其实不然。微积分中的点都是具体的、特定的点,有特定的尺度。无穷大亦然。都需要具体问题具体分析。
按照柯朗的说法,把
a1(再一次提醒:1是a的下标。),a2,a3,… (6.2.1)
排成序列。
一个基本的事实是:如果它们能够排列成为一个线段,则它们一定有尺度。
分为两种情况:①0到1这个区间被分均匀地成为n等分,即每个点的尺度为1/n。②这个区间被均匀地分成为10^n等分,即每个点的尺度为1/10^n。最终都必须有n→∞。
6.3 点的尺度为1/n时候的分析
点的尺度为1/n。无疑,在n趋近于无穷大的时候,1/n的尺度为0。
必须强调一点:柯朗提出的两个序列的项数是相同的,都是n项。如下:
①a1(1/n),a2(1/n),a3(1/n),…, an(1/n)。 (6.3.1)
(请注意:原文中利用上面的符号表示(6.3.1)和(6.3.2)之中的项是一一对应的。
一一对应的。由于格式问题,无法表示。只能出现一个箭头符号。抱歉。李长白)
②1/10, 1/10^2 , 1/10^3 , …, 1/10^n。 (6.3.2)
容易看出,(6.3.1)和(6.3.2)的项数是相同的,一样多,都是n项。
注意:在n是有限数的时候, (6.3.2)中的一部分项的尺度已经会小于对应于(6.3.1)中那一些项。例如,在n=2的时候,如下:
a1(1/2),a2(1/2)。 (6.3.3)
1/10, 1/10^2。 (6.3.4)
于是,(6.3.4)中的这两项盖不上(6.3.3)中的那两项。
再考虑n=10的时候,则:
a1(1/10),a2(1/10),a3(1/10),…,a10(1/10)。 (6.3.5)
1/10, 1/10^2 , 1/10^3 , …, 1/10^10。 (6.3.6)
现在(6.3.6)中一共10项,其中只有第一项与(6.3.5)中的第一项的数值相等,其余各项的数值都小于(6.3.5)中的对应的那一项。于是结论是:只有(6.3.6)第一项勉强可以认为盖上了(6.3.5)中的第一项,其余的都不可能盖上对应的那一项。
容易看出,随着n的变大,下面的序列中,能够盖上上面的序列中的项数有所变化,但是后面仍然存在大量的盖不上的情况。
现在考虑在最终n趋近于无穷大时候的情况。注意:在这个时候, (6.3.2)中很大部分项的 “尺度”会小于对应于(6.3.1)中那一些项。也就是说,(6.3.1)序列后面的那些点的尺寸会比序列(6.3.2)中后面的表示的“区间”的尺寸大(现在必须给区间加上引号。因为这时候原来的区间已经变成了点。)。具体如下:
a1= a2= …=an…=1/n(n→∞) (6.3.7)
1/10, 1/10^2 , 1/10^3 , …, 1/10^n。 (6.3.8)
由于(6.3.7)中的所有项数值都等于1/n,所以(6.3.8)中的前面若干项的数值会大于(6.3.7)相应的对应项。例如,1/10肯定大于1/n(n→∞),等等。于是会有一些项能够盖上对应的那些项。但是明显的事实是:(6.3.8)中各项变小的速度非常快,而(6.3.7)中的各项的大小不会变化,所以(6.3.8)中只有非常有限的项能够盖上(6.3.7)中的对应项,而绝大部分都不能盖上对应的项。又,到了n→∞的时候,根据极限
据罗必塔法则
。 (6.3.9)
(请参考微积分中的罗必塔法则中的极限
。)
从(6.3.9)的结果,容易理解当n大到一定的时候、特别是到了无穷大的时候,序列(6.3.8)中的项会变小到盖不住序列(6.3.7)中的点。所以虽然(1/n)和(1/10^n)二者在n→∞的时候尺度都是0,但是它们是具体的、不同的0。
6.4 第二种情况的分析
我们再考虑第二种情况,即:
a1=a2=…=an…=1/10^n(n→∞) (6.4.1)
如此,则柯朗的第二个序列即1/10,1/10^2,1/10^3,…中的项能够盖住序列(6.4.1)中的对应的项了。
但是。只要仔细考察,就会发现序列(6.4.1)中的项数是10^n个,也就是有10^n个点;而柯朗下面序列中的项数只不过是n项即n个点,列出如下:
- a1(1/10^n),a2(1/10^n),a3(1/10^n),…,an-1(1/10^n),an(1/10^n),an 1(1/10^n),…, (1/10n)。 (6.4.2)(括号中的数字表示点的大小。)
- 1/10, 1/10^2 , 1/10^3 , …, 1/10^(n-1), 1/10^n。 (6.4.3)
(6.4.2)有10^n项,而(6.4.3)才有n项。所以后者的数目远远小于前者。所以(6.4.2)中的a(n 1)项以及以后的所有项与(6.4.3)序列都没有对应项。由于有大量的点没有被盖上,所以后者仍然不可能盖住前者。
7 研究无穷需要谨慎
本文已经证明了0到1之间的实数是可数的。
同理,可以证明全体实数是可数的。因为可数集加可数集仍然是可数的。
在实际运算中,没有抽象的无穷,无穷总是具体的。分析无穷需要非常细致、小心谨慎。
参考文献:
1 例如,可参考〈美〉威廉∙ 邓纳姆《天才引导的历程》[M],苗 锋译,中国对外翻译出版公司,1994年12月,第1版,最后两章。
2 同上。
3 同上。
4王建午 曹之江 刘景麟 《实数的构造理论》[M]人民教育出版社1981年1月第1版52-53。
5 李长白《0.9…≠1的证明及冲击》[J] 当代教育实践与教学研究,2017,7:153。(文章中有错误。相信读者会发现和纠正。)
6 〈美〉R.柯朗 H.罗宾著I.斯图尔特修订《什么是数学》(增订版)[M]左 平 张怡慈译 复旦大学出版社2005年5月第2版96-97。
,