用來比較集合的函數
設 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,因此不是前述證明的推論。區別在於具體構造出的雙射,與排除所有中間大小的全稱斷言。