第 6 章开始时,问题的角度有所改变。前面几章主要构造和研究特定的数系; 这一章问的是更一般的问题:如果集合很大,尤其是无限集合,我们应该怎样比 较它们的大小?
对有限集合来说,逐个数元素已经足够。对无限集合来说,更稳定的方法是研究 函数。双射表示两个集合的元素可以完全一一配对;单射表示一个集合可以不撞 车地编码到另一个集合里。
相同基数
定义
相同基数
设 、 为两个集合。如果存在双射 ,我们称 与 有相同基数,并写成
这个定义刻意不要求两个集合的元素有相同性质。元素可以完全不同;真正重要 的是能否把 的每个元素配到 的唯一元素,而且 的每个元素也都被 配到。
对有限集合来说,这与普通的数数一致。如果一个集合可以与 n 个标签组成
的集合双射,便说它有 n 个元素。
定义
有限集合
集合 称为有限,如果对某个自然数 n 有
在这种情况下,我们通常直接写 。
因此 |X| 不应被理解为任何集合都自动对应一个普通数字。它表示 的
大小,即基数。有限集合的基数可用自然数表示;无限集合的基数则需要透过映
射来比较。
可数与不可数
定义
可数与不可数
集合 称为可数,如果它是有限集合,或者
不是可数的集合称为不可数。
所以,一个可数无限集合的元素可以排成一列而不遗漏、不重复:
至于 从 0 还是 1 开始,只影响索引写法,不影响可数性的本质。
常见错误
可数不等于有限
本章里,“可数”包括有限集合,也包括与 有相同基数的无限集合。因此 可数比有限更广。
整数是可数的
讲义要求证明
核心想法是:所有整数可以排成一条无限序列。
例题
列举所有整数
一个方便的排列是
这条序列恰好到达每一个整数一次。因此,在固定 的索引惯例后,它给出 一个由 到 的双射。
例如若 ,可定义
其中 。这样 是双射。
证明
为什么这证明可数
这个例子说明无限集合的第一个现象:即使 看起来比 多出很多元素, 两者仍然可以有相同基数。
有理数是可数的
定理
有理数是可数的
有理数集合 是可数的。
讲义先处理正有理数。只要能列举 ,便可以再把正有理数、负有理数和 零交错列出,从而列举整个 。
每个正有理数在最简形式下可写成
其中 为正,并且没有大于 1 的公因子。把这个分数放在第 p
行、第 q 列的无限表格里,然后按对角线
依次扫过,只记录最简分数。
例题
按对角线列出最初一些正有理数
沿对角线扫描并只保留最简分数时,序列可以这样开始:
具体前几项不是重点;重点是机制。任意最简分数 p/q 位于对角线
上,而每条有限编号的对角线最终都会被扫到。

图示。对角扫描不是装饰,而是将正有理数的二维格点转成一条序列的机制。
这为什么给出 的列举?
- 它是满的:每个正有理数都有某个最简表示
p/q,所以必定出现在表格中。 - 它不重复:只用最简形式,便不会把
1/1、2/2、3/3当成不同有理数。
有了 的列举
便可列出
因此 可数。
常见错误
稠密不代表不可数
有理数在实线上稠密,但稠密性不是基数。对角线列举证明,有理数仍然可以 排成一条序列。
用单射比较基数
双射判断基数是否相等。若要比较可能不相等的大小,讲义使用单射。
定义
基数不等式
设 、 为集合。如果存在单射 ,我们写
若 且 ,则写
单射 的意思是: 有足够位置为 的每个元素放置互不相同的 编码。这正是基数版本的“小于或等于”。
例题
一个简单的基数不等式
包含映射
是单射。因此 。
但这本身不证明相等。要证明相等,需要双射;或者需要两个方向的单射,再用 Cantor-Bernstein 定理。
基数不等式具有偏序性质
定理
基数不等式具有偏序的模式
基数上的 具有自反性、反对称性和传递性。因此 具有非自反性和传 递性。
讲义中的证明结构如下。
自反性。 恒等映射
是单射,所以 。
传递性。 若 与 都是单射,则合成
也是单射。因此 且 蕴含 。
反对称性。 这正是 Cantor-Bernstein 定理的内容。
常见错误
没有所有集合的集合
严格来说, 不是定义在一个“所有集合所成的集合”上的关系,因为没有 这样的集合。这里的意思是:对任何正在比较的基数集合,这些偏序性质都成立。
Cantor-Bernstein 定理
定理
Cantor-Bernstein 定理
设 、 为集合。若
则
换句话说,如果 可以单射到 ,而 也可以单射到 ,那么二者实 际上有相同基数。这句话直观上很合理,但无限集合情况下的证明并不只是有限 集合论证的直接翻版。
讲义给出一个证明梗概。设
为单射。由于 g 把 嵌入 ,像集 g(Y) 可视为放在 里的一份
的副本。证明构造 的一串巢状子集
其中
并且
映射 将每一层差集
双射到下一层差集
最后要构造的双射 分段定义如下:
这个构造的重点不是“一眼看出”双射,而是两个单射提供了足够结构,可以把 分成适当部分,再逐部分定义真正的双射。
证明
为什么这个分段定义合理
辅助比较实验
下面的互动组件只是辅助正式语言。可用它分辨双射、单射、两边单射分别在说 什么,再回到上面的定义与定理。
边读边试
用映射比较集合大小
这个工具用具体映射比较基数相等、只由单射得到的大小比较,以及可数枚举。
关键关系
|X| = |Y|
指向
a -> 1, b -> 2, c -> 3
为什么成立
X 的每个元素都用了一次,Y 的每个元素也被命中一次,所以这个函数是双射。
常见错误与细节
常见错误
不要用一个单射直接证明相等
单射 只证明 。它本身不证明 。相等需要双射, 或者两个方向的单射加上 Cantor-Bernstein 定理。
常见错误
不要把未约分分数当成不同有理数
1/1、2/2、3/3 表示同一个有理数。 的可数性证明使用最简形式,
正是为了避免重复。
常见错误
满射对应相反方向的比较
若 是满射,很自然会想推出 。这个结论在选择公理 下成立,但讲义把证明留到选择函数出现之后。
快速检查
快速检查
哪一种函数可证明两个集合有相同基数?
请说出函数性质,并说明它怎样处理元素。
解答
答案
快速检查
为什么列举 Q+ 的对角线方法不会漏掉某个正有理数 p/q?
思考包含该分数的对角线。
解答
答案
快速检查
若存在 X 到 Y 的单射以及 Y 到 X 的单射,哪个定理可推出相同基数?
这是基数比较中的反对称性。
解答
答案
练习
快速检查
给出 Z 的一个明确列举,并说明为什么没有重复。
从 0 开始,再交替列出正整数与负整数。
解答
引导解答
快速检查
解释为什么两个单射的合成仍是单射。
连续使用两次单射定义。
解答
引导解答
快速检查
为什么 Q+ 可数会推出 Q 可数?
需要处理零和负有理数。
解答
引导解答
相关笔记
可先读 2.2 函数与关系, 特别是单射、满射、双射与偏序的部分。然后接着读 6.1.2-6.3 Cantor 定理、连续统与选择公理。