2 皮亚诺曲线和实数的不可数性===
1877年,康托给出了从一维到二维的一一映射[1]。皮亚诺和希尔伯特分别于1890年和1891年给出了一种可以充满整个平面的曲线[4][5]。下面先讨论皮亚诺曲线。
皮亚诺曲线由一个大正方形分成9个小正方形,再不断的把每个小正方形分成更小的正方形得到的边组成的曲线,如图一⑴~⑶所示。这实际上是一个递归过程。也可认为皮亚诺曲线是在上面基础上把小正方形的中心点连接起来得到的曲线,如图一⑷所示。这两种表示方法在本节的讨论中并没有区别,在下面的过中位线作截线的过程中可以发现,这两种曲线与截线的交点是一一对应的。为了方便在坐标系中讨论,这里采用的是图一⑴~⑶所示的形式。
Image:Peano_Curve.JPG
图一,皮亚诺曲线
过原正方形的中位线作一条数轴,并假设数轴上位于正方形内的区间是[0,1]。然后用递归过程生成皮亚诺曲线,并在递归过程中按产生的先后顺序对皮亚诺曲线和中位线的交点进行编号。这样每个交点都有一个编号。如果皮亚诺曲线覆盖了整个正方形的话,那么交点应该覆盖了整条中位线。因为线段上的点和[0,1]之间的实数有一一对应关系,而标号和自然数集有一一对应关系,所以这就意味着[0,1]之间的实数和自然数的一个一一对应。这和实数的不可数性是相矛盾的。显然问题的焦点是,皮亚诺曲线与中位线的交点是覆盖了整个[0,1]区间,还是只覆盖了[0,1]中的有理数点。
下面在坐标系中进一步讨论这个问题。为了方便在十进制中讨论,假设每个大正方形分裂成100个小正方形,即每个正方形分裂后与其中位线产生9个交点。把第一次分裂得到的交点记为s1,把第二次分裂得到的交点记为s2……这就得到了一个序列{s1,s2,...,sn,...},序列中任一元素sn又为一个数的序列:
s1:
0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9
s2:
0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09
0.11,0.12,0.13,0.14,0.15,0.16,0.17,0.18,0.19
......
0.91,0.92,0.93,0.94,0.95,0.96,0.97,0.98,0.99
s3:
0.001,0.002,0.003,0.004,0.005,0.006,0.007,0.008,0.009
0.011,0.012,0.013,0.014,0.015,0.016,0.017,0.018,0.019
......
如果皮亚诺曲线和中位线的交点覆盖了整条中位线的话,那么序列{s1,s2,...,sn,...}也就覆盖了实数区间[0,1]。又由于序列中的每个元素sn包含有限个数,所以把每个元素代表的数序列代入后,序列{s1,s2,...,sn,...}就等于一个[0,1]区间中所有的实数组成的一个序列。这和实数的不可数性是矛盾的。
有一点需要明确一下,就是无穷序列的构造过程以及对无穷序列取极限的过程的关系。我们已经知道[0,1]区间中有理数有可数无穷多个,可以用一个递归的无穷过程来产生这些有理数;而[0,1]区间中的无理数都是有理数集合的极限点。但有理数集和无理数集显然是不一样的。这就是说,构造有理数集的无穷过程并不包括取极限的过程,不能认为取极限的过程一定包含在无穷过程中。否则,按第一节的论述,对无理数的定义将包含罗素悖论。事实上,许多宣称找到了实数可数证据的例子都是犯了认为无穷过程一定包含取极限过程的错误。
对皮亚诺曲线,取极限后得到的图形是一个完整的正方形。由于对集合取极限操作的过程不能保持一一对应关系,所以这并不足以证明皮亚诺曲线建立了一种从曲线到平面的一一映射。在取极限前,皮亚诺曲线与中位线的交点包含了[0,1]中所有有理数,这时候皮亚诺曲线完成的是构造基本序列的过程,图形是曲线但不是一个平面;取极限后,图形将覆盖整个平面,这时中位线与图形的交点是整条线段。因为我们知道在取极限前,图形与中位线的交点是可数无穷多个,取极限后交点是不可数无穷多个,这两者之间并不能够建立一一对应关系,所以除非有特别的论证,否则不能从取极限前是曲线而取极限后是平面就得出曲线和平面有一一对应的关系。
事实上,由于产生皮亚诺曲线的过程是递归过程,而递归过程与自然数是一一对应的,在理论上这个过程产生的图形与中位线之间的交点只能是可数无穷多,而不可能是不可数无穷多[3]。
这样,对于平面上坐标为无理数对的点,如(sqrt⑵-1,sqrt⑵-1),既不能被皮亚诺曲线的横边所覆盖,也不能为纵边所覆盖。
这节论述了皮亚诺曲线没有覆盖整个平面。这个问题的焦点在于定义无理数的基本序列有没有包括极限点:如果包括了极限点,那么构造了基本序列就等于所有有理数和无理数;如果不包含极限点,那么构造了基本序列等于只构造了有理数。