第 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 定理、連續統與選擇公理。