对角论证法是乔治·康托尔提出的用于说明实数集合是不可数集的证明。
对角线法并非康托关于实数不可数的第一个证明,而是发表在他第一个证明的三年后。他的第一个证明既未用到十进制展开也未用到任何其它数字系统。自从该技巧第一次使用以来,在很大范围内的证明中都用到了类似的证明构造方法。
实数
康托的原始证明表明区间[0,1]中的点数不是可数无穷大。该证明是用反证法完成的,步骤如下:
- 假设(从原题中得出)区间[0,1]中的点数是可数无穷大的
- 于是乎我们可以把所有在这区间内的数字排成数列,
- 已知每一个这类的数字都能以小数形式表达
- 我们把这些数字排成数列(这些数字不需按序排列; 事实上,有些可数集, 例如有理数也不能按照数字的大小把他们全数排序,但单只是成数列就没有问题的)在部份有多种表达形式的数字上,例如0.499 ... = 0.500 ..., 我们选择前者.
- 举例,如果该数列小数形式表现如下:
- r 1 = 0 . 5 1 0 5 1 1 0 ...
- r 2 = 0 . 4 1 3 2 0 4 3 ...
- r 3 = 0 . 8 2 4 5 0 2 6 ...
- r 4 = 0 . 2 3 3 0 1 2 6 ...
- r 5 = 0 . 4 1 0 7 2 4 6 ...
- r 6 = 0 . 9 9 3 7 8 3 8 ...
- r 7 = 0 . 0 1 0 5 1 3 5 ...
- ...
- 考虑小数点后的第k个位,为了方便起见, 我们底间并粗体这些数字,从下图你应明白为什么这个证明被称为对角论证法
- r 1 = 0 . 5 1 0 5 1 1 0 ...
- r 2 = 0 . 4 1 3 2 0 4 3 ...
- r 3 = 0 . 8 2 4 5 0 2 6 ...
- r 4 = 0 . 2 3 3 0 1 2 6 ...
- r 5 = 0 . 4 1 0 7 2 4 6 ...
- r 6 = 0 . 9 9 3 7 8 3 8 ...
- r 7 = 0 . 0 1 0 5 1 3 5 ...
- ...
- 我们设一实数, 其中x是因应以下的方式定义的
- 如果的第k个小数位等于5, 那么x的第k个小数位是4
- 如果的第k个小数位不等于5, 那么x的第k个小数位是5
- 明显地x是一个在区间[0,1]内的实数,以之前的数为例, 则相对应的x应为 0 . 4 5 5 5 5 5 4 ...
- 由于我们假设包括了所有区间[0, 1]内的实数,所以一定有一个
- 但由于x的特殊的定义,这使到x和的第n个小数位是不同的,所以
- 所以并不能罗列所有区间[0, 1]内的实数,这发生了矛盾。
- 所以在第一点内所提出的假设"区间[0,1]中的点数是可数无穷大的"是不成立的。