「可數」= 能把所有元素排成一個不遺漏的清單:第 1 個、第 2 個、第 3 個⋯⋯
每個 Aᵢ 是可數的,所以它的元素可以排成一列。把 A₁ 的元素排在第 1 列、A₂ 排在第 2 列⋯⋯全部疊起來,就是一張往右、往下都無限延伸的表格。格子 a(i,j) 代表「第 i 個集合的第 j 個元素」。
證明聯集可數,等於回答一個很具體的問題:有沒有一條路線,能走遍整張表的每一格?下面你可以親自試兩種走法。
黃色 = 已編號的格子;格子裡的數字就是它在總清單中的編號。表格實際上是無限大的,這裡只畫出左上角 7 × 7。
走法 B 成功的關鍵:第 d 條對角線(滿足 i + j = d 的格子)只有有限格。有限的東西走得完,走完就換下一條——所以任何一格 a(i,j) 都會在有限步內被編到號。把這件事翻成證明語言:
每個 Aᵢ 可數 ⟹ 對每個 i 取一個枚舉 Aᵢ = {a(i,1), a(i,2), …}。(這一步就是「把元素排進第 i 列」。)
沿對角線編號,得到函數 f : ℕ → ⋃ᵢ Aᵢ。動畫裡格子上出現的數字,就是 f 的定義本身。
f 是滿射:任取 x ∈ ⋃ᵢ Aᵢ,它必在某格 a(i,j),而那格在第 i+j 條對角線上,前面只有有限格,所以輪得到它。存在到 ⋃ᵢ Aᵢ 的滿射(來自 ℕ),故聯集可數。∎
同一個元素可能出現在好幾格(例如同時屬於 A₁ 和 A₃)——沒關係,滿射允許重複;需要雙射時把重複的跳過即可。
逐列走時,你的編號永遠困在第 1 列——a(2,1) 排在「無限多個元素之後」,等於永遠沒有編號。這正是很多無窮論證的共同教訓:想走遍一個二維的無限,必須把它切成無限多個有限段,而不是有限多個無限段。之後你在證明「ℚ 可數」、排列級數項時,會一再遇到同一招。
第 1 步說「對每個 Aᵢ 取一個枚舉」——但枚舉方式通常不只一種,而我們要同時對無限多個集合各做一次選擇。這需要可數選擇公理。大一大二階段可以放心使用;只要記得:這個定理不像表面上那麼「免費」。沒有選擇公理的世界裡,它可以是假的。