同样是无穷集合,如果集合里的元素能够与全体正整数构成一一对应的关系,我们就说它是可数的,否则就说它是不可数的。 1874 年, Cantor 发表了一篇重要的论文,论文中证明了全体有理数甚至是全体代数数都是可数的,但全体实数却是不可数的。换句话说,同样是无穷多,实数的数量比有理数、代数数的数量都高出了一个级别。不过,当时 Cantor 证明实数集不可数的方法并不容易理解。 1891 年, Cantor 发表了另一篇论文,给出了实数集不可数的另一种证明方法。此后,这个简单到不可思议的证明不断地震撼着每一个初学集合论的人:
事实上,实数区间 (0, 1) 就已经是一个不可数的集合了。换句话说,你绝不可能用“第一个数是某某某,第二个数是某某某”的方式把 0 到 1 之间的所有实数一个不漏地列举出来。我们大致的证明思路是,假设你把实数区间 (0, 1) 里的所有数按照某种顺序排列起来,那么我总能找到至少一个 0 到 1 之间的实数,它不在你的列表里,从而说明你的列表并不全。把你的列表上的数全写成 0 到 1 之间的无限小数(如果是有限小数,可以在其后面添加数字 0 ,把它变成无限小数):
a1 = 0.0147574628…
a2 = 0.3721111111…
a3 = 0.2323232323…
a4 = 0.0004838211…
a5 = 0.0516000000…
………
那么我就构造这么一个小数,小数点后第一位不等于 a1 的第一位,小数点后第二位不等于 a2 的第二位,总之小数点后第 i 位不等于 ai 的第 i 位。这个数属于实数区间 (0, 1) ,但它显然不在你的列表里,因为它和你列表里的每一个数都有至少一位是不同的。这样,我们就证明了实数区间是不可数的。