今天看刘大可的混乱博物馆的一期提到了GEB那本书,然后提到了康托的对角线证明,但是当时没有立马明白过来,下来看了下资料才明白。
康托的对角线证明法,证明的是实数集合是要大于自然数集合的
无穷集合的大小比较
对于有穷集合,可以数集合中元素的个数,然后比较大小,对于无穷集合的大小比较这种方法就不能用了,需要找到元素之间的一一对应关系。
其实对于有穷集合的数个数比较,本质上也是相当于将集合中每一个元素与每一个自然数一一对应的。
所以一一对应关系是要比数数更为本质的关系。
实数连续区间的等价性
对于(a,b)这样一个实数区间,其可以通过线性放缩到区间(c,d)区间中,而其亦可以放缩到整个实数区间中,比如用tan函数,就可以将
(−π2,π2)
放缩到整个实数区间。
其实这里也可以看出函数与集合之间的一些对应关系。
原命题的证明
所以要证明实数集合是要大于自然数集合的,只需要证明(0,1)区间的实数是大于自然数的就好
证明方法如下(取百度百科上的证明例子):
1. 假设实数集合和自然数集合是一样大的
2. 那么必然存在一个自然数集合和实数集合的一一对应关系,所以就可以将实数列出(这个时候是不用考虑大小顺序的,因为是一一对应关系,所以只用列出就好)
r1
= 0 . 5 1 0 5 1 1 0
r2
= 0 . 4 1 3 2 0 4 3
r3
= 0 . 8 2 4 5 0 2 6
r4
= 0 . 2 3 3 0 1 2 6
3. 取第一个自然数的小数表示的第一位,第二个自然数的小数表示的第二位,…,
r1
= 0 . 5 1 0 5 1 1 0
r2
= 0 . 4 1 3 2 0 4 3
r3
= 0 . 8 2 4 5 0 2 6
r4
= 0 . 2 3 3 0 1 2 6
4. 这个时候就构造出一个新的数
rk
= 0.5140…
5. 将
rk
上每一位都+1,如果是9的话就变为0就好,得到新的数
rk
= 0.6251…
6. 可以得到
rk
在原数列上是不存在的,怎么证明呢?继续再用反证法。假设
rk
存在,其排在第t个数,那么而根据
rk
产生的规则,意味着原来第t个数的第t位也参与到了
rk
的构成中,假设而原来第t个数第t位为m,那么
rk
这个数的第t位为m+1,则其必然与第t个数不相等。所以可以得到
rk
在原数列上是不存在的
7. 这样我们就能构造出原数列中不存在的一个实数,反证成功
【百度百科上用了另外一种证法,其实是一样的】
之前没理解证明的点在于第6点,后来看了看别的资料,就明白了
所以就得到了最终的结论实数集合是要大于自然数集合的