§9-1  開集判準

哪些集合配稱作 open?判準只有一句話——每個成員都配得到一顆整顆留在集合內的球——但這句話在七個具體集合上各會驗出什麼?交集與聯集又保不保得住 open 這個身分?

為什麼需要 open

下雨天你閃進騎樓。腳尖恰好停在滴水線上——簷邊的水正打在鞋頭,這算「進來了」嗎?往裡再挪半步,情況完全不同:你身邊一整圈地面都是乾的,朝任何方向晃一下,人還在簷下。同樣是「算在騎樓範圍內」,踩線與往裡半步,是兩種待遇。

集合的成員也分這兩種。拿區間來說,[0, 1] 的成員 0 就是踩在滴水線上的人:它確實屬於集合,可是再小的一步,往左一跨就出去了。而 (0, 1) 裡的每一個成員——哪怕是 0.0001——身邊都留有一圈完全屬於集合的空間;圈可以小得可笑,但總是有。第二種集合裡人人都有自己的緩衝圈,我們叫它 open。

分析在意這件事,因為分析的核心動作都發生在「一點的附近」:極限、連續、導數,全是「靠得夠近就如何」的敘述。open set 是這些動作的天然舞台——在 open set 的任何一點附近動手,不必擔心一失足就跌到集合外。

「緩衝圈」的正式名字是 open ball:以 x 為球心、半徑 r 的 open ball,收容所有與 x 距離小於 r 的點。(距離 |x − y| 是座標差的平方和開根號——高中兩點距離公式的 p 維版,正式定義在 §8-3;三角不等式 |x + y| ≤ |x| + |y| 由 §8-2 的 8.7 供應,open ball 的官方戶籍是 8.9。)一維裡它是開區間 (x − r, x + r),二維是不含圓周的圓盤,三維是不含球面的實心球。定義只有一句話:

9.1  DEFINITION
A set G ⊆ ℝᵖ is open when each point x of G comes with a radius r > 0 such that every y ∈ ℝᵖ with |x − y| < r belongs to G as well. Equivalently, each point of G serves as the center of an open ball staying inside G.
集合 G ⊆ ℝᵖ 為 open,意思是 G 的「每一點」x 都配得到一個正半徑 r,使得所有與 x 距離小於 r 的點通通屬於 G——換句話說,每一點都是某顆完全留在 G 內的 open ball 的球心。
正例:(0, 1) 是 open——連 0.0001 都配得到半徑 0.0001 的緩衝圈(例 2)。反例:[0, 1] 不是 open——成員 0 的任何緩衝圈都伸進負數(同樣在例 2)。

把定義逐句對回騎樓:

定義片語白話
each point x of G每個成員都要受檢——一個踩線的都不准有
a radius r > 0緩衝圈可以小得可笑,但半徑必須是正數——「零緩衝」不算緩衝
every y with |x − y| < r belongs to G整圈都是自己人:圈內任何一點都還在集合裡,一滴水都潑不進來
r 是逐點配給的:定義只要求每一點「存在」自己的 r,沒有要求全體共用同一個。(0, 1) 裡,0.5 配得到半徑 0.5 的大圈,0.0001 只配得到 0.0001 的小圈——越靠外緣圈越小,這完全合法。要否定 open,也得按同一個量詞來:不是找到一顆伸出去的圈就完事,而是要找到一個點,它的「每一顆」候選圈都伸出去。

七個試金石(9.2)

接下來七個例子是七次驗收。前面幾局刻意簡單——確認定義的行為正常;後面的局數開始出現反差:同一段區間換個空間就變質、名字裡帶 open 的東西也得排隊受檢。

例 1證明整個空間 ℝᵖ 是 open
最大的集合先上場。這一例沒有圖——整個空間沒有「外面」,也就沒有可畫的邊界。
給 ℝᵖ 的每一點配一顆留在 ℝᵖ 內的緩衝圈。
  1. 任取 x ∈ ℝᵖ,取 r = 1(其實任何正數都行)。
  2. 與 x 距離小於 1 的點是 ℝᵖ 裡的點,於是它當然屬於 ℝᵖ——「留在集合內」這一關在這裡不設防。
ℝᵖ 是 open。集合就是一切的時候,緩衝圈不可能出界。
例 2證明 (0, 1) 是 open,而 [0, 1] 不是
開場承諾過的對照組。兩個集合只差兩個端點,身分卻分了家。
對 (0, 1):每點配圈。對 [0, 1]:找出一個點,它的每顆候選圈都伸出集合。
  1. 先看 G = (0, 1)。任取 x ∈ G,取 r = min(x, 1 − x)——x 到兩端距離較小的那個。因為 x 既大於 0 又小於 1,所以 r > 0;而區間 (x − r, x + r) 兩頭都碰不到 0 與 1,整段留在 G 內。x = 0.5 配到 r = 0.5;x = 0.0001 只配到 r = 0.0001——圈小,但合法。
  2. 再看 F = [0, 1],檢查成員 0。任給 r > 0,點 −r/2 與 0 的距離是 r/2 < r,於是它落在候選圈內;但 −r/2 是負數,不屬於 F。
  3. 注意這一步的量詞:我們沒有挑某一顆圈,而是對「任意」r 都指出了同一型的漏網點 −r/2——0 的每一顆候選圈都不合格,這才構成否定。
01 x 內部點:整圈都是自己人 0 的圈:左半伸進負數

這張圖在證兩個集合為什麼分家:內部點 x 的緩衝圈(藍)整段留在區間裡;成員 0 的任何圈(紅)都有一半掛在集合外的虛線地帶——縮小半徑只會讓圈變小,掛在外面的那一半永遠在。

(0, 1) 是 open;[0, 1] 不是。差別全在端點——0 與 1 是踩在滴水線上的成員。
例 3在 ℝ² 檢驗三個圓盤:G = {ξ² + η² < 1}、H = {0 < ξ² + η² < 1}、F = {ξ² + η² ≤ 1}
同一顆圓盤的三種切法:不含圓周、再挖掉圓心、把圓周收進來。
證明 G 與 H 是 open,F 不是。
  1. G:任取距原點 d < 1 的點 x,取 r = 1 − d。因為圈內任一點 y 與 x 的距離「嚴格小於」r,由三角不等式 |y| ≤ |x| + |y − x| < d + r = 1——距離壓在 1 之下、碰不到邊緣(同款論證是例 7 的正題,這裡先預支結論),所以整顆圈留在 G 內。
  2. H:挖掉圓心之後,剩下的每一點與那個洞之間都有正距離——距原點 d(0 < d < 1)的點取 r = min(d, 1 − d),圈既避開圓心也碰不到外緣。挖掉「一個點」不傷 open。
  3. F:檢查圓周上的成員,如 (1, 0)。任給 r > 0,點 (1 + r/2, 0) 與它距離 r/2,卻已在 F 之外——每顆候選圈都有一半掛在圓外。
G(< 1,圓周缺席) F(≤ 1,圓周在籍) 離圓周越近,圈越小——但都有 圓周上的成員:圈一半在外

這張圖在證「開不開,看圓周收不收」:左邊 G 的圓周缺席(虛線),內部任一點都配得到整顆留在盤內的圈;右邊 F 把圓周收進來(實線),圓周上的成員(紅點)任何圈都有一半泡在盤外。

G 與 H 是 open,F 不是。「<」造 open,「≤」毀 open;挖掉圓心無妨。
例 4同一段 (0, 1) 搬進 ℝ²:線段 G = {(ξ, 0) : 0 < ξ < 1} 不 open,直條 H = {0 < ξ < 1} open,含右緣的 K = {0 < ξ ≤ 1} 不 open
例 2 才證過 (0, 1) 是 open——同一段區間躺進平面,身分立刻變了。這一局要說的是:open 是「相對於所在空間」的身分。
逐一檢驗三個集合,緩衝圈換成 ℝ² 的實心圓盤。
  1. G 是躺在橫軸上的線段。任取線段上一點,任給 r > 0:由於平面的緩衝圈是實心圓盤,圈裡必有縱向偏離的點(正上方距離 r/2 處就是一個),而它們全不在 G 裡——線段塞不下任何圓盤。
  2. H 是縱向不設限的直條。任取 (ξ, η) ∈ H,取 r = min(ξ, 1 − ξ):圈內的點橫座標仍夾在 0 與 1 之間,縱座標不受盤查,於是整顆圈留在 H 內。
  3. K 把右緣 ξ = 1 收了進來。緣上的成員 (1, η) 任給一顆圈,圈內都有橫座標大於 1 的點——與例 2 的端點 0 同一型的破綻。
G:一維的線段 H:縱向不設限的直條 圓盤大半掛在線段外

這張圖在證「換了空間,圈也換了形狀」:平面裡的緩衝圈是實心圓盤——線段(左)不論在哪一點放多小的圓盤,上下兩片都掛在集合外;直條(右)縱向不設限,圓盤整顆放得進去。

(0, 1) 在 ℝ 裡 open,化身線段進了 ℝ² 就不 open——說「open」之前,先說清楚「在哪個空間裡」。
例 5在 ℝ³ 檢驗:半空間 G = {ζ > 0} 與正卦限 H = {ξ > 0, η > 0, ζ > 0} 是 open,對角線 F = {ξ = η = ζ} 不是
把例 2 與例 4 的手感帶上三維——不等式與等式各自往哪邊倒,這裡看得最清楚。
給 G、H 的每點配球;對 F 指出每顆球都伸出去的點。
  1. G:高度 ζ = c > 0 的點取 r = c。因為球內的點與球心各座標的差都小於 c,高度再怎麼掉也掉不到 0,所以整顆球留在 G 內。
  2. H:三個座標都為正,取 r 為三個座標的最小值——球內每一點的三個座標於是全數保持為正。點 (1, 1, 1) 配到 r = 1;點 (5, 3, 0.01) 被最小的座標卡住,只配到 r = 0.01。
  3. F 是一條直線。與例 4 同一個機制:三維的球是實心的,任何一顆球裡都有偏離直線的點——一維的物件裝不下三維的球。
c 半空間:半徑取高度 c 直線:球裡全是線外的點

這張圖在證兩種命運的機制——三維入畫困難,畫的是同機制的二維剖面:半空間(左)裡高度 c 的點,取半徑 c 的球剛好懸在界線之上;直線(右)上的點不論配多小的球,球的大半都在線外。

G 與 H 是 open,F 不是。「>」畫出的區域傾向 open;「=」畫出的低維物件在高維空間裡從不 open(空集除外——見下一例)。
例 6證明空集 ∅ 是 open
最小的集合壓軸受檢。這一例也沒有圖——沒有成員,就沒有可畫的點。
給 ∅ 的每一點配圈。
  1. 定義是「對每一點……」的形式,而 ∅ 沒有任何點可檢查。
  2. 由於沒有成員,也就沒有「不合格的成員」——條件對零個對象自動成立(vacuously true),這是量詞的標準行為,不是詭辯。
∅ 是 open。與例 1 合起來,定理 9.3(a) 的兩位主角已經到齊。
例 7證明每顆 open ball 本身是 open set
名字裡帶著 open,不代表白拿這個身分——「球裡的每一點都配得到自己的一顆小球」是要證明的事。例 3 預支的結論,在這裡還債。
設 B 是以 z 為球心、半徑 a > 0 的 open ball。任取 x ∈ B,造出一顆以 x 為心、完全留在 B 內的球。
  1. x ∈ B 的意思是 d = |z − x| < a。剩餘的額度 a − d 是正數——就取 r = a − d。
  2. 任取與 x 距離小於 r 的點 y。由三角不等式,|z − y| ≤ |z − x| + |x − y| < d + (a − d) = a,因此 y ∈ B——整顆小球留在 B 內。
  3. 額度隨位置伸縮:離心近的點(d = a/4)配到大圈 r = 3a/4;貼近球面的點(d = 0.9a)只配到 r = 0.1a——但只要人在球內,額度就是正的。
z x d r = a − d y B:半徑 a 的 open ball z 到 y:先走 d 到 x,再走不足 a − d,合計不足 a

這張圖在證半徑怎麼選:x 已經用掉 d 的距離,剩餘額度 a − d 就是小球(藍)的半徑——小球裡任何 y,從 z 走過去的總路程壓在 a 之下,出不了 B。

每顆 open ball 都是 open set——這個名字從此名副其實,定義 9.1 的兩種說法也真正咬合。
七局的手感:用「<」「>」畫出的區域(例 2、3、4、5 的 G 與 H)都領到了 open;把邊界收進來(≤)、或把低維物件放進高維空間(=),open 立刻毀掉。單一集合驗完了,下一個問題是:open 的集合彼此運算——取聯集、取交集——身分保得住嗎?
── 小憩 ──

七個試金石一口氣驗完,這裡剛好是半場。往下只剩兩件事:聯集與交集的存續規則,加一個站在界線上的反例——先站起來動動腿,回來再進場。

open 的存續規則(9.3)

三條規則。前兩個試金石已經替 (a) 付清帳單;(b) 與 (c) 是真正要動手的部分。先把敘述立起來,特別注意 (b) 與 (c) 的不對稱——聯集不限個數,交集只寫了「兩個」。

9.3  OPEN SET PROPERTIES
(a) Both ∅ and the whole space ℝᵖ are open. (b) If two sets are open, then so is their intersection. (c) The union of an arbitrary family of open sets is again open.
(a) 空集 ∅ 與整個空間 ℝᵖ 都是 open;(b) 兩個 open sets 的交集是 open;(c) 任意一族——不限多少個——open sets 的聯集是 open。
正例:所有形如 (n, n + 1) 的開區間(n 走遍全部整數,無限多個)聯集起來仍是 open。反例:交集只保證有限個,⋂ₙ (−1/n, 1/n) = {0} 不是 open——這個反例在證明之後細看。

由 (b) 加數學歸納法,「有限個」open sets 的交集都是 open:三個等於先交兩個再交一個,依此類推,步數有限就走得完。所以 (b) 的真實射程是「有限交集」;(c) 的射程則是貨真價實的「任意」——可數、不可數都收。這對不對稱不是措辭偷懶,證完馬上看它壞掉的樣子。

PROOF

(a) 已由例 1 與例 6 證畢——ℝᵖ 與 ∅ 都驗過了。以下設 G₁, G₂ 為 open sets 證 (b),再對任意一族 open sets {G_λ} 證 (c)。

證明計畫 · 由所求想起
要證 (b):G₁ ∩ G₂ 是 open。
⇢ 等於:交集裡「每一點」都配到一顆完全留在交集內的球。
⇢ 交集的點同時是兩個母集的成員,兩邊各給一顆球——半徑取較小的那顆,兩邊都裝得下。
要證 (c):聯集 G 是 open。
⇢ 等於:聯集裡每一點配一顆留在 G 內的球。
⇢ 這一點必屬於族中某個成員;成員給的球直接可用——球在成員裡,就自動在聯集裡。
G₁ G₂ x 虛線:G₁ 發的大球——左緣戳出了 G₂ 實線:取 min 之後的小球——兩邊都裝得下

這張圖在證 min 這一步為什麼必要:x 領到的兩顆球尺寸不同,大的那顆(灰虛線)雖然留得住 G₁,卻戳出 G₂;取較小半徑(藍實線)之後,同一顆球同時留在兩個母集裡,於是留在交集裡。

Proof of (b).  Pick any x in G₁ ∩ G₂. Because x is a point of the open set G₁, some radius r₁ > 0 keeps the ball of radius r₁ about x inside G₁; since G₂ is open as well, it likewise supplies a radius r₂ > 0.
(b) 從交集裡任取一點 x 開始。因為 x 屬於交集,它同時是 G₁ 與 G₂ 的成員,所以定義 9.1(open:每個成員都配得到一顆整顆留在集合內的球)在兩邊各兌現一次——G₁ 給一顆半徑 r₁ 的球,G₂ 給一顆半徑 r₂ 的。兩顆未必一樣大——拿 G₁ = (0, 2)、G₂ = (−1, 1)、x = 0.8 摸一下手感:G₁ 給得起 r₁ = 0.8,G₂ 被右端 1 卡住,只給得起 r₂ = 0.2。
Take r₃ = min(r₁, r₂). Since r₃ exceeds neither radius, any y with |x − y| < r₃ lands inside both balls at once, and therefore in both G₁ and G₂ — that is, y ∈ G₁ ∩ G₂. So every point of the intersection owns a ball of its own, and G₁ ∩ G₂ is open.
接著取 r₃ = min(r₁, r₂)——半徑取小不取大。因為 r₃ 不超過兩個半徑中的任何一個,與 x 距離小於 r₃ 的點同時落在兩顆球內:以剛才的數字,0.2 的球整顆躺在 0.8 的球裡。於是這顆小球同時留在 G₁ 與 G₂ 內,也就整顆留在交集內。由於交集的每一點都能照這一套領到自己的 r₃,G₁ ∩ G₂ 是 open。注意 r₃ > 0 靠的是「兩個正數取 min 仍是正數」——(b) 的量詞寫「兩個」而不寫「任意多個」,根子就在這一步。
Proof of (c).  Let G be the union of an arbitrary family {G_λ} of open sets — finite, countable, or beyond — and pick any x ∈ G. By the meaning of a union, x belongs to at least one member, say G_μ.
(c) 的第一步只是把「聯集」的定義攤開,還沒有推理發生:設 G 是任意一族 open sets 的聯集——個數有限、可數、不可數都行——任取 x ∈ G。x 進得了聯集,靠的必然是族裡某個成員收了它,把這個成員叫 G_μ。收留它的成員可能不只一個——挑哪個都行,下一步只用得到一個。
Since G_μ is open, some ball about x lies wholly inside G_μ. That ball then lies inside G as well, for G_μ ⊆ G. Hence every point of G owns a ball inside G, and G is open.
因為收留 x 的成員 G_μ 是 open,x 在 G_μ 裡配得到一顆整顆留在 G_μ 內的球;又因為 G_μ 整個屬於聯集 G,這顆球自動整顆待在 G 裡——x 的緩衝圈直接借成員的用。全程不需要知道族裡還有誰、有多少個,不可數也無妨,所以 G 是 open。對照 (b):交集的球要「同時見容於每一個母集」,聯集的球只要「見容於任何一個成員」——量詞的方向,決定了誰能無限、誰只能有限。
(a) 例已備、(b) 取 min、(c) 借成員的球——三條規則全部成立。∎

無限交集的破口

(b) 的證明裡,min 這個動作毫不起眼——正是它劃下「有限」的界線。兩個半徑取 min、一百萬個半徑取 min,出來都是正數;可是無限多個正數可以越縮越小、貼向 0——不存在一個共同的正下限。看這個反例:

Gₙ = (−1/n, 1/n),  n ∈ ℕ

每個 Gₙ 都是 open 的開區間。哪些點通得過全部的交集?點 0 站在每個 Gₙ 的正中央,永遠出不了局。除了 0 之外的任何點 x 都會出局:因為 |x| > 0,所以只要 n 大到 1/n < |x|,Gₙ 就把 x 擋在門外(x = 0.1 通過 G₁ 到 G₉,在 G₁₀ 出局;x = 0.001 撐到 G₉₉₉——但每個非零的點都有出局的一天)。於是交集恰好是單點集 {0}。

而 {0} 不是 open:0 的任何緩衝圈 (−r, r) 都裝著無數非零的點,全在集合外。open 身分在無限次交集下蒸發了。回頭看機制:0 在每個 Gₙ 裡的緩衝額度是 1/n——每一關都過,額度卻一路縮水、要多小有多小——沒有任何正數墊得住全部額度的底,一顆對所有關卡通用的正半徑球不存在。9.3(b) 寫「兩個」而不寫「任意多個」,量詞卡得分毫不差。

−110 G₁G₂G₃G₆ 每一層都更窄——只有 0 層層通過

這張圖在證交集為什麼只剩 {0}、又為什麼不 open:藍色的 Gₙ 一層比一層窄,非零的點遲早被某一層擋下,只有 0(紅點)全數通過;而 0 的任何緩衝圈(紅虛線)都裝著無數非零點——它們早已不在交集裡。

量詞敏感度:「任意聯集、有限交集」八個字是 open 的完整存續規則,兩個量詞一個都動不得。誰想把 (b) 升級成「任意交集」,這個反例就是回敬——升級失敗的不是技巧,是事實。
—— 第一階段到此結束 ——

你已經拿到 open 的判準——每個成員都有整圈留在集合內的緩衝圈——並在七個試金石上驗過手感:「<」造 open,收邊界或降維就毀。存續規則 9.3 一句話:聯集隨便取,交集只到有限——⋂ₙ (−1/n, 1/n) = {0} 就是那條界線的現場證據。下一篇 §9-2 登場的 closed set 由補集定義:集合為 closed,意思是它的補集是 open——本篇驗過的每一個 open set,都將在那裡換個方向再出場。讀到這裡不妨起身去喝口水,讓緩衝圈這個畫面自己轉一會兒再回來。