§7-3  Cantor 集

把 [0, 1] 的開中段反覆挖掉,剩下的集合有多小——又有多大?「能被總長任意小的區間蓋住」與「不可數」,能同時成立嗎?

挖中段的無窮儀式

拿單位閉區間 I = [0, 1] 做一場儀式。第一刀:挖掉開中段 (1/3, 2/3)——注意挖的是開區間,兩個刀口 1/3、2/3 留下——剩下

F₁ = [0, 1/3] ∪ [2/3, 1]。

I F₁ 開中段挖走,刀口留下 1/32/3

這張圖在畫第一刀:挖掉的是開中段 (1/3, 2/3),所以刀口 1/3 與 2/3 都留在 F₁ 裡——「挖開留閉」是整場儀式的規矩,也是待會端點全數生還的原因。

第二刀:對 F₁ 的兩段各挖掉自己的開中段,剩四段,每段長 1/9:

F₂ = [0, 1/9] ∪ [2/9, 1/3] ∪ [2/3, 7/9] ∪ [8/9, 1]。

F₁ F₂ 每段照同一規矩再挖——2ⁿ 段、每段長 3⁻ⁿ 的節奏就此定型

這張圖在畫第二刀:規矩不變、對象換成 F₁ 的每一段。一般規律隨之現形——Fₙ 是 2ⁿ 段形如 [k/3ⁿ, (k+1)/3ⁿ] 的閉區間之聯集,對每段挖開中段就得到 Fₙ₊₁。

官方定義:Cantor 集(7.4)

7.4  DEFINITION
Write F for the set common to every Fₙ with n ∈ ℕ, these arising when open middle thirds are removed stage after stage; this F is the Cantor set.
Cantor 集 F = ⋂ Fₙ:對每個 n 都活下來的點——無窮多刀之後仍未被挖走的倖存名冊。別名 Cantor ternary set(三進位刻畫見下方補記)。
正例:0、1/3、2/3、1 全在 F 裡——每一刀挖的都是開中段,各代閉區間的端點從不被碰,而端點一旦出現就代代相傳。反例:1/2 第一刀就走(它是 (1/3, 2/3) 的成員);1/4 呢?它不是任何一代的端點,卻始終不落入被挖的開中段——下方補記交代它的下落。
F₁F₂F₃ F = 全部交集:塵埃狀的殘留 每一代都是 closed(有限多段閉區間的聯集),一代套一代

這張圖在畫儀式的全景:F₁ ⊇ F₂ ⊇ F₃ ⊇ ⋯ 逐代細碎化——段數 2ⁿ 翻倍、段長 3⁻ⁿ 縮三分之一。Cantor 集是全體交集:無窮多刀之後的塵埃。

三進位補記:F 有一個漂亮的別種刻畫——把 [0, 1] 的數寫成三進位小數,F 恰好收「能只用數字 0 與 2 寫出」的那些:第一刀挖掉的正是第一位是 1 的數、第二刀挖第二位是 1 的⋯⋯依此類推。1/4 的三進位是 0.020202⋯——全程無 1,所以它躲過每一刀,是 F 裡「非端點」的著名住戶。無窮小數的嚴格驗算要等級數工具(§34 起)到齊,此處先記一筆帳。

有多薄,又有多大(倖存者清點)

例 4F 薄到兩種地步:不含區間、蓋住它的總長可任意小
挖了無窮多刀,剩下的到底有多稀疏?兩筆帳各給一個「薄」的精確意義——順便補上一個常被跳過的「why」。
證明:(1) F 不包含任何非空開區間;(2) 任給 ε > 0,F 可以被有限多段閉區間蓋住、而這些段的總長小於 ε。
  1. 設 x ∈ F 而開區間 (a, b) 收容 x。挑 n 使 3⁻ⁿ 小於 x − a 與 b − x 兩者(歸納給 3ⁿ ≥ n,再用 6.7(b) 探底,例行)。x 活過第 n 刀,必住在 Fₙ 的某一段裡——那一段長 3⁻ⁿ、又含 x,於是整段連同它即將被挖的開中段全部落在 (a, b) 內。那個開中段在第 n + 1 刀被挖走、與 F 永別——所以 (a, b) 裝著一整段 F 的禁區,不可能是 F 的子集。
  2. 覆蓋帳:每一刀保留前一代的 2/3,所以 Fₙ 是 2ⁿ 段閉區間、總長 (2/3)ⁿ——而 F ⊆ Fₙ 對每個 n 成立。任給 ε > 0,因為 (2/3)ⁿ 能探到任何正數之下(歸納給 (3/2)ⁿ ≥ 1 + n/2,再交給 6.7(b),例行),挑對 n,Fₙ 這一組段落就是總長小於 ε 的覆蓋。附帶說明:「任意子集的長度」在目前的體系裡還沒有定義(那是日後測度的工作),所以本讀本不說「F 的長度是 0」——但無論日後長度怎麼定義,只要它不超過覆蓋段的總長,這筆帳都已經把它壓在每個 ε 之下。
不含任何區間、能被總長任意小的段落蓋住——怎麼量都薄。可是下一段馬上翻案:這堆塵埃的人口一點都不薄。
a b x x 那一段 Fₙ(藍)整段塞進 (a, b) (a, b) 裝著 F 的禁區,當不成 F 的子集

這張圖在證例 4 第一筆帳的機制:段長 3⁻ⁿ 挑得比 x 到兩端的距離都短,x 所在的那一段 Fₙ(藍)整段落入 (a, b);它的開中段(紅)注定被挖,成為 (a, b) 內一整段不屬於 F 的空白。

清點人口,翻案登場。直覺喊「挖成這樣應該沒剩幾個」——實情是:F 不可數。各代端點(0, 1, 1/3, 2/3, 1/9, ⋯)確實只有可數多個(每代有限多、可數聯集可數——§3 的 3.4);但 F 的全體遠不止端點。理由的骨架是一個「打滿」的對應:把 F 成員的三進位 0/2 數字逐位減半成 0/1、當作二進位讀,就得到 [0, 1] 的一個數——而 [0, 1] 的每個數都被打到(任取它的一個二進位寫法,逐位加倍成 0/2 三進位,就寫出一個打到它的 F 成員;有些數有兩種二進位寫法,只代表它被打到兩次,不礙事)。假如 F 可數,它打出去的像也只能可數——可是像是整個 [0, 1],§3 的對角線早已判定它不可數。所以 F 不可數。(無窮小數的嚴格操作要等級數工具,這一段的完整驗算與三進位補記同帳,記到級數章。)能被總長任意小的段落蓋住、人口卻與全區間同級——這位反直覺明星日後會一再出場,替各種「直覺上不可能」的現象當試金石。

公理與藍圖

本章收官前,把哲學帳結一結。§4 到 §6 是公理式的:我們宣布 ℝ 是一個 complete ordered field——會算(九條)、會比(三條)、沒有洞(一條)——然後一切從清單推出。可是這樣的東西真的存在嗎?答案是:蓋得出來。從 ℚ 出發有兩條著名的施工路線——Dedekind 用 cut(把「ℚ 的每一刀」本身宣告為一個數,例 2 就是 √2 的那一刀),Cantor 用另一套「逼近數列」的辦法(工具到收斂章才齊)。兩條路線蓋出的成品,在改名換姓(同構)的意義下是同一棟——所以「哪一個才是真正的 ℝ」不必爭論,挑任何一個模型用即可。本讀本維持公理式立場:清單在手,往後只認清單。

—— 第三階段到此結束,整個 §7 與「實數系」一章收工 ——

回望本節:每一刀都有主(7.1、7.2)、區間十款與區間套的公共點定理(7.3)、以及蓋住它的總長可以任意小、卻仍不可數的 Cantor 集(7.4)。至此「實數系」四節全部到位:代數(§4)、順序(§5)、完備性(§6)、與完備性的兌現(§7)——ℝ 這座舞台正式驗收完工。大章收官,值得好好休息:出門走遠一點,吃點喜歡的東西再回來。臨走前一則:Cantor 集去量體重,磅秤怎麼調刻度都顯示不出正數——它抗議說「可是我家人口跟 [0, 1] 一樣不可數」,磅秤回答:「本秤只量覆蓋,不量寂寞。」

下一幕預告

舞台驗收完畢,下一章換佈景:從數線走進 p 維空間 ℝᵖ。§8 先立向量的加法與伸縮、內積與長度,然後交付 §9 賒帳已久的兩件工具——距離公式與三角不等式的 ℝᵖ 版。有了距離,「附近」就有了精確的說法,open set、closed set、compact、connected 的整套拓撲語言(§9–§12 已先行鋪開的那些)才有立足之地。