「⟸」是舊帳:開區間是 open(§9-1 例 2 的配球),可數多個 open sets 的聯集是 open(定理 9.3(c),任意族都行、可數族當然行)。以下證「⟹」:任給非空的 open set G ⊆ ℝ,把它拆成可數多段開區間(G = ∅ 時取空族即可)。
證明計畫 · 由所求想起
要證:G 寫得成可數多個開區間的聯集。
⇢ 「可數多個」去哪找?找 G 裡的有理數當錨點——ℚ 可數(§3-2 例 4,依據定理 3.4),錨點至多可數多個。
⇢ 每個錨點配一段「以它為心、儘量收斂」的開區間,全部留在 G 內。
⇢ 驗收:G 的每個點都被某段錨點區間接住——靠有理數的稠密(6.10)。
Proof. List the rational numbers lying in G as r₁, r₂, r₃, ⋯ — a countable list, because ℚ is countable and subsets of countable sets are countable (Theorems 3.3, 3.4). For each n, let mₙ be the smallest natural number for which the interval Jₙ = (rₙ − 1/mₙ, rₙ + 1/mₙ) lies inside G; such an m exists because G is open and rₙ ∈ G. Then every Jₙ ⊆ G, hence ⋃ₙ Jₙ ⊆ G.
先架好可數的骨幹。G 裡的有理數是 ℚ 的子集,因為 ℚ 可數(§3-2 例 4,定理 3.4 的主秀)而可數集的子集仍可數(定理 3.3),這批錨點排得成一列 r₁, r₂, ⋯。接著替每個錨點配區間:因為 G 是 open,rₙ 配得到某顆留在 G 內的球,也就是「半徑 1/m 的區間 ⊆ G」這件事至少對某個 m 成立;良序性讓我們取最小的那個 m,記作 mₙ。取最小不是潔癖——待會的收尾正要靠「mₙ 不能再小」這句話反將一軍。每段 Jₙ 都在 G 內,聯集自然也在。
Conversely, take any x ∈ G. Since G is open, there is m ∈ ℕ with (x − 2/m, x + 2/m) ⊆ G. By the density of the rationals, some rational y lies in (x − 1/m, x + 1/m); then y ∈ G, so y = rₙ for some n.
反方向要證 G 的每個點都被某段 Jₙ 接住。任取 x ∈ G,先替它預留雙倍的空間:取 m 使 (x − 2/m, x + 2/m) ⊆ G——之所以拿 2/m 而不是 1/m,是替下一步「從錨點看世界」預付的裕度。再由有理數的稠密性(任兩個相異實數之間必有有理數——§6-4 的 6.10),在 x 的 1/m 範圍內撈到一個有理數 y——它落在 G 裡,所以它是錨點名單上的某個 rₙ。
We claim x ∈ Jₙ. If not, then 1/mₙ ≤ |x − rₙ| < 1/m, so m < mₙ. But the interval (rₙ − 1/m, rₙ + 1/m) lies inside (x − 2/m, x + 2/m) ⊆ G, because every point within 1/m of rₙ is within 1/m + 1/m = 2/m of x. Thus m already qualifies in the definition of mₙ — contradicting the minimality of mₙ. Hence x ∈ Jₙ, and G ⊆ ⋃ₙ Jₙ. The two inclusions give G = ⋃ₙ Jₙ: a union of countably many open intervals.∎
收尾用反證把 x 塞進 Jₙ。假設 x ∉ Jₙ,意思是 x 離錨點 rₙ 至少 1/mₙ;而 y = rₙ 是在 x 的 1/m 內撈到的,兩件事夾出 1/mₙ ≤ |x − rₙ| < 1/m,也就是 m < mₙ。可是從 rₙ 出發、半徑 1/m 的區間,整段都落在 x 的 2/m 範圍內(三角不等式:離 rₙ 不到 1/m、rₙ 又離 x 不到 1/m,兩段相加不到 2/m)——而那整片預留區都在 G 裡。於是「半徑 1/m 的區間 ⊆ G」對 rₙ 成立,比 mₙ 更小的 m 就合格了——與 mₙ 是最小的矛盾。所以 x ∈ Jₙ:每個 G 的點都被自己附近的錨點區間接住,雙向包含合攏,G 恰是可數多段開區間的聯集。