概览
本节将集合大小的概念从有限集推广到无限集,引入了基数(cardinality)的概念来比较无限集的”大小”。核心内容包括可数集(countable set)与不可数集(uncountable set)的分类、Cantor 的对角线论证法(diagonalization argument)、Schröder-Bernstein 定理,以及连续统假设(continuum hypothesis)这一著名的数学开放问题。
- 两个集合基数相等当且仅当存在它们之间的双射,这一标准同时适用于有限集和无限集
- 可数集包括所有有限集以及与正整数集 等势的无限集,其基数记为 (aleph null)
- 有理数集 是可数的,但实数集 是不可数的——这是 Cantor 对角线论证法的经典结论
- Schröder-Bernstein 定理提供了一种不直接构造双射就能证明两个集合等势的强大工具
- 计算机程序集合是可数的,但函数集合是不可数的,由此可推出不可计算函数的存在
- 连续统假设( 与 之间不存在其他基数)在标准集合论公理下既不能被证明也不能被证伪
一、知识结构总览
graph TB A["2.5 基数"] --> B["基数的基本定义"] A --> C["可数集"] A --> D["不可数集"] A --> E["基数的重要定理"] A --> F["应用与开放问题"] B --> B1["等势 |A| = |B|"] B --> B2["|A| ≤ |B|"] C --> C1["可数的定义"] C --> C2["ℵ₀ Aleph Null"] C --> C3["奇数集可数"] C --> C4["整数集可数"] C --> C5["有理数集可数"] C --> C6["Hilbert 大饭店"] D --> D1["Cantor 对角线论证"] D --> D2["实数集不可数"] E --> E1["可数集的并仍可数"] E --> E2["Schröder-Bernstein 定理"] E --> E3["Cantor 定理 |S| < |P(S)|"] F --> F1["不可计算函数"] F --> F2["连续统假设"] F --> F3["ℵ₀ < 𝔠 = 2^ℵ₀"]
二、核心思想
核心思想
本节的核心思想是:利用双射作为比较集合”大小”的通用标准,将有限集的元素计数推广到无限集的基数比较。Cantor 的对角线论证法证明了实数集不可数,揭示了”无限”也有不同层次。Schröder-Bernstein 定理将等势证明简化为分别构造两个单射。连续统假设的不可判定性则展示了数学公理体系的内在局限。
1. 基数的定义
等势(Same Cardinality)
集合 和 基数相等(have the same cardinality)当且仅当存在从 到 的双射。此时记 。
- 对有限集, 就是两个集合元素个数相同
- 对无限集, 提供了一种比较相对大小的标准
基数的大小比较
- 若存在从 到 的单射,则
- 若 且 ,则
注意:对任意无限集 ,记号 本身没有独立的含义——只有 、、 这些关系式才有定义。
2. 可数集
可数集(Countable Set)
- 可数集是有限集或与正整数集 等势的集合
- 不可数集(uncountable set)是非可数的集合
- 当无限集 可数时,记 (读作”aleph null”),其中 是希伯来字母表的第一个字母
可数集的等价刻画
一个无限集是可数的,当且仅当它的元素可以排成一个序列 (以正整数为索引)。
这是因为双射 可以表示为序列 。
2.1 奇数集是可数的
奇正整数集是可数的
构造双射 ,。
证明 是双射:
单射:设 ,则 ,故 。
满射:设 为任意奇正整数,则 ( 为正整数),故 。
| 1 | 2 | 3 | 4 | 5 | 6 | … | |
|---|---|---|---|---|---|---|---|
| 1 | 3 | 5 | 7 | 9 | 11 | … |
2.2 整数集是可数的
整数集 是可数的
可以将所有整数排列为序列:
对应的双射 :
2.3 有理数集是可数的
正有理数集 是可数的
将正有理数按分子分母之和 分组排列,沿对角线遍历,跳过已经出现过的数(如 已作为 出现):
按对角线顺序列出:
每个正有理数恰好出现一次,因此 是可数的。
直觉突破
有理数集可数这一结论常常令人惊讶——有理数在数轴上是”稠密”的(任意两个有理数之间都有无穷多个有理数),但它的”大小”竟然和稀疏分布的正整数一样。这说明直觉在无限集的”大小”判断上并不可靠。
2.4 Hilbert 大饭店
Hilbert 大饭店悖论
David Hilbert 提出的著名思想实验:一家有可数无穷多个房间的大饭店,每个房间都住满了客人。当一位新客人到来时:
- 将房间 1 的客人移到房间 2
- 将房间 2 的客人移到房间 3
- 一般地,将房间 的客人移到房间
- 房间 1 空出,分配给新客人
所有人都有房间!这在有限集上是不可能的(满 = 无法再容纳),但在无限集上却可以实现。这揭示了”满射”在有限集和无限集上的本质区别。
3. 不可数集——Cantor 对角线论证法
Cantor 对角线论证法(Cantor Diagonalization Argument)
1879 年由 Georg Cantor 引入的一种证明方法,用于证明实数集是不可数的。
实数集是不可数的
证明(反证法):
假设 中的实数是可数的,则可以列出:
设它们的小数展开为:
构造新实数 ,其中:
关键推理:
- 与 在第 1 位小数不同(),故
- 与 在第 2 位小数不同(),故
- 一般地, 与 在第 位小数不同,故
- 因此 不在列表中
但 显然是 中的一个实数,矛盾!
因此 中的实数不可数,从而 也不可数。
对角线论证法的要点
- 选择数字 4 和 5 是为了避免 这类双重表示问题
- 核心思想:无论怎样列举,总可以通过”修改对角线上的数字”来构造一个不在列表中的数
- 这一方法在可计算性理论(如停机问题的证明)中有广泛应用
4. 关于基数的重要定理
4.1 可数集的并仍可数
可数集的并
若 和 是可数集,则 也是可数集。
定理的证明
证明:不失一般性,假设 和 不相交(否则用 替代 )。
分三种情况:
情况 (i): 和 均有限。 则 也有限,故可数。
情况 (ii): 可数无穷, 有限。 的元素列为 , 的元素列为 。 可列为 ,故可数无穷。
情况 (iii): 和 均可数无穷。 的元素列为 , 的元素列为 。 交替排列:,故 可数无穷。
4.2 Schröder-Bernstein 定理
Schröder-Bernstein 定理
若 且 ,则 。
换言之,若存在从 到 的单射 和从 到 的单射 ,则存在从 到 的双射。
Schröder-Bernstein 定理的应用
证明 。
推导过程:
- 构造单射 :取 (因为 )
- 构造单射 :取 (映射到 )
- 由 Schröder-Bernstein 定理,
注意:直接构造双射并不容易,但 Schröder-Bernstein 定理让我们只需分别构造两个单射即可。
Schröder-Bernstein 定理的意义
直接构造双射有时非常困难。该定理将问题分解为两个更简单的子问题(各构造一个单射),大大简化了等势证明。该定理由 Ernst Schröder(1898,证明有误)和 Felix Bernstein(1897)独立提出,但 Richard Dedekind 在 1887 年的笔记中已有证明。
4.3 Cantor 定理
Cantor 定理
对任意集合 ,,即集合的基数严格小于其幂集的基数。
Cantor 定理的证明思路
证明:假设存在到上的函数 。 令 。
若存在 使得 :
- 若 ,则由 的定义,,矛盾
- 若 ,则由 的定义,,矛盾
因此不存在 使得 , 不是到上的。
推论:
5. 不可计算函数
可计算函数与不可计算函数
- 可计算函数(computable function):存在某种编程语言的计算机程序可以求出其所有值的函数
- 不可计算函数(uncomputable function):不存在任何计算机程序能求出其所有值的函数
不可计算函数的存在性证明
推导过程(三步论证):
第一步:任何特定编程语言的程序集合是可数的。 原因:程序可以看作有限字母表上的字符串,而有限字母表上所有字符串的集合是可数的。
第二步:从 到 的所有函数的集合是不可数的。 原因:可以建立从 中的实数到这些函数的子集的双射(将 对应到 ),而 不可数。
第三步:由于可计算函数对应于程序(可数),但所有函数(不可数)远多于程序,因此存在不可计算函数。
6. 连续统假设
连续统假设(Continuum Hypothesis)
连续统假设断言:不存在基数 使得 。
已知结果:
- ,即
若连续统假设成立,则 ,即 。
历史:Cantor 于 1877 年提出,1900 年被 Hilbert 列为 23 个开放问题中的第一题。
现状:Gödel(1940)证明了连续统假设与 ZF 集合论公理不矛盾(不能被证伪);Cohen(1963)证明了连续统假设的否定也与 ZF 公理不矛盾(不能被证明)。因此,在标准 Zermelo-Fraenkel 集合论公理下,连续统假设是不可判定的。
三、补充理解与易混淆点
补充理解
1. Cantor 对角线论证法的历史意义与深远影响
Georg Cantor(1845-1918)在 1874-1891 年间建立的超限数理论(transfinite number theory)是数学史上最具革命性的成就之一。对角线论证法最初发表于 1891 年的论文 “Ueber eine elementare Frage der Mannigfaltigkeitslehre” 中,比他在 1874 年用区间套方法证明实数不可数的原始证明更加简洁和有力。对角线论证法的核心思想——通过自指(self-reference)构造矛盾——后来成为数理逻辑和计算理论中的基本工具。最著名的应用是 Alan Turing 在 1936 年对停机问题(Halting Problem)不可判定性的证明,以及 Kurt Gödel 在 1931 年的不完备性定理(First Incompleteness Theorem)。这些结果共同构成了理论计算机科学和数学基础的理论支柱。
- 来源: Cantor, G. (1891). “Ueber eine elementare Frage der Mannigfaltigkeitslehre.” Jahresbericht der Deutschen Mathematiker-Vereinigung, 1, 75-78.
- 参考: Turing, A. M. (1936). “On Computable Numbers, with an Application to the Entscheidungsproblem.” Proceedings of the London Mathematical Society, 2(42), 230-265. https://doi.org/10.1112/plms/s2-42.1.230
网络资源:
- Brilliant - Bijection, Injection, Surjection — 双射与基数比较的交互式教程
2. Schröder-Bernstein 定理的证明难度与链构造技巧
Schröder-Bernstein 定理的陈述看似简单——“若 可嵌入 且 可嵌入 ,则 与 等势”——但其证明却出人意料地精巧。直觉上,人们可能认为只需将两个单射”拼接”就能得到双射,但当两个单射都不是满射时,拼接并不直接可行。标准的证明方法(由 Julius König 等人发展)使用”链分解”技巧:对 中每个元素 ,构造交替链 ,并根据链的类型(环形链、无限向后延伸链、在 终止的链、在 终止的链)来决定使用 还是 来构造双射。这一技巧在集合论、测度论和泛函分析中都有广泛应用,是理解等价关系和分类定理的重要工具。
- 来源: Hallett, M. (1984). Cantorian Set Theory and Limitation of Size. Oxford University Press. Chapter 7.
- 参考: Hrbacek, K., & Jech, T. (1999). Introduction to Set Theory (3rd ed.). Marcel Dekker. Chapter 3.
网络资源:
- UCL - Function Properties — 函数性质与双射的系统讲解
易混淆点
1. “可数”的含义——有限集也算可数
- ❌ 认为”可数”仅指”可以一个一个数出来的无限集”,而将有限集排除在外
- ✅ 在数学定义中,可数集包括所有有限集以及与正整数集等势的无限集。因此 是可数的,空集 也是可数的。如果只想指”与 等势的无限集”,应使用”可数无穷”(countably infinite)这一术语。可数集的正式定义是:有限或可数无穷
2. 基数不等式 不要求
- ❌ 认为 意味着 是 的子集
- ✅ 仅要求存在从 到 的单射,而不要求 。例如, 和 满足 (因为存在单射 ),但 不是 的子集。类似地,(存在单射 ),但 的关系与基数比较是两个不同的概念
四、习题精选
习题概览
题号范围 核心考点 难度 1-4 判断集合是有限/可数无穷/不可数 ⭐⭐ 5-9 Hilbert 大饭店的各种变体 ⭐⭐⭐ 10-11 不可数集的差集与交集 ⭐⭐ 12-21 基数不等式的传递性与等势证明 ⭐⭐⭐ 22-24 满射/单射与可数性的关系 ⭐⭐⭐ 25-32 可数性的各种证明技巧 ⭐⭐⭐ 33-34 Schröder-Bernstein 定理的应用 ⭐⭐⭐ 35-36 Cantor 定理与 的不可数性 ⭐⭐⭐⭐ 37-39 不可计算函数的存在性证明 ⭐⭐⭐⭐ 40 Cantor 定理的证明 ⭐⭐⭐⭐ 41 Schröder-Bernstein 定理的完整证明(链分解) ⭐⭐⭐⭐⭐
题1:用对角线论证法证明不可数性
题目
用 Cantor 对角线论证法证明:所有从 到 的函数的集合是不可数的。
解答
证明(反证法):
假设所有从 到 的函数可以列为 。
构造新函数 ,令 (即对角线取反)。
对任意 ,,故 。
因此 不在列表中,矛盾。故该函数集合不可数。
题2:证明整数集是可数集
题目
证明 (整数集)是可数集。
解答
证明:构造双射 :
对应的排列为:
验证单射:设 。
- 若 同为偶数,则 ,故 。
- 若 同为奇数,则 ,故 。
- 若 为偶数、 为奇数,则 ,即 ,但 ,矛盾。故此情况不可能。
验证满射:对任意整数 :
- 若 ,取 (偶数),则 。
- 若 ,取 (奇数),则 。
因此 是双射, 是可数集。
题3:可数集的子集的性质
题目
证明可数集的子集要么有限要么可数。
解答
证明:设 是可数集,。分两种情况讨论。
情况一: 是有限集。
此时结论已成立(有限集是可数的)。
情况二: 是无限集。
由于 可数, 的元素可以排列为
按照在 的排列中出现的顺序,依次列出 中的元素:(其中 是 的排列中第 个属于 的元素)。
这就建立了双射 ,。
- 单射: 的下标 唯一确定。
- 满射: 中每个元素都在 的排列中出现,因此会被分配到某个下标。
因此 是可数无穷集。
综合两种情况,可数集的子集要么有限要么可数。
题4:用对角线论证法证明 不可数
题目
用对角线论证法证明 区间的实数集不可数。
解答
证明(反证法):
假设 中的实数是可数的,则可以全部列出:
将每个实数写成唯一的小数展开(约定不使用以 结尾的展开),设:
构造新实数 ,其中:
选择 4 和 5 是为了避免 的双重表示问题。
关键推理:
- 与 在第 1 位小数不同(),故
- 与 在第 2 位小数不同(),故
- 一般地, 与 在第 位小数不同,故
因此 不在列表中。但 (因为 ),矛盾!
因此 中的实数不可数。
题5:证明
题目
证明 (平面上的点集)与 等势()。
解答
证明思路:利用 Schröder-Bernstein 定理,分别构造 和 的单射。
第一步:构造单射 。
取 。若 ,则 ,故 。单射得证。
第二步:构造单射 。
对 ,将 和 的小数部分交错排列来构造一个实数。
具体地,设 ,(取不以 结尾的唯一展开)。
定义
验证单射:若 ,则交错排列的每一位都相同,从而 的每一位等于 的每一位, 的每一位等于 的每一位,故 。
第三步:由 Schröder-Bernstein 定理, 且 ,故 。
解题思路提示
对角线论证法的核心模式:假设可数并列表,然后构造一个”对角线上取反”的新元素,证明它不在列表中。关键在于如何定义”取反”操作——对于 值域,直接用 即可。
五、视频学习指南
视频资源
六、教材原文
教材原文
“The sets A and B have the same cardinality if and only if there is a bijection from A to B. When A and B have the same cardinality, we write |A| = |B|.”
“A set is called uncountable if it is not countable. The set of real numbers is an example of an uncountable set, as the German mathematician Georg Cantor discovered in 1879.”