用来比较集合的函数
设 f : X → Y f:X\to Y f : X → Y 为函数。它的像集为
f ( X ) = { f ( x ) ∣ x ∈ X } ⊆ Y , f(X)=\{f(x)\mid x\in X\}\subseteq Y, f ( X ) = { f ( x ) ∣ x ∈ X } ⊆ Y ,
对 B ⊆ Y B\subseteq Y B ⊆ Y 的原像为
f − 1 ( B ) = { x ∈ X ∣ f ( x ) ∈ B } . f^{-1}(B)=\{x\in X\mid f(x)\in B\}. f − 1 ( B ) = { x ∈ X ∣ f ( x ) ∈ B } .
记号 f − 1 ( y ) f^{-1}(y) f − 1 ( y ) 可以表示单点集 { y } \{y\} { y } 的原像;它不表示逆函数一定存在。
只有双射才有逆函数。
定义
单射、满射与双射 函数 f : X → Y f:X\to Y f : X → Y 称为单射 ,如果
f ( x 1 ) = f ( x 2 ) ⟹ x 1 = x 2 ( x 1 , x 2 ∈ X ) . f(x_1)=f(x_2)\Longrightarrow x_1=x_2
\qquad (x_1,x_2\in X). f ( x 1 ) = f ( x 2 ) ⟹ x 1 = x 2 ( x 1 , x 2 ∈ X ) . 因此 Y Y Y 中每个元素至多有一个原像。它称为满射 ,如果
∀ y ∈ Y ∃ x ∈ X 使得 f ( x ) = y , \forall y\in Y\;\exists x\in X\text{ 使得 }f(x)=y, ∀ y ∈ Y ∃ x ∈ X 使得 f ( x ) = y , 等价地说 f ( X ) = Y f(X)=Y f ( X ) = Y ;陪域中的每个元素都被击中。如果同时是单射与满射,就
称为双射 。
陪域很重要。例如 f : N → N f:N\to N f : N → N ,f ( n ) = n + 1 f(n)=n+1 f ( n ) = n + 1 ,是单射而不是满射,因为 0 0 0 没有
被击中。若把陪域改成 N ∖ { 0 } N\setminus\{0\} N ∖ { 0 } ,同一个规则就成为双射。因此,关于
基数的命题必须同时写清定义域与陪域。
例题
检查三种性质 考虑 u : { 0 , 1 , 2 } → { a , b , c , d } u:\{0,1,2\}\to\{a,b,c,d\} u : { 0 , 1 , 2 } → { a , b , c , d } ,其中
u ( 0 ) = a , u ( 1 ) = c , u ( 2 ) = a . u(0)=a,\qquad u(1)=c,\qquad u(2)=a. u ( 0 ) = a , u ( 1 ) = c , u ( 2 ) = a . 它不是单射,因为 u ( 0 ) = u ( 2 ) u(0)=u(2) u ( 0 ) = u ( 2 ) 但 0 ≠ 2 0\ne2 0 = 2 ;它也不是满射,因为 b b b 与 d d d
不是输出。这个小例子把两个条件分开:单射关注输出是否重复,满射关注陪域
元素是否遗漏。
相同基数与可数性
概念视角 结构
把基数理解为数数与配对 对于有限集合,大小很容易让人联想到清点:把元素一个个数出来。对于任意集合,定义则把这种清点改成配对检验:能否把 X X X 的每个元素与 Y Y Y 的恰好一个元素配对,并且反向也能做到?这就是为什么 N N N 与偶数自然数 2 N = { 0 , 2 , 4 , … } 2N=\{0,2,4,\ldots\} 2 N = { 0 , 2 , 4 , … } 通过 n ↦ 2 n n\mapsto 2n n ↦ 2 n 具有相同基数,尽管 2 N 2N 2 N 是 N N N 的真子集。双射记录了相同的大小;真包含本身并不意味着基数严格更小。
定义
相同基数 若存在双射 f : X → Y f:X\to Y f : X → Y ,就称集合 X X X 与 Y Y Y 有相同基数 ,并写成
∣ X ∣ = ∣ Y ∣ . |X|=|Y|. ∣ X ∣ = ∣ Y ∣.
被配对的元素不必具有相同性质。把数与有序对配对,与把两列数字配对一样合
法。对有限集合,这个定义与普通数数一致。
定义
有限集合 若某个 n ∈ N n\in N n ∈ N 满足 ∣ X ∣ = ∣ n ∣ |X|=|n| ∣ X ∣ = ∣ n ∣ ,其中我们把 n n n 表示为有限标签集
n = { 0 , … , n − 1 } n=\{0,\ldots,n-1\} n = { 0 , … , n − 1 } ;当 n = 0 n=0 n = 0 时,这表示 n = ∅ n=\varnothing n = ∅ ,就称 X X X 为有限集合 ,并写 ∣ X ∣ = n |X|=n ∣ X ∣ = n 。空集也是有限的,且 ∣ ∅ ∣ = 0 |\varnothing|=0 ∣ ∅ ∣ = 0 。
定义
可数与至多可数 在本课程中,如果 X X X 是有限集合,或者
∣ X ∣ = ∣ N ∣ , |X|=|N|, ∣ X ∣ = ∣ N ∣ , 就称 X X X 可数 。等价地,若 X X X 有限或可数无限,就称它至多可数 。有
些教材只把无限情形称为 countable,因此“至多可数”可以消除这种约定差异。
不是至多可数的集合称为不可数 。
对可数无限集合来说,一个列举是序列 x 0 , x 1 , x 2 , … x_0,x_1,x_2,\ldots x 0 , x 1 , x 2 , … ,其中每个元素恰
好出现一次。“恰好一次”同时包含列举的满射性与索引映射的单射性。仅仅写
出一条无限序列还不够;必须说明为什么没有遗漏,也没有重复。
可数集合的明确列举
整数
设 N = { 0 , 1 , 2 , … } N=\{0,1,2,\ldots\} N = { 0 , 1 , 2 , … } ,定义
e ( 0 ) = 0 , e ( 2 k − 1 ) = k , e ( 2 k ) = − k ( k ≥ 1 ) . e(0)=0,\qquad e(2k-1)=k,\qquad e(2k)=-k\quad(k\ge1). e ( 0 ) = 0 , e ( 2 k − 1 ) = k , e ( 2 k ) = − k ( k ≥ 1 ) .
这给出序列 0 , 1 , − 1 , 2 , − 2 , 3 , − 3 , … 0,1,-1,2,-2,3,-3,\ldots 0 , 1 , − 1 , 2 , − 2 , 3 , − 3 , … 。
证明。 每个整数或者是 0 0 0 ,或者是正整数 k k k ,或者是 k ≥ 1 k\ge1 k ≥ 1 时的负
整数 − k -k − k 。它们分别出现在索引 0 0 0 、2 k − 1 2k-1 2 k − 1 、2 k 2k 2 k 处,因此 e e e 是满射。三
种情形的值互不相同,而在正数或负数情形中,上述索引又唯一确定 k k k ,所
以 e e e 是单射。因此 e e e 是双射。若 N N N 从 1 1 1 开始编号,只需把索引整体平
移一个单位;基数结论不变。
这个例子体现无限集合的基本惊讶之处:把所有负整数加入 N N N 并没有产生更大
的基数。比较的是是否存在双射,而不是一个集合是否包含另一个集合。
有理数
定理
有理数是可数的 有理数集合 Q Q Q 至多可数,事实上是可数无限的。
每个正有理数都有唯一的最简表示 p / q p/q p / q ,其中 p , q ∈ { 1 , 2 , 3 , … } p,q\in\{1,2,3,\ldots\} p , q ∈ { 1 , 2 , 3 , … } 且
gcd ( p , q ) = 1 \gcd(p,q)=1 g cd( p , q ) = 1 。把 p / q p/q p / q 放在第 p p p 行、第 q q q 列,然后沿有限对角线
p + q = 2 , 3 , 4 , … p+q=2,3,4,\ldots p + q = 2 , 3 , 4 , … 扫描。每条对角线内按分子递增扫描(固定任何一种顺序
都可以),只保留互素的数对。开头可以是
1 , 1 2 , 2 , 1 3 , 3 , 1 4 , 2 3 , 3 2 , 4 , … . 1,\ \frac12,\ 2,\ \frac13,\ 3,\ \frac14,\ \frac23,\ \frac32,\ 4,\ldots. 1 , 2 1 , 2 , 3 1 , 3 , 4 1 , 3 2 , 2 3 , 4 , … .
例题
为什么有理数的对角扫描有效 例如 7 / 5 7/5 7/5 已经是最简形式,位于对角线 p + q = 12 p+q=12 p + q = 12 。在这条对角线之前
只有有限条对角线,而它本身也只有有限个数对,所以 7 / 5 7/5 7/5 会在有限位置
被扫到。另一方面,只保留互素数对意味着两个被记录的数对不可能表示同一个
正有理数:最简表示的唯一性迫使 ( p , q ) (p,q) ( p , q ) 相同。因此,这个扫描对 Q + Q_+ Q + 既是
满的,也是单的。
这个论证同时证明了两个方向。每个正有理数都有最简数对,所以没有遗漏;最
简数对唯一,所以没有重复。若所得列举为 q 1 , q 2 , q 3 , … q_1,q_2,q_3,\ldots q 1 , q 2 , q 3 , … ,则
0 , q 1 , − q 1 , q 2 , − q 2 , q 3 , − q 3 , … 0,q_1,-q_1,q_2,-q_2,q_3,-q_3,\ldots 0 , q 1 , − q 1 , q 2 , − q 2 , q 3 , − q 3 , …
列出每个有理数恰好一次。零出现一次,每个非零有理数都有唯一的符号和唯一
的正绝对值。因此 Q Q Q 可数。
它不是有限集:包含映射 n ↦ n n\mapsto n n ↦ n 从 N N N 到 Q Q Q 是单射,所以 Q Q Q 包含无
限多个互不相同的整数。
图示。对角扫描把二维格点变成一条序列;最简形式条件消除了同一个有理数
的不同表示。
稠密性是另一个性质。有理数与实线的每个非空开区间相交,但对角线程序仍然
能把它们放入一条序列。稠密不等于不可数。
可数集合的乘积
网格论证也给出两个 N N N 的明确配对。对 a , b ∈ N a,b\in N a , b ∈ N ,令
π ( a , b ) = ( a + b ) ( a + b + 1 ) 2 + b . \pi(a,b)=\frac{(a+b)(a+b+1)}2+b. π ( a , b ) = 2 ( a + b ) ( a + b + 1 ) + b .
满足固定 a + b = s a+b=s a + b = s 的数对形成有限对角线;三角数 s ( s + 1 ) / 2 s(s+1)/2 s ( s + 1 ) /2 正好跳过此前
的对角线。因此 π \pi π 每个数对恰好列出一次。更形式地,从
n = π ( a , b ) n=\pi(a,b) n = π ( a , b ) 可以恢复唯一的对角线 s s s ,使
s ( s + 1 ) / 2 ≤ n < ( s + 1 ) ( s + 2 ) / 2 s(s+1)/2\le n\lt(s+1)(s+2)/2 s ( s + 1 ) /2 ≤ n < ( s + 1 ) ( s + 2 ) /2 ,再得到
b = n − s ( s + 1 ) / 2 b=n-s(s+1)/2 b = n − s ( s + 1 ) /2 与 a = s − b a=s-b a = s − b 。所以 π : N × N → N \pi:N\times N\to N π : N × N → N 是双射。
定理
可数三元组仍然可数 ∣ N × N × N ∣ = ∣ N ∣ |N\times N\times N|=|N| ∣ N × N × N ∣ = ∣ N ∣ 。
证明。 定义
Φ ( a , b , c ) = π ( π ( a , b ) , c ) \Phi(a,b,c)=\pi(\pi(a,b),c) Φ ( a , b , c ) = π ( π ( a , b ) , c )
两次使用的 π \pi π 都是双射,所以它们的合成是从 N 3 N^3 N 3 到 N N N 的双射。逆映
射先恢复 ( π ( a , b ) , c ) (\pi(a,b),c) ( π ( a , b ) , c ) ,再恢复 ( a , b ) (a,b) ( a , b ) 。这就是“可数乘可数乘可数”仍然
可数的具体含义:有限维网格可以用一串有限对角线扫描。若某个乘积因子为空,
乘积就是空集,因而有限;上面的双射针对的是三个 N N N 的乘积。
同一个配对也能处理有限个带标签的可数集合。例如用
( n , i ) ↦ π ( n , i ) (n,i)\mapsto\pi(n,i) ( n , i ) ↦ π ( n , i ) 把 ( n , 0 ) (n,0) ( n , 0 ) 与 ( n , 1 ) (n,1) ( n , 1 ) 映入 N N N 。这个映射是单射,所
以两个 N N N 的副本可以存放在一个 N N N 中;在合适的坐标上使用配对映射的逆,
便能恢复标签与原来的数字。这说明无限列举可以吸收有限的额外标记,但并不
表示任意扩张都与原集合等大:仍然必须证明具体映射存在。
更一般地,基数比较可以沿映射传递。若 X → Y X\to Y X → Y 与 Y → Z Y\to Z Y → Z 是单射,合成便
给出 ∣ X ∣ ≤ ∣ Z ∣ |X|\le|Z| ∣ X ∣ ≤ ∣ Z ∣ ;若两个映射都是双射,合成也是双射。这两个简单规则正是本
节整数、有理数与三元组列举背后的映射记账。
基数不等式
定义
基数不等式 对集合 X X X 、Y Y Y ,若存在单射 X → Y X\to Y X → Y ,就写
∣ X ∣ ≤ ∣ Y ∣ |X|\le |Y| ∣ X ∣ ≤ ∣ Y ∣ 若 ∣ X ∣ ≤ ∣ Y ∣ |X|\le|Y| ∣ X ∣ ≤ ∣ Y ∣ 且 ∣ X ∣ ≠ ∣ Y ∣ |X|\ne|Y| ∣ X ∣ = ∣ Y ∣ ,就写 ∣ X ∣ < ∣ Y ∣ |X|\lt|Y| ∣ X ∣ < ∣ Y ∣ 。
箭头方向不可忽略:从 X X X 到 Y Y Y 的单射说明 Y Y Y 有足够多互不相同的位置存放
X X X 的每个元素,所以定义域是“不更大”的一方。包含映射
N → Z N\to Z N → Z 、n ↦ n n\mapsto n n ↦ n 证明 ∣ N ∣ ≤ ∣ Z ∣ |N|\le|Z| ∣ N ∣ ≤ ∣ Z ∣ ,但单凭它不能证明相等。整数的列
举给出反向比较,而前面的明确双射直接给出相等。
例题
陪域有未使用元素的有限比较 定义 r : { 1 , 2 , 3 } → { a , b , c , d } r:\{1,2,3\}\to\{a,b,c,d\} r : { 1 , 2 , 3 } → { a , b , c , d } 为
r ( 1 ) = b r(1)=b r ( 1 ) = b 、r ( 2 ) = d r(2)=d r ( 2 ) = d 、r ( 3 ) = a r(3)=a r ( 3 ) = a 。它是单射,所以
∣ { 1 , 2 , 3 } ∣ ≤ ∣ { a , b , c , d } ∣ |\{1,2,3\}|\le|\{a,b,c,d\}| ∣ { 1 , 2 , 3 } ∣ ≤ ∣ { a , b , c , d } ∣ 。它不是满射,因为 c c c 没有被使用,这正
是严格不等式可能出现的原因。
定理
基数不等式具有偏序结构 基数上的关系 ≤ \le ≤ 具有自反性、传递性和反对称性。因此 < \lt < 具有非自反性
和传递性。
证明。 恒等映射 i d X : X → X id_X:X\to X i d X : X → X 是单射,所以有自反性。若
f : X → Y f:X\to Y f : X → Y 、g : Y → Z g:Y\to Z g : Y → Z 都是单射,则 g ∘ f g\circ f g ∘ f 也是单射:合成后的输出相等
先给出 f f f 的输出相等,再给出输入相等,所以有传递性。反对称性正是下面的
Cantor-Bernstein 定理。最后,因为 ∣ X ∣ = ∣ X ∣ |X|=|X| ∣ X ∣ = ∣ X ∣ ,不可能有 ∣ X ∣ < ∣ X ∣ |X|\lt|X| ∣ X ∣ < ∣ X ∣ ;结合 ≤ \le ≤
的传递性即可得到严格不等式的传递性。
不存在一个以所有集合为元素的集合。假设有这样的全集,就可以构造
Russell 类型的自指成员关系而得到矛盾。因此,这里的 ≤ \le ≤ 不是定义在某个
以“所有集合的集合”为定义域的全局关系;偏序性质只针对我们选定、正在比较
的一族集合,或由它们表示的那一族基数。这个限定只是基础层面的记账,不会
改变上面的映射或证明。
满射 X → Y X\to Y X → Y 直观上表示 Y Y Y 不比 X X X 大,但要把它转成 Y → X Y\to X Y → X 的单射,
就要为每个 y ∈ Y y\in Y y ∈ Y 选择一个原像。下一篇笔记会讨论这个选择问题;本节直
接使用单射与双射,不额外假设选择函数。
Cantor-Bernstein:把两个单射拼起来
定理
Cantor-Bernstein 定理 若 f : X → Y f:X\to Y f : X → Y 与 g : Y → X g:Y\to X g : Y → X 都是单射,则 ∣ X ∣ = ∣ Y ∣ |X|=|Y| ∣ X ∣ = ∣ Y ∣ 。
若处处使用 f f f ,可能遗漏 Y Y Y 中的元素;若处处使用 g − 1 g^{-1} g − 1 ,又会遇到
定义域问题,因为它只在 g ( Y ) g(Y) g ( Y ) 上有定义。因此,g ( Y ) g(Y) g ( Y ) 外的点必须使用
f f f 。一旦 x x x 使用 f f f ,g ( f ( x ) ) g(f(x)) g ( f ( x )) 就不能使用 g − 1 g^{-1} g − 1 ,否则两个分支
会给出相同输出。下面的分层把这个要求沿 g ∘ f g\circ f g ∘ f 的反复作用传递下去。
令
A 0 = X , B 0 = g ( Y ) , A_0=X,\qquad B_0=g(Y), A 0 = X , B 0 = g ( Y ) ,
再递归定义后续各项。这与
3.2 归纳法与递归算术
一样,由初值和后继规则确定整个序列:
A n + 1 = g ( f ( A n ) ) , B n + 1 = g ( f ( B n ) ) . A_{n+1}=g(f(A_n)),\qquad B_{n+1}=g(f(B_n)). A n + 1 = g ( f ( A n )) , B n + 1 = g ( f ( B n )) .
由于 g ( Y ) ⊆ X g(Y)\subseteq X g ( Y ) ⊆ X ,这些集合满足
A 0 ⊇ B 0 ⊇ A 1 ⊇ B 1 ⊇ A 2 ⊇ B 2 ⊇ ⋯ . A_0\supseteq B_0\supseteq A_1\supseteq B_1\supseteq A_2\supseteq B_2\supseteq\cdots. A 0 ⊇ B 0 ⊇ A 1 ⊇ B 1 ⊇ A 2 ⊇ B 2 ⊇ ⋯ .
这些包含关系可以归纳得到:先有 A 1 ⊆ B 0 A_1\subseteq B_0 A 1 ⊆ B 0 ,再有
B n + 1 ⊆ A n + 1 B_{n+1}\subseteq A_{n+1} B n + 1 ⊆ A n + 1 ;而前一步的 A n ⊆ B n − 1 A_n\subseteq B_{n-1} A n ⊆ B n − 1 又给出
A n + 1 ⊆ B n A_{n+1}\subseteq B_n A n + 1 ⊆ B n 。若 X X X 或 Y Y Y 为空,两个单射的存在会迫使两个集合
都为空,唯一的空映射就是所需双射;下面的构造也涵盖这个情形。
层 A n ∖ B n A_n\setminus B_n A n ∖ B n 是使用 f f f 的部分;其余点位于 g ( Y ) g(Y) g ( Y ) 中,在那里使用
g g g 在像集上的逆。
证明。 首先 g ∘ f : X → X g\circ f:X\to X g ∘ f : X → X 是单射。对每个 n n n ,它把
A n ∖ B n A_n\setminus B_n A n ∖ B n 双射到 A n + 1 ∖ B n + 1 A_{n+1}\setminus B_{n+1} A n + 1 ∖ B n + 1 。单射性给出不重复性。
若 z ∈ A n + 1 ∖ B n + 1 z\in A_{n+1}\setminus B_{n+1} z ∈ A n + 1 ∖ B n + 1 ,可写成 z = g ( f ( x ) ) z=g(f(x)) z = g ( f ( x )) 且 x ∈ A n x\in A_n x ∈ A n ;若
x ∈ B n x\in B_n x ∈ B n ,则 z ∈ g ( f ( B n ) ) = B n + 1 z\in g(f(B_n))=B_{n+1} z ∈ g ( f ( B n )) = B n + 1 ,矛盾。因此
x ∈ A n ∖ B n x\in A_n\setminus B_n x ∈ A n ∖ B n ,从而得到满射性。
定义 h : X → Y h:X\to Y h : X → Y :
h ( x ) = { f ( x ) , x ∈ A n ∖ B n 对某个 n , g − 1 ( x ) , x ∉ A n ∖ B n 对所有 n h(x)=
\begin{cases}
f(x),&x\in A_n\setminus B_n\text{ 对某个 }n,\\
g^{-1}(x),&x\notin A_n\setminus B_n\text{ 对所有 }n
\end{cases} h ( x ) = { f ( x ) , g − 1 ( x ) , x ∈ A n ∖ B n 对某个 n , x ∈ / A n ∖ B n 对所有 n
这里 g − 1 g^{-1} g − 1 指双射 g : Y → g ( Y ) g:Y\to g(Y) g : Y → g ( Y ) 的逆,而不是整个 X X X 上的逆。第二种情
形确实有定义:不在任何层中的点不可能在零层
A 0 ∖ B 0 = X ∖ g ( Y ) A_0\setminus B_0=X\setminus g(Y) A 0 ∖ B 0 = X ∖ g ( Y ) 中,所以它属于 g ( Y ) g(Y) g ( Y ) 。层彼此不交,因
此 h h h 定义良好。
证明单射性。若 h ( x 1 ) = h ( x 2 ) h(x_1)=h(x_2) h ( x 1 ) = h ( x 2 ) ,且两点都在层中,则由 f f f 单射得
x 1 = x 2 x_1=x_2 x 1 = x 2 ;若两点都在第二种情形,则由 g − 1 g^{-1} g − 1 单射得相等。若情形混合,
不妨设 x 1 ∈ A n ∖ B n x_1\in A_n\setminus B_n x 1 ∈ A n ∖ B n ,且 h ( x 2 ) = g − 1 ( x 2 ) h(x_2)=g^{-1}(x_2) h ( x 2 ) = g − 1 ( x 2 ) 。等式给出
x 2 = g ( f ( x 1 ) ) x_2=g(f(x_1)) x 2 = g ( f ( x 1 )) ,由层之间的双射性可知
x 2 ∈ A n + 1 ∖ B n + 1 x_2\in A_{n+1}\setminus B_{n+1} x 2 ∈ A n + 1 ∖ B n + 1 ,这与第二种情形矛盾。
证明满射性。任取 y ∈ Y y\in Y y ∈ Y ,令 x = g ( y ) ∈ X x=g(y)\in X x = g ( y ) ∈ X 。若 x x x 不在任何层中,则
h ( x ) = g − 1 ( x ) = y h(x)=g^{-1}(x)=y h ( x ) = g − 1 ( x ) = y 。否则 x ∈ A n ∖ B n x\in A_n\setminus B_n x ∈ A n ∖ B n 。它不可能在零层,因为
零层是 X ∖ g ( Y ) X\setminus g(Y) X ∖ g ( Y ) 而 x ∈ g ( Y ) x\in g(Y) x ∈ g ( Y ) ,所以 n ≥ 1 n\ge1 n ≥ 1 。层之间的双射性给出
x ′ ∈ A n − 1 ∖ B n − 1 x'\in A_{n-1}\setminus B_{n-1} x ′ ∈ A n − 1 ∖ B n − 1 ,满足 g ( f ( x ′ ) ) = x = g ( y ) g(f(x'))=x=g(y) g ( f ( x ′ )) = x = g ( y ) 。由 g g g 单射得
f ( x ′ ) = y f(x')=y f ( x ′ ) = y ,所以 h ( x ′ ) = y h(x')=y h ( x ′ ) = y 。故 h h h 是满射,也是双射,∣ X ∣ = ∣ Y ∣ |X|=|Y| ∣ X ∣ = ∣ Y ∣ 。整个构造
只使用给定的 f f f 与 g g g ,没有使用选择函数。
幂集与 Cantor 定理
定义
幂集记号 对集合 X X X ,记号 2 X 2^X 2 X 表示 X X X 的所有子集所成的集合,即 X X X 的幂集。
因此
T ∈ 2 X T\in 2^X T ∈ 2 X 正是说 T ⊆ X T\subseteq X T ⊆ X 。
记号 2 X 2^X 2 X 带有提示性:若 X X X 有 n n n 个元素,则幂集有 2 n 2^n 2 n 个子集。
Cantor 定理说的不只是有限情况,而是对所有集合都成立。
对空集,这个记号已经说明了一个重要的起点:
2 ∅ = { ∅ } . 2^\varnothing=\{\varnothing\}. 2 ∅ = { ∅ } .
空集只有一个子集,就是空集本身。因此有限集合的计数模式
∣ 2 X ∣ = 2 ∣ X ∣ |2^X|=2^{|X|} ∣ 2 X ∣ = 2 ∣ X ∣ 从 2 0 = 1 2^0=1 2 0 = 1 开始。下面的定理更强:即使集合不是有限
的,仍然可以严格比较集合与其幂集的基数。
构造列表遗漏的子集
设 f : X → 2 X f:X\to2^X f : X → 2 X 为 X X X 的每个元素指定一个子集。要构造 f f f 遗漏的子集,
只需让它对每个 x x x 都在某个元素上与 f ( x ) f(x) f ( x ) 不同。指标 x x x 本身就能起到
这个作用:当且仅当 f ( x ) f(x) f ( x ) 不含 x x x 时,把 x x x 放入新子集。这样,列表的
每一项都有一个确定的成员判断与新子集不同。
下面用 X = { a , b , c } X=\{a,b,c\} X = { a , b , c } 作有限示范。每一行记录 f f f 的一个候选值;
1 1 1 表示列标题中的元素属于该子集,0 0 0 表示不属于。前三行的粗体数字
就是对角线上的成员判断。
沿对角线读到 1 , 0 , 1 1,0,1 1 , 0 , 1 ,逐个反转就得到 0 , 1 , 0 0,1,0 0 , 1 , 0 ,所以 T = { b } T=\{b\} T = { b } 。
它与 f ( a ) f(a) f ( a ) 在 a a a 处不同,与 f ( b ) f(b) f ( b ) 在 b b b 处不同,与 f ( c ) f(c) f ( c ) 在 c c c
处不同。即使其他位置一致,也无法消除这些差异。
对任意集合,同一规则就是 x ∈ T x\in T x ∈ T 当且仅当 x ∉ f ( x ) x\notin f(x) x ∈ / f ( x ) 。
这条规则为 X X X 的每个元素确定是否纳入 T T T ,无须给 X X X 安排数字次序,
也不涉及逐项扫描完一个无限列表。
Cantor 定理
定理
Cantor 定理 设 X X X 为集合。则
∣ X ∣ < ∣ 2 X ∣ . |X|\lt |2^X|. ∣ X ∣ < ∣ 2 X ∣.
证明分两部分。
首先,有单射
X → 2 X , x ↦ { x } . X\to 2^X,\qquad x\mapsto \{x\}. X → 2 X , x ↦ { x } .
所以 ∣ X ∣ ≤ ∣ 2 X ∣ |X|\le |2^X| ∣ X ∣ ≤ ∣ 2 X ∣ 。例如 X = { a , b } X=\{a,b\} X = { a , b } 时,这个映射从四个子集
∅ , { a } , { b } , { a , b } \varnothing,\{a\},\{b\},\{a,b\} ∅ , { a } , { b } , { a , b } 中选中两个;它不必覆盖所有子集。
其次,不存在由 X X X 到 2 X 2^X 2 X 的双射。反设 f : X → 2 X f:X\to 2^X f : X → 2 X 是双射。定义对角
集合
T = { x ∈ X ∣ x ∉ f ( x ) } . T=\{x\in X\mid x\notin f(x)\}. T = { x ∈ X ∣ x ∈ / f ( x )} .
因为 T T T 是 X X X 的子集,所以 T ∈ 2 X T\in 2^X T ∈ 2 X 。若 f f f 是满射,便存在
y ∈ X y\in X y ∈ X 使
f ( y ) = T . f(y)=T. f ( y ) = T .
现在考虑 y y y 是否属于 T T T 。
若 y ∈ T y\in T y ∈ T ,则按 T T T 的定义有 y ∉ f ( y ) = T y\notin f(y)=T y ∈ / f ( y ) = T ,矛盾。
若 y ∉ T y\notin T y ∈ / T ,则按 T T T 的定义有 y ∈ f ( y ) = T y\in f(y)=T y ∈ f ( y ) = T ,同样矛盾。
两种情况都不可能。因此不存在双射 X → 2 X X\to 2^X X → 2 X ,所以 ∣ X ∣ < ∣ 2 X ∣ |X|\lt |2^X| ∣ X ∣ < ∣ 2 X ∣ 。
当 X = ∅ X=\varnothing X = ∅ 时,幂集有一个元素,从空集出发的函数不可能命中它。
因此结论也涵盖空集的情形。
证明透视
满射性用在哪里 等式 f ( y ) = T f(y)=T f ( y ) = T 是满射性发挥作用的关键。对角论证没有使用单射性,而是排除
了所有由 X X X 到 2 X 2^X 2 X 的满射。单点映射则提供严格基数不等式所需的另一部分。
实数不可数
定理
实数不可数 实数集合 R R R 不可数。特别地,
∣ N ∣ < ∣ R ∣ . |N|\lt |R|. ∣ N ∣ < ∣ R ∣.
证明使用 Cantor 定理,以及一个由 2 N 2^N 2 N 到 R R R 的单射。
由 Cantor 定理,
∣ N ∣ < ∣ 2 N ∣ . |N|\lt |2^N|. ∣ N ∣ < ∣ 2 N ∣.
所以只需证明
∣ 2 N ∣ ≤ ∣ R ∣ . |2^N|\le |R|. ∣ 2 N ∣ ≤ ∣ R ∣.
给定子集 S ⊆ N S\subseteq N S ⊆ N ,用一个由 0 0 0 和 1 1 1 组成的序列来编码它:
a n = { 1 , n ∈ S , 0 , n ∉ S . a_n=
\begin{cases}
1, & n\in S,\\
0, & n\notin S.
\end{cases} a n = { 1 , 0 , n ∈ S , n ∈ / S .
然后定义
ϕ ( S ) = ∑ n = 0 ∞ a n 3 n + 1 ∈ [ 0 , 1 ] . \phi(S)=\sum_{n=0}^{\infty}\frac{a_n}{3^{n+1}}\in [0,1]. ϕ ( S ) = n = 0 ∑ ∞ 3 n + 1 a n ∈ [ 0 , 1 ] .
这把 N N N 的每个子集(也就是 2 N 2^N 2 N 的每个元素)送到一个实数。
例题
把 N 的子集编码成实数 若
S = { 0 , 2 , 5 , … } , S=\{0,2,5,\ldots\}, S = { 0 , 2 , 5 , … } , 则序列开头为
a 0 = 1 , a 1 = 0 , a 2 = 1 , a 3 = 0 , a 4 = 0 , a 5 = 1. a_0=1,\quad a_1=0,\quad a_2=1,\quad a_3=0,\quad a_4=0,\quad a_5=1. a 0 = 1 , a 1 = 0 , a 2 = 1 , a 3 = 0 , a 4 = 0 , a 5 = 1. 对应的实数开头可写成
ϕ ( S ) = 1 3 + 1 3 3 + 1 3 6 + ⋯ . \phi(S)=\frac13+\frac1{3^3}+\frac1{3^6}+\cdots . ϕ ( S ) = 3 1 + 3 3 1 + 3 6 1 + ⋯ . 部分和非递减且以 1 / 2 1/2 1/2 为上界,因此完备性保证实数极限存在。这与
4.6 小数展开与无理数
中由有限近似确定实数的原理相同,无须再转换成十进制。
为什么用底数 3 3 3 而不是 2 2 2 ?这里使用底数 3 3 3 ,是为了避免两个不同的
零一序列被后面的尾项抵消。
若 S ≠ S ′ S\ne S' S = S ′ ,令 k k k 为两个对应序列第一次不同的位置。在第 k k k 位,两个
和式相差
1 3 k + 1 . \frac1{3^{k+1}}. 3 k + 1 1 .
更精确地,后面尾项的总和至多为
∑ n = k + 1 ∞ 1 3 n + 1 = 1 2 ⋅ 3 k + 1 , \sum_{n=k+1}^{\infty}\frac1{3^{n+1}}
=\frac1{2\cdot 3^{k+1}}, n = k + 1 ∑ ∞ 3 n + 1 1 = 2 ⋅ 3 k + 1 1 ,
严格小于第一个不同项的差距。因此两个实数不可能相等。故 ϕ \phi ϕ 是单射,
从而 ∣ 2 N ∣ ≤ ∣ R ∣ |2^N|\le |R| ∣ 2 N ∣ ≤ ∣ R ∣ 。
合并得到
∣ N ∣ < ∣ 2 N ∣ ≤ ∣ R ∣ , |N|\lt |2^N|\le |R|, ∣ N ∣ < ∣ 2 N ∣ ≤ ∣ R ∣ ,
所以 R R R 不可数。
常见错误
证明只需要单射到 R 要证明 ∣ 2 N ∣ ≤ ∣ R ∣ |2^N|\le |R| ∣ 2 N ∣ ≤ ∣ R ∣ ,不需要 ϕ \phi ϕ 打到每个实数。只需要不同的 N N N
的子集给出不同实数。
例题
底数 3 分离的有限版 取两个在位置 k = 2 k=2 k = 2 首次不同的零一序列。该位置的贡献大小为
1 27 \frac1{27} 27 1 。即使后面每一位都朝着抵消方向取值,尾项总和也是
1 3 4 + 1 3 5 + ⋯ = 1 54 , \frac1{3^4}+\frac1{3^5}+\cdots=\frac1{54}, 3 4 1 + 3 5 1 + ⋯ = 54 1 , 只有首个差距的一半,所以首次不同不能被抵消。任意首次不同的位置都可用
同一个几何级数估计。
反方向固定有理数枚举
Q = { q 1 , q 2 , … } Q=\{q_1,q_2,\ldots\} Q = { q 1 , q 2 , … } ,定义
ρ ( r ) = { n − 1 : n ≥ 1 , q n < r } ⊆ N . \rho(r)=\{n-1:n\ge1,\ q_n\lt r\}\subseteq\mathbb N. ρ ( r ) = { n − 1 : n ≥ 1 , q n < r } ⊆ N .
这把 r r r 下方的有理数记录成一组指标。
4.4 实数公理与第一次近似构造
已证明有理数稠密性:若 r < s r\lt s r < s ,就有某个 n n n 使 r < q n < s r\lt q_n\lt s r < q n < s ,所以
ρ ( r ) ≠ ρ ( s ) \rho(r)\ne\rho(s) ρ ( r ) = ρ ( s ) 。因此 ρ : R ↪ 2 N \rho:R\hookrightarrow2^N ρ : R ↪ 2 N 是单射
确认连续统的基数
记 P ( N ) = 2 N \mathcal P(\mathbb N)=2^{\mathbb N} P ( N ) = 2 N 为 N \mathbb N N 的全部子集组成的集合,并令 c = ∣ R ∣ \mathfrak c=|\mathbb R| c = ∣ R ∣ 。上面的零一三进制构造给出单射 P ( N ) ↪ R \mathcal P(\mathbb N)\hookrightarrow\mathbb R P ( N ) ↪ R ,有理数指标构造给出单射 R ↪ P ( N ) \mathbb R\hookrightarrow\mathcal P(\mathbb N) R ↪ P ( N ) 。将已证明的 Cantor–Bernstein 定理应用于这两个具体映射,得到
c = ∣ R ∣ = ∣ P ( N ) ∣ = 2 ℵ 0 . \mathfrak c=|\mathbb R|=|\mathcal P(\mathbb N)|=2^{\aleph_0}. c = ∣ R ∣ = ∣ P ( N ) ∣ = 2 ℵ 0 .
这里 2 ℵ 0 2^{\aleph_0} 2 ℵ 0 表示基数幂:从 N \mathbb N N 到 { 0 , 1 } \{0,1\} { 0 , 1 } 的函数通过示性函数与子集一一对应。这个等式并未断言 c = ℵ 1 \mathfrak c=\aleph_1 c = ℵ 1 ;在通常的阿列夫序列中,ℵ 1 \aleph_1 ℵ 1 是最小的不可数基数。
连续统假设
假设 — 连续统假设.
连续统假设说:不存在集合 S S S 使
∣ N ∣ < ∣ S ∣ < ∣ R ∣ . |N|\lt |S|\lt |R|. ∣ N ∣ < ∣ S ∣ < ∣ R ∣.
在知道 R R R 比 N N N 大之后,这是一个自然猜想:也许可数无限基数与实数基数
之间没有中间大小。
这个猜想的地位非常特殊。连续统假设独立于通常的集合论公理 ZFC。更准确
地说,如果 ZFC 是相容的,那么 CH 和它的否定都不能由 ZFC 证明:
Godel 的结果给出 ZFC+CH 的相对相容性,Cohen 的 forcing 结果给出
Z F C + ¬ C H ZFC+\neg\mathrm{CH} ZFC + ¬ CH 的相对相容性。这些是元数学的相容性结果,不是本课程中对 CH
或其否定的证明。
独立性不表示这句话没有意义,也不表示所有基数命题都无法判定。Cantor 定理
和实数不可数性仍是 ZFC 定理;CH 只是询问它们之间更精细的比较,通常公理没
有决定这个问题。因此写证明时,要标出映射方向以及选择或极大性原理的使用。
可数个可数集合的并仍可数
定理
可数个可数集合的并仍可数 假设选择公理,若 A n n ∈ N {A_n}_{n\in N} A n n ∈ N 是一个可数族,而每个 A n A_n A n 都可数,
则
A = ⋃ n ∈ N A n A=\bigcup_{n\in N} A_n A = n ∈ N ⋃ A n 可数。
若 A = ∅ A=\varnothing A = ∅ ,空函数立即给出到 N N N 的单射。现在假设 A A A 非空。
由于每个 A n A_n A n 可数,对每个指标 n n n 都存在单射
i n : A n → N . i_n:A_n\to N. i n : A n → N .
当 A n = ∅ A_n=\varnothing A n = ∅ 时,唯一的空函数就是这样的单射。这里使用选择公理
同时选出整族单射 i n {i_n} i n ,包括这些空成员的情况。这里需要选择的是整族
见证映射;这并不是说任意多个不可数集合的可数并会变成可数。
定义
h : A → N × N , h ( x ) = ( n ( x ) , i n ( x ) ( x ) ) , h:A\to N\times N,\qquad h(x)=(n(x),i_{n(x)}(x)), h : A → N × N , h ( x ) = ( n ( x ) , i n ( x ) ( x )) ,
其中
n ( x ) = min { n ∈ N ∣ x ∈ A n } . n(x)=\min\{n\in N\mid x\in A_n\}. n ( x ) = min { n ∈ N ∣ x ∈ A n } .
因为 x x x 属于并集,指标集非空;自然数的良序性保证最小指标存在。
这一归纳法推论的证明见
6.3 区间、Cantor 集、稠密性与良序 。
映射 h h h 是单射:若 h ( x ) = h ( x ′ ) h(x)=h(x') h ( x ) = h ( x ′ ) ,第一坐标给出 n ( x ) = n ( x ′ ) = n n(x)=n(x')=n n ( x ) = n ( x ′ ) = n ,第二坐标再给出
i n ( x ) = i n ( x ′ ) i_n(x)=i_n(x') i n ( x ) = i n ( x ′ ) ,而 i n i_n i n 的单射性推出 x = x ′ x=x' x = x ′ 。
最后,N × N N\times N N × N 的对角枚举给出单射 N × N → N N\times N\to N N × N → N ,与 h h h 合成便得
到单射 A → N A\to N A → N 。先列 ( 0 , 0 ) (0,0) ( 0 , 0 ) ,再列坐标和为 1 1 1 、2 2 2 等的点,每个点都
在有限阶段出现;空成员不贡献并集元素。指标集与每个成员都必须可数,否则
不可数的指标集单点族或一个不可数成员都可能使并集不可数。
常见错误
可数并不等于任意并 这个定理处理的是可数族 A n {A_n} A n 。它不是说任意多个可数集合的并都必定可数。
我们使用通常的经典集合论框架;讨论有序 aleph 基数时包含选择公理。使用前面材料中的可数性、Cantor 定理、基数比较和连续统假设的定义与结论。
例子
区间的基数是连续统。 映射 x ↦ x / 1 + x 2 x\mapsto x/\sqrt{1+x^2} x ↦ x / 1 + x 2 给出 R \mathbb R R 与 ( − 1 , 1 ) (-1,1) ( − 1 , 1 ) 之间的双射;其逆映射为 u ↦ u / 1 − u 2 u\mapsto u/\sqrt{1-u^2} u ↦ u / 1 − u 2 。直接代入可验证两个复合恒等式及平方根的定义域。再通过仿射映射,可将 ( − 1 , 1 ) (-1,1) ( − 1 , 1 ) 与任意非空有界开区间双射。因此短区间与整条实数直线有相同基数,不需要假设 CH。
无理数集的基数也是连续统。 令 T = { 2 + n : n ∈ Z } T=\{\sqrt2+n:n\in\mathbb Z\} T = { 2 + n : n ∈ Z } ,这是可数无限的无理数集合。并集 Q ∪ T \mathbb Q\cup T Q ∪ T 可数无限,因此可选取它与 T T T 的枚举,得到二者间的双射。把该双射延拓到 R \mathbb R R :固定 Q ∪ T \mathbb Q\cup T Q ∪ T 之外每一点。所得映射的值域恰为无理数集:原有理数点和 T T T 被双射地重新分配到 T T T ,其余无理数保持不变。因此 ∣ R ∖ Q ∣ = c |\mathbb R\setminus\mathbb Q|=\mathfrak c ∣ R ∖ Q ∣ = c 。这个具体的可数重排比仅证明无理数不可数更强,但仍不能说明所有其他不可数子集的大小。
稠密性与中间基数问题不同。 有理数稠密且可数;无理数稠密且具有连续统基数。二者都不能决定每个可能的中间大小子集。列举许多基数为 c \mathfrak c c 的不可数集并不能证明 CH,因为 CH 的量词涉及每个可能的中间基数。
练习
P01. 表述。 用基数不等式及关于 R \mathbb R R 的无限子集的一句话分别表述 CH,并解释 ℵ 1 \aleph_1 ℵ 1 的作用。
P02. 证明。 仅使用实数不可数和有理数可数,证明无理数不可数。指出“无理数稠密,所以不可数”的无效推理。
P03. 验证逆映射。 对 x / 1 + x 2 x/\sqrt{1+x^2} x / 1 + x 2 与上述逆映射,验证两个复合,包括平方根的符号。
P04. 逻辑检查。 有学生说:“实数不可数,ℵ 1 \aleph_1 ℵ 1 也不可数,所以二者基数相同。”解释缺失的比较。
P05. 单射与双射。 解释映射 r ↦ { q ∈ Q : q < r } r\mapsto\{q\in\mathbb Q:q<r\} r ↦ { q ∈ Q : q < r } 为什么是单射,以及仅凭这一点为什么不能证明 c = 2 ℵ 0 \mathfrak c=2^{\aleph_0} c = 2 ℵ 0 。指出前面还提供了哪些必要条件。
P06. 区分结论。 不假设 CH,判断以下哪些成立:有理数可数;实数不可数;无理数有连续统基数;R \mathbb R R 的每个不可数子集都有连续统基数。逐项说明,不要声称证明或否定 CH。
完整解答
P01. CH 断言没有基数严格位于 ℵ 0 \aleph_0 ℵ 0 与 c \mathfrak c c 之间;等价地,R \mathbb R R 没有既不可数又小于连续统的无限子集。按通常的 aleph 排序,ℵ 1 \aleph_1 ℵ 1 是最小的不可数基数,因此 CH 即 c = ℵ 1 \mathfrak c=\aleph_1 c = ℵ 1 。这个符号的定义不依赖于等式是否成立。
P02. 若 Q \mathbb Q Q 和它在实数中的补集都可数,则其并可数,与实数不可数矛盾。稠密性本身不蕴含不可数,因为 Q \mathbb Q Q 本身就是稠密可数的反例。
P03. 对 u = x / 1 + x 2 u=x/\sqrt{1+x^2} u = x / 1 + x 2 ,有 1 − u 2 = 1 / ( 1 + x 2 ) > 0 1-u^2=1/(1+x^2)>0 1 − u 2 = 1/ ( 1 + x 2 ) > 0 ,其正平方根为 1 / 1 + x 2 1/\sqrt{1+x^2} 1/ 1 + x 2 ,所以 u / 1 − u 2 = x u/\sqrt{1-u^2}=x u / 1 − u 2 = x 。反过来,对 ∣ u ∣ < 1 |u|<1 ∣ u ∣ < 1 ,令 x = u / 1 − u 2 x=u/\sqrt{1-u^2} x = u / 1 − u 2 ,则 1 + x 2 = 1 / ( 1 − u 2 ) 1+x^2=1/(1-u^2) 1 + x 2 = 1/ ( 1 − u 2 ) ,所以 x / 1 + x 2 = u x/\sqrt{1+x^2}=u x / 1 + x 2 = u 。分母中的平方根均为正,故两种复合对正负输入都有效。
P04. 不可数不是单一的基数值,只是排除可数大小。ℵ 1 \aleph_1 ℵ 1 的最小性给出 ℵ 1 ≤ c \aleph_1\le\mathfrak c ℵ 1 ≤ c ;反向不等式或双射尚未得到,而等式恰是 CH,不是自动推论。
P05. 若 r < s r<s r < s ,取有理数 q q q 使 r < q < s r<q<s r < q < s 。它小于 s s s 但不小于 r r r ,故对应子集不同。这只给出从实数到有理数幂集的单射。反方向从自然数的子集(用 0–1 指示序列编码)到使用数字 0 和 1 的三进制实数的单射、枚举导致的两个幂集等势,以及 Cantor–Schroeder–Bernstein 定理共同给出等势。
P06. 前三项分别由前面材料和例子中的枚举、对角线和可数重排论证得到,不需要 CH。最后一条全称命题在所述框架下等价于 CH,因此不是前述证明的推论。区别在于具体构造出的双射,与排除所有中间大小的全称断言。