要证明开区间 $(0, 1)$ 不是可数集,我们可以采用一种经典的数学证明方法——康托尔对角线论证法。这个方法非常巧妙地揭示了即使是很小的无穷集合,也可能包含着比我们直观感受到的更多的元素。
首先,我们来理解一下“可数集”这个概念。一个集合被称为可数集,如果我们可以给它的所有元素一一编号,就像给一本有穷的书排序一样,只是这个编号可能永无止境。换句话说,一个无限集是可数的,当且仅当它可以与自然数集 ${1, 2, 3, dots}$ 或者它的一部分建立一一对应关系。直观地说,可数集就是“最少”的无限集。
现在,我们来尝试证明 $(0, 1)$ 不是可数集。我们将使用反证法。
假设开区间 $(0, 1)$ 是一个可数集。
根据可数集的定义,如果 $(0, 1)$ 是可数的,那么我们可以将它所有的元素列成一个无穷的列表,并为它们指定一个唯一的自然数作为编号:
$x_1, x_2, x_3, x_4, dots$
这些 $x_i$ 都是 $(0, 1)$ 区间内的实数,也就是说,每一个 $x_i$ 都可以被表示为一个小数点后有无限多位数字的十进制小数。为了方便,我们确保每个小数都不是以无限重复的9结尾(比如 $0.4999dots$ 这种形式,因为它可以被表示为 $0.5000dots$,这样我们不会产生两种不同的表示方式)。
所以,我们可以把这个列表写成这样:
$x_1 = 0.d_{11}d_{12}d_{13}d_{14}dots$
$x_2 = 0.d_{21}d_{22}d_{23}d_{24}dots$
$x_3 = 0.d_{31}d_{32}d_{33}d_{34}dots$
$x_4 = 0.d_{41}d_{42}d_{43}d_{44}dots$
$dots$
在这里,$d_{ij}$ 表示第 $i$ 个实数 $x_i$ 的小数点后第 $j$ 位数字。
现在,我们要构造一个在 $(0, 1)$ 区间内,但不在我们上面这个列表中的新的实数。这个新的实数就是我们要用来打破我们最初假设的关键。
我们来创建一个新的实数,我们称之为 $y$。我们将通过仔细选择 $y$ 的每一位小数点后的数字来确保它与列表中的任何一个 $x_i$ 都不同。 $y$ 的形式也将是小数点后无限多位数字:
$y = 0.b_1b_2b_3b_4dots$
我们这样来定义每一位数字 $b_k$:
对于 $y$ 的第一位小数 $b_1$,我们看列表中的第一个数 $x_1$ 的第一位小数 $d_{11}$。如果 $d_{11}$ 是 5,我们就让 $b_1$ 是 6;如果 $d_{11}$ 不是 5,我们就让 $b_1$ 是 5。
(选择5和6是为了避免出现0和9,这样可以确保我们的新数 $y$ 不会因为以无限个9结尾而产生歧义,尽管我们前面已经做了规范,但这个选择更保险。)
对于 $y$ 的第二位小数 $b_2$,我们看列表中的第二个数 $x_2$ 的第二位小数 $d_{22}$。如果 $d_{22}$ 是 5,我们就让 $b_2$ 是 6;如果 $d_{22}$ 不是 5,我们就让 $b_2$ 是 5。
以此类推,对于 $y$ 的第 $k$ 位小数 $b_k$,我们看列表中的第 $k$ 个数 $x_k$ 的第 $k$ 位小数 $d_{kk}$。如果 $d_{kk}$ 是 5,我们就让 $b_k$ 是 6;如果 $d_{kk}$ 不是 5,我们就让 $b_k$ 是 5。
通过这样的构造,我们确保了:
1. $y$ 是一个有效的实数: 每一位数字 $b_k$ 都只能是 5 或 6,所以 $y$ 的小数表示是明确的,且 $y$ 的值一定在 $(0, 1)$ 区间内(因为它的第一位不是0,并且所有数字都是09之间的)。
2. $y$ 与列表中的每一个 $x_i$ 都不同:
拿 $y$ 和 $x_1$ 比较:我们构造 $y$ 的第一位小数 $b_1$ 就是故意让它和 $x_1$ 的第一位小数 $d_{11}$ 不同。
拿 $y$ 和 $x_2$ 比较:我们构造 $y$ 的第二位小数 $b_2$ 就是故意让它和 $x_2$ 的第二位小数 $d_{22}$ 不同。
一般地,对于列表中的任意一个数 $x_i$ ($i$ 是任何一个自然数),我们构造 $y$ 的第 $i$ 位小数 $b_i$ 就是故意让它和 $x_i$ 的第 $i$ 位小数 $d_{ii}$ 不同。
因此,我们构造出的实数 $y$ 的小数点后第 $i$ 位数字一定与 $x_i$ 的小数点后第 $i$ 位数字不同。这意味着 $y$ 这个实数不可能是列表中的任何一个 $x_i$。
然而,我们最初的假设是,列表 $x_1, x_2, x_3, dots$ 包含了 $(0, 1)$ 区间内的所有实数。但现在我们找到了一个实数 $y$,它也属于 $(0, 1)$ 区间,却不在我们的列表中。
这就产生了一个矛盾!
这个矛盾的根源在于我们最初的假设——即 $(0, 1)$ 是一个可数集,并且可以被列成一个无穷列表。由于这个假设导出了一个矛盾,所以这个假设一定是错误的。
结论: 开区间 $(0, 1)$ 不是一个可数集。事实上,它是一个“不可数”的集合,比任何可数集都要“大”。这个证明揭示了无穷集合的基数(集合的大小)可以有不同的层级,$(0, 1)$ 的基数比自然数集的基数要大。