这个问题很有意思,它触及到了集合论中一个非常核心且容易让人产生直觉偏差的概念:集合的基数(cardinality)。我们之所以会觉得“不可数个互不相同的集合之并集可以是可数集”有些奇怪,是因为我们常常习惯于将“并集”和“元素数量的增加”直接联系起来。然而,数学允许我们构造一些“巧妙”的例子,打破这种直观的对应关系。
要理解这一点,我们需要先明确几个关键概念:
1. 可数集 (Countable Set):一个集合是可数的,意味着它的元素可以与自然数集 {0, 1, 2, ...} 或者它的某个有限子集(0, 1, ..., n1)建立一一对应关系。换句话说,可数集要么是有限的,要么可以被“排成一列”地列举出来。例如,自然数集本身、整数集、有理数集都是可数集。
2. 不可数集 (Uncountable Set):一个集合是不可数的,意味着它不能与自然数集建立一一对应关系,也即它的元素无法被完全列举出来。最著名的不可数集就是实数集 $mathbb{R}$,以及自然数的幂集(所有子集的集合)$P(mathbb{N})$。
3. 集合的并集 (Union of Sets):两个或多个集合的并集,是将它们所有的元素合并到一个集合中,但每个元素只出现一次。用数学符号表示就是:$A cup B = {x mid x in A ext{ 或 } x in B}$。
4. 互不相同 (Distinct):集合的并集之所以是“互不相同的集合”,指的是我们正在考虑的那些集合本身是不同的,即使它们可能包含相同的元素。不过,在讨论并集时,我们更关心的是它们最终“合并”成的那个集合的性质。
现在,让我们回到核心问题:为什么不可数个互不相同的集合之并集可以是可数集?
关键在于 集合的“大小”(基数)和“数量”(集合的数量)之间的区别,以及元素在并集中的“冗余”。
想象一下,我们有无数个盒子,每个盒子都标着一个唯一的号码,比如我们用自然数 $n in mathbb{N}$ 来标记这些盒子。这意味着我们有可数多个盒子(标记0的盒子,标记1的盒子,标记2的盒子……)。现在,我们要在这些盒子里面放一些东西。
问题要求我们构造 不可数个互不相同的集合,并且它们的并集是 可数集。
让我们尝试构建一个这样的场景:
例子一:基于实数线上的“点”
我们知道实数集 $mathbb{R}$ 是不可数的。我们能不能利用实数集中的元素来“指示”我们构造的集合?
考虑这样的集合系列:
对于每一个实数 $r in mathbb{R}$,我们构造一个集合 $S_r$。
我们怎么让这些集合 $S_r$ 是“互不相同”的,同时它们的并集是可数的呢?
一个可能的思路是,让每个集合 $S_r$ 只包含一个特殊的元素,而这个特殊元素恰好与 $r$ 相关,但我们必须巧妙地控制总体的元素数量。
另一种思路是,让每个集合包含的元素不多,并且它们之间有很大的“重叠”。
让我们换个更清晰的思路来构造:
考虑一个非常简单的,但数量“不可数”的集合来索引我们的“小集合”们。
最直接的例子是,我们让我们的“不可数个集合”本身就是由实数构成的。
设想我们有一个“主集合” $X$,它本身是不可数的。例如,$X = mathbb{R}$。
现在,我们想要构造一系列集合 ${A_i}_{i in I}$,其中 $I$ 是一个不可数集合,并且对于任意 $i_1, i_2 in I$ 且 $i_1
eq i_2$,都有 $A_{i_1}
eq A_{i_2}$。同时,我们需要 $igcup_{i in I} A_i$ 是一个可数集。
这里的核心在于,构成这些集合的“元素”必须是有限的,而且数量不能太多。 即使我们有不可数多个不同的集合,如果它们“共享”的元素非常有限,那么它们的并集就可能仍然是可数的。
让我们尝试一个具体的构造,利用自然数集合 $mathbb{N}$ 的幂集 $P(mathbb{N})$。$P(mathbb{N})$ 是不可数的。
我们可以为 $P(mathbb{N})$ 中的每一个子集 $A subseteq mathbb{N}$ 构造一个集合 $S_A$。
如何构造 $S_A$ 使得 $igcup S_A$ 可数呢?
关键点:让 $S_A$ 只包含一个“标记”,而这个标记本身是可数的。
让我们这样来定义:
令 $P(mathbb{N})$ 是自然数集 $mathbb{N}$ 的幂集。$P(mathbb{N})$ 是一个不可数集合。
我们定义一个集合族 $mathcal{F} = {S_A mid A in P(mathbb{N})}$.
这个集合族 $mathcal{F}$ 本身就是一个不可数集合的集合(因为 $P(mathbb{N})$ 是不可数的,我们可以一对一地将 $P(mathbb{N})$ 中的元素映射到 $mathcal{F}$ 中的集合)。
现在,我们需要为 $mathcal{F}$ 中的每个集合 $S_A$ 规定内容,并且要求它们是“互不相同”的,同时并集是可数的。
一个非常简洁的例子:
令我们用来构造的“索引集”是实数集 $mathbb{R}$。$mathbb{R}$ 是不可数的。
对于每一个实数 $r in mathbb{R}$,我们构造集合 $A_r$。
如果我们让每个集合 $A_r$ 只包含一个元素呢?
比如,我们让 $A_r = {r}$。
那么,我们就有不可数个集合 ${A_r mid r in mathbb{R}}$。这些集合 $A_r$ 是互不相同的,因为如果 $r_1
eq r_2$,那么 ${r_1}
eq {r_2}$。
然而,它们的并集是 $igcup_{r in mathbb{R}} A_r = igcup_{r in mathbb{R}} {r} = mathbb{R}$。
$mathbb{R}$ 是一个不可数集。这不符合我们的要求。
所以,问题出在让“元素”本身是不可数的。我们需要让构成集合的“东西”是可数的。
让我们重新审视“互不相同”的含义和“并集”的构成。
考虑一个更精巧的构造,利用一个可数的“基础集合”。
设我们的基础集合是一个可数集,例如自然数集 $mathbb{N}$。
我们可以如何从中构造出不可数个互不相同的子集,使得它们的并集仍然是 $mathbb{N}$ 呢?
我们知道,一个无穷集可以与其真子集之间建立一一对应。这有点像“无限的无限”和“无限的无限的子集”之间的关系。
这里有一个经典的例子:
考虑实数集 $mathbb{R}$。我们知道 $mathbb{R}$ 是不可数的。
现在,我们考虑自然数集 $mathbb{N}$ 的所有有限子集。令 $mathcal{F}_{fin}$ 是 $mathbb{N}$ 的所有有限子集的集合。
例如:$emptyset, {0}, {1}, {0,1}, {2}, {0,2}, {1,2}, {0,1,2}, ldots$
$mathcal{F}_{fin}$ 是一个可数集合。为什么?因为有限子集的数量是可数的。我们可以先考虑大小为0的子集(1个,$emptyset$),大小为1的子集($aleph_0$个,${n}$),大小为2的子集($aleph_0 imes aleph_0$个,$inom{aleph_0}{2}$个,仍然可数),依此类推。所有这些集合的数量之和是可数的。
但是,我们需要“不可数个”集合。
让我们把视角转向如何“命名”或“区分”这些集合,而不必让集合的元素本身是不可数的。
核心思想:用一个不可数集合中的元素来“标记”我们可数集合的集合。
让我们构造一个例子,其中我们有不可数多的“名字”,但每个“名字”指向的集合内容是有限的,并且这些内容“来自”一个可数集合。
设我们的“标记”来自实数集 $mathbb{R}$。 $mathbb{R}$ 是不可数的。
设我们希望并集是自然数集 $mathbb{N}$。 $mathbb{N}$ 是可数的。
现在,我们尝试为每一个实数 $r in mathbb{R}$ 构造一个集合 $A_r$,使得:
1. 对于不同的 $r_1, r_2 in mathbb{R}$,$A_{r_1}
eq A_{r_2}$。
2. $igcup_{r in mathbb{R}} A_r = mathbb{N}$ (或者任何其他可数集)。
如何做到这一点?关键在于让 $A_r$ 中的元素都属于 $mathbb{N}$,并且这些 $A_r$ 集合本身能够通过 $r$ 被区分开。
一个直观的例子:
考虑实数集 $mathbb{R}$。
我们知道 $mathbb{R}$ 的基数等于 $2^{aleph_0}$,这是一个不可数基数。
现在,让我们考虑一个可数集合,例如自然数集 $mathbb{N}$。
我们可以为 $mathbb{N}$ 的每一个元素 $n in mathbb{N}$ 定义一个特殊的集合。
关键在于,我们将要构造的“集合”本身,不是那些用来标记它们的“实数”,而是从一个可数集合中选取的元素。
让我们尝试从“有限”和“无限”的结合来思考。
例子:用一个可数集作为“内容”,用一个不可数集作为“名字”。
设 $X = mathbb{N}$ 是我们的可数集合。
设 $Y$ 是一个不可数集合,例如 $Y = mathbb{R}$。
我们希望构造一个集合族 ${A_y}_{y in Y}$,使得:
1. $A_y subseteq X$ 对于所有 $y in Y$。
2. 对于 $y_1
eq y_2$, $A_{y_1}
eq A_{y_2}$。
3. $igcup_{y in Y} A_y = X$。
我们怎么做到这一点呢?
一个非常直接的方法是:让 $A_y$ 成为一个 singleton(单元素集),并且这个元素来自于 $X$。
但是,如果 $A_y = {x_y}$ 并且 $x_y in X$,那么如果 $A_{y_1}
eq A_{y_2}$,这就要求 $x_{y_1}
eq x_{y_2}$。
如果我们有不可数多个这样的 $y$,这就需要不可数多个不同的 $x$ 元素。但 $X=mathbb{N}$ 是可数的,这会产生矛盾!
所以,单元素集的方式在这里行不通,除非我们允许集合的内容包含“标记本身”。
让我们换个思路:让集合的“不同”体现在其结构,而不是元素本身。
一个关键的例子是基于“实数表示法”的构造。
考虑实数集中介于0和1之间的数,即区间 $[0, 1]$。$[0, 1]$ 是不可数的。
我们知道,任何实数都可以用无限小数表示(或者用二进制表示)。
例如,$0.333ldots$ 就是 $1/3$。
$0.101010ldots$ 就是 $2/3$。
现在,我们考虑自然数的二进制定点表示。
例如:
$1
ightarrow 0.000ldots 0ldots$ (只有一个1,后面全是0,可以看作是 $1/2^k$ 形式的数,或者更简单地,就是自然数本身也可以被看作是实数 $n.000ldots$)
为了构造,让我们回到最基础的定义。
我们需要不可数多个集合,这些集合是互不相同的,它们的并集是可数的。
关键在于,允许“不完全列举”或“无限编码”来区分集合。
考虑以下构造:
令 $mathbb{N} = {0, 1, 2, 3, ldots}$ 是我们希望最终并集包含的元素。
我们从实数集 $mathbb{R}$ 中选择一个不可数子集来“索引”我们的集合,例如,我们取实数集中所有以 $0$ 开头、然后跟着一个小数点,再之后是无限多个数字的数,例如 $0.d_1d_2d_3ldots$。这些实数构成了 $[0,1]$ 区间的一部分,也是不可数的。
现在,我们为每一个这样的实数 $x = 0.d_1d_2d_3ldots in [0,1]$ 构造一个集合 $A_x$。
定义集合 $A_x$:
$A_x = { n in mathbb{N} mid ext{在 } x ext{ 的二进表示中,小数点后第 } n ext{ 位是 } 1 }$
例如:
设 $x_1 = 0.01010101ldots$ (在二进制下,即小数点后第2位是1,第4位是1,第6位是1,……)。
那么 $A_{x_1} = {2, 4, 6, 8, ldots}$,即所有偶数。这是一个可数集合。
设 $x_2 = 0.10101010ldots$ (在二进制下,即小数点后第1位是1,第3位是1,第5位是1,……)。
那么 $A_{x_2} = {1, 3, 5, 7, ldots}$,即所有奇数。这是一个可数集合。
设 $x_3 = 0.11111111ldots$ (在二进制下,即小数点后每一位都是1)。
那么 $A_{x_3} = {1, 2, 3, 4, ldots} = mathbb{N}$。这是一个可数集合。
设 $x_4 = 0.00000000ldots$ (在二进制下,即每一位都是0)。
那么 $A_{x_4} = emptyset$。这是一个可数集合。
关键点来了:
1. 不可数个集合: 我们可以选择所有形如 $0.d_1d_2d_3ldots$ 的实数作为索引集 $Y$。由于实数集 $[0,1]$ 是不可数的,那么 $Y$ 也是不可数的。我们构造的集合族 ${A_y}_{y in Y}$ 也是不可数个集合。
2. 互不相同: 如果两个实数 $y_1, y_2 in [0,1]$ 的二进表示不同(假设我们使用唯一的表示法,例如不使用 $0.1000ldots = 0.0111ldots$ 这种二义性,例如规定一个实数要么不以无限个0结尾,要么不以无限个1结尾),那么它们对应的集合 $A_{y_1}$ 和 $A_{y_2}$ 也会不同。这是因为 $A_y$ 的定义完全由 $y$ 的二进表示的位数是否为1来决定。如果两个数的二进表示不同,那么至少存在一个位数 $n$,使得 $y_1$ 在第 $n$ 位是0而 $y_2$ 在第 $n$ 位是1(或者反之)。这意味着 $n$ 会在其中一个集合中,而不在另一个集合中,所以这两个集合是不同的。
例如,$y_1 = 0.010101ldots$ 对应的 $A_{y_1}$ 是偶数集。
$y_2 = 0.101010ldots$ 对应的 $A_{y_2}$ 是奇数集。它们是不同的。
$y_3 = 0.111111ldots$ 对应的 $A_{y_3}$ 是 $mathbb{N}$。
$y_4 = 0.000000ldots$ 对应的 $A_{y_4}$ 是 $emptyset$。
这些集合显然都是不同的。
3. 并集是可数集: 让我们考虑所有这些集合 $A_y$ 的并集:$igcup_{y in [0,1]} A_y$。
根据我们的定义,$A_y = { n in mathbb{N} mid ext{在 } y ext{ 的二进表示中,小数点后第 } n ext{ 位是 } 1 }$。
这意味着,并集 $igcup_{y in [0,1]} A_y$ 是所有“可能出现的”自然数 $n$ 的集合,这些自然数 $n$ 是“可能出现在”某个实数 $y in [0,1]$ 的二进表示的有效位数的。
换句话说,并集里会包含一个自然数 $n$ 当且仅当存在一个实数 $y in [0,1]$,其二进表示的小数点后第 $n$ 位是1。
我们很容易证明,对于任何自然数 $n$,我们都可以构造一个实数 $y in [0,1]$ 使得其二进表示的小数点后第 $n$ 位是1。例如,取 $y$ 在第 $n$ 位为1,而在其他所有位置为0(例如 $0.00ldots0100ldots$ 这种形式,表示 $1/2^n$)。
所以,并集 $igcup_{y in [0,1]} A_y$ 实际上包含了所有自然数,即 $igcup_{y in [0,1]} A_y = mathbb{N}$。
而 $mathbb{N}$ 是一个可数集。
总结一下这个例子的工作原理:
我们从一个不可数集合(实数)中挑选“索引”(实数 $y$)。
我们为每个索引构造一个集合($A_y$),这个集合的内容必须是来自一个可数集合(这里是自然数 $mathbb{N}$)。
我们巧妙地定义了集合的内容,使得“区分不同索引”只需要在这些可数集合的元素上进行“编码”。二进表示的“位数”就充当了这个编码。
一个自然数 $n$ 被包含在某个集合 $A_y$ 中,当且仅当在对应的实数 $y$ 的二进表示中,第 $n$ 位是1。
由于我们有不可数多的实数 $y$,我们可以构造不可数多个不同的二进表示模式,从而得到不可数多个互不相同的集合 $A_y$。
然而,并集最终只是“所有被‘1’标记过的位数”的集合。我们知道,任何一个自然数 $n$ 都可以被“标记”(即找到一个实数,使其二进表示的第 $n$ 位是1)。所以,并集就是所有的自然数,是可数的。
核心的直觉偏差来源:
我们通常认为“不可数个集合的并集”会变得更大,可能也是不可数的。这在集合本身包含“新元素”时是正确的。但是,当这些集合“共用”同一个可数的基础元素集时,并集的大小就受限于这个基础元素集的大小。即使有不可数个“容器”(集合),如果它们容纳的东西总量是有限的(可数的),那么合并起来也就还是有限的。
这里就像我们有无数个空的杯子,每个杯子都有一个唯一的标签(不可数个标签)。我们往每个杯子里倒一些水,但我们总共就只有 1 升水(可数个水滴)。我们把所有的水都倒进这无数个杯子里,每个杯子可以有不同的水量分布(例如,杯子1只有0.1毫升,杯子2有0.5毫升,杯子3有0.1毫升但它是另一个标签的杯子)。我们最终拥有的“水总量”仍然是 1 升,是可数的。
这个例子也暗示了,基数理论中,可数集的并集仍然是可数集。即便是有不可数个可数集,它们的并集仍然是可数集。问题之所以让我们感到“奇怪”,是因为我们通常想的是,集合数量的增加会带来元素数量的增加,但当“元素数量”本身受限时,这种直觉就会失效。这里的不可数性体现在集合的数量,而不是集合所包含的“最终”元素的数量。