在现有的数学理论中,全体实数可以与数轴上的所有点形成一一对应的关系,从而全体实数能够填满整个数轴而不留任何空隙。实数包括有理数和无理数,假如将数轴上的所有无理数全部删除,使得数轴上只剩下有理数,那么这条数轴就不是连续的了,数轴上必存在无穷多的空隙。
然尔本人研究出来的一种方法,却可以仅将有理数集中的一个子集便能填满整个数轴,从而在该数轴上不存在无理数,这究竟是怎么做到的呢?
在介绍这种方法之前,先给出几个集合:先给定一条长度为1的线段[0,1],设S为线段[0,1]上所有实数的集合,Q为线段[0,1]上所有有理数的集合,W为线段[0,1]上所有无理数的集合。我们知道:有理数集合Q与无理数集合W的并便是所有实数的集合S。
现在设一个特定的集合Q1={m/2^n|m<2^n,m=1,3,5,7,9……2n+1……,n=1,2,3,4,5……n……}。从这个集合可以看出来,因为该集合中的所有元素全都是有理数,并且所有的元素全都小于等于1,所以它是线段[0,1]上所有有理数集合Q的一个子集,我们可以列出Q1中的所有元素,分别是:{1/2,1/4,3/4,1/8,3/8,5/8,7/8,1/16,3/16,5/16……}
接下来要做的事情是:仅仅用线段[0,1]上所有有理数集合Q的一个子集Q1中的所有元素,便能填满线段[0,1]中的所有实数位置,使得[0,1]中的所有无理数都不能插入到其中,从而证明在线段[0,1]上不存在无理数。
为了更直观形象的说明整个的证明过程,下面配以图示的方法来进行说明:
在上图中,第(1)步,先将线段[0,1]中0和1两个点中间的所有点全部删除,只保留0和1两个端点(即在[0,1]中删除开区间(0,1),只保留0和1两个端点)。
在此说明一下:为什么要进行这样的操作呢?因为先将0和1中间的所有点全部删除,使得0和1的中间没有任何一个点,然后再将Q1中的所有点全部填入到0和1之间,看一下Q1中的所有点能不能填满0和1之间的所有实数位置。按理来说,Q1中的所有元素只是[0,1]中的所有有理数集合Q的一个子集,是不可能将从0到1的所有位置全部填满的,但接下来便会证明的确会填满从0到1的所有位置。
从图中可以看出:将0和1之间的所有点全删除后,0和1的中间没有其他点,留下了一个长度为1的空白位置,在这里称为0和1两点间的空隙。
在此给出“空隙”的定义:如果两个相异点a和b的中间不存在其他点,则称a和b两点之间的距离为空隙,记为,易知:如果a和b两点之间存在空隙,则有a不等于b,如果a和b两点之间不存在空隙,则有a=b。
第(2)步,将Q1中的元素1/2插入到a和b的中间,则变成了两个空隙:<0,1/2>,<1/2,1>,这两个空隙的长度为1/2。
第(3)步:将Q1中的元素1/4,3/4分别插入到两个空隙之中,则变成了四个空隙,每个空隙的长度为1/4。
第(4)步,将1/8,3/8,5/8和7/8填入其中,则变成了八个空隙,每个空隙的长度为1/8
第(5)步:……
第(6)步:……
可以看出来,随着操作次数的增加,填入的点越来越多,直至无穷,而出现的空隙也越来越多,直至无穷,空隙的长度也会变得越来越短,其长度的变化分别为:1/2,1/4,1/8,1/16……无限的趋近于0,极限的情况下,最后所有的空隙的长度全都为0.
现在考虑这样的问题:如果往0和1的上面填入点,应该填入到什么位置呢?只能填入到两点之间的空隙之中,举例来说,如果往<0,1>的这个空隙里填入点,不能填到0这个位置,也不能填到1这个位置上,只能填在两个点之间的空隙内。
但是,当所有的空隙的长度全都变为0的时候,也就是说:这条线段上已经没有任何空隙了,那么,这时候,还能再往里填入点吗?填到什么位置上?
所以说:当所有的空隙的长度全都变为0的时候,这条线段上已经没有空隙了,不能再往里填入任何一点了。
而从操作的全过程来看,填入的所有点全都是集合Q1中的元素,也就是说:仅仅用[0,1]区间有理数集合Q的一个子集,便已经填满了线段[0,1]中的所有位置,再也填不进去任何一点,此时如果再将[0,1]区间的无理数集合W的元素填入其中,便会发现W中的任何一个无理数都不能插入到其中去,所以最后的结果便是:线段[0,1]上只存在有理数,不存在无理数。
我们知道,在现有的数学体系中,有理数是不能填满数轴的,但为什么在这个例子中,有理数就能填满整个数轴呢?这个证明是否存在逻辑错误?如果这个证明不存在任何的逻辑错误,那只能说明现有的数学理论中存在矛盾。