§22-2  保連通性與中間值

一個沒有斷開的集合,經過連續函數之後還會是沒有斷開的嗎?如果會,這件事對一個實值函數的值域意味著什麼——它有沒有可能跳過某個中間的數?

一整塊送過去還是一整塊

把一條橡皮筋拉長、扭轉、揉成一團,它還是一整條;要讓它變成兩段,非得剪一刀不可。「連續」在直覺上就是「沒有剪那一刀」,所以一整塊的東西送過去之後應該還是一整塊。

上一篇剛示範過直覺會出錯:連續函數把 open set 送過去可能不再 open。所以這一次不能靠感覺,得真的證。好消息是 22.1 已經把工具備齊——§12-1 的 12.1 定義 disconnected 用的正是「兩個 open set 把集合切成兩堆」,而 22.1 正好管 open set 的逆像。

本篇證兩件事。第一件是連通性過得去;第二件是它在實值函數上的兌現,那個結論的名字比定理本身更有名。

22.3  PRESERVATION OF CONNECTEDNESS
Let H ⊆ D(f) be connected in ℝᵖ and let f be continuous on H. Then the image f(H) is connected in ℝ^q.
連續函數把一整塊送成一整塊。要留意這裡只要求 f 在 H 上連續,定義域其他地方發生什麼事一概不管——證明第一步就是把 f 限制到 H 上,之後外面的點與這件事無關。
正例:f(x) = x² 把 connected 的 [−1, 2] 送成 [0, 4],仍然是區間、仍然 connected。反例:定理不能倒過來用——f(x) = x² 把 disconnected 的 [−2, −1] ∪ [1, 2] 也送成 connected 的 [1, 4]。像 connected 推不回原像 connected,因為函數可以把分開的兩塊疊在一起。
PROOF

先把 f 限制在 H 上,記這個函數為 h:它的定義域就是 H,取值與 f 一樣,所以 h(H) = f(H),而且 h 在自己的定義域上處處連續。這一步讓 22.1 裡的 D(f) 直接變成 H。

證明計畫 · 由所求想起
所求是「像沒有任何拆法」,而拆法是找不完的,所以走反面:假設像被拆開了,把那個拆法原封拉回定義域。拉回去的工具是 22.1(b)——像那邊的兩個 open set 各自對應到這邊的一個 open set。剩下的工作是逐條驗收:拉回來的兩堆非空、不相交、聯集恰是 H。三條都過,就得到 H 的一個拆法,與 H 連通矛盾。

Proof.  Suppose h(H) is disconnected, so there are open sets A, B in ℝ^q for which A ∩ h(H) and B ∩ h(H) are non-empty, disjoint, and have union h(H). By 22.1 applied to h there are open sets A₁, B₁ in ℝᵖ with
  A₁ ∩ H = h⁻¹(A),  B₁ ∩ H = h⁻¹(B).
這一步的所求:把像那邊的拆法搬到定義域這邊。能搬的理由只有一個——22.1 保證 open set 的逆像切得出來,而 12.1 的拆法用的恰好是 open set。這裡限制到 H 的動作在這一步見效:h 的定義域就是 H,所以 22.1 交出的等式右邊直接寫成「交上 H」,不必再處理 H 以外的定義域點。
These two sets are non-empty: if y ∈ A ∩ h(H) then y = h(x) for some x ∈ H, and that x lies in h⁻¹(A). They are disjoint: a common point x would give h(x) ∈ A ∩ B ∩ h(H), which is empty. And their union is H: each x ∈ H has h(x) ∈ h(H), hence h(x) ∈ A or h(x) ∈ B.
這一步是邊界簿記,三條逐一核對。三條全是「把像那邊的性質沿著逆像翻譯回來」,翻譯之所以不走樣,是因為逆像對交集與聯集都守全等號(§2-3 的 2.13:逆像對 ∩、∪、∖ 一項不漏,而正像只保半邊)。非空那條要往回追一個原像點,用的是 y 落在 h(H) 裡這個前提——若 A 只碰到 h(H) 以外的地方就追不到人。
Thus A₁, B₁ form a disconnection of H, contrary to the hypothesis that H is connected. Hence h(H) = f(H) is connected.
這一步結案。整段論證真正做的事是把矛盾往回推一層:像被拆開 ⟹ 原像被拆開,而原像不可拆,所以像也不可拆。要留意方向——這裡沒有證明「原像被拆開時像也被拆開」,那句話是假的,例 x² 把兩段疊起來就是反例。
連通性沿著連續函數往前傳。∎
f H 一整塊 像也一整塊 f⁻¹ A B A₁ B₁ 像若能斷,原本那塊就跟著斷——所以像不能斷

這張圖在說 22.3 的反證機制,走的是下排:假設像被兩個 open set 切成互不相交的兩段,22.1 把這兩個 open set 各拉回定義域這邊一個,於是 H 也被切成兩段。上排畫的是定理保證的結果(一整塊送成一整塊),而證明實際走的是下排那個矛盾。

22.4  BOLZANO'S INTERMEDIATE VALUE THEOREM
Let H ⊆ D(f) be connected in ℝᵖ and let f be continuous on H with values in ℝ. If a real number k satisfies
  inf f(H) < k < sup f(H),
then f(x) = k holds for at least one x ∈ H.
值域裡凡是被夾在 inf 與 sup 之間的數,一定真的被取到——連續的實值函數在一整塊上不會跳過任何中間值。定義域可以是任何維度的連通集,值必須是實數:這條定理靠的是 ℝ 上「小於 k」與「大於 k」剛好把數線切成兩個 open set,高維沒有這種切法。
正例:f(x) = x² 在 H = [0, 2] 上,inf = 0、sup = 4,取 k = 2,於是某個 x ∈ [0, 2] 滿足 x² = 2——這正是 §6-4 的 6.8 硬幹出來的那個數。反例:H 不連通就失效——f(x) = x 在 H = [0, 1] ∪ [2, 3] 上 inf = 0、sup = 3,可是 k = 1.5 從來沒被取到。
PROOF

要證的是「k 被取到」,也就是 k ∈ f(H)。手上有的只有 22.3:f(H) 是 ℝ 的一個 connected 子集。

證明計畫 · 由所求想起
所求是「k 在像裡」,走反面:假設 k 不在像裡,那條數線就在 k 這一點被挖空,於是「小於 k」與「大於 k」這兩個 open set 把像切成兩堆。兩堆非空這件事由 k 嚴格夾在 inf 與 sup 之間直接給出。切成兩堆就與 22.3 矛盾。

Proof.  Suppose k ∉ f(H) and put A = {t ∈ ℝ : t < k} and B = {t ∈ ℝ : t > k}. Both are open in ℝ, they are disjoint, and since k is not a value of f on H their union contains f(H).
這一步的所求:造出一組候選的拆法。造得出來的關鍵是假設本身——k 不被取到,所以 f(H) 完全避開了 k 這一點,兩個開半線於是蓋得住它。若 k 真的被某個點取到,那個值既不小於也不大於 k,會從兩堆裡同時漏掉,拆法立刻不成立。
Since inf f(H) < k, the number k is not a lower bound of f(H), so some value lies in A; since k < sup f(H), likewise some value lies in B. Hence A, B is a disconnection of f(H), contradicting 22.3. Therefore k ∈ f(H).
這一步的所求:確認兩堆都不是空的。用的是 inf 與 sup 的定義本身——inf 是最大的下界,比它大的數 k 就當不成下界,所以必有一個值溜到 k 底下(§6-1 的 6.3 的左測就是這件事);sup 那邊對稱。這裡看得出敘述為什麼寫嚴格不等號:k 等於 inf 時,值可以全部大於等於 k,那一堆就空了。
連通性一旦保住,中間值就跳不掉。∎
k 一定穿得過去 值一路由低走高 k 跳過就斷成兩段

這張圖在說 22.4 的反證機制:右側是「假設 k 沒被取到」的畫面——像集合在 k 這一格被挖空,於是它被上下兩個開半線切成互不相交的兩段,這是 ℝ 裡貨真價實的一個 disconnection,與 22.3 直接衝突。左側是定理保證的結果,證明本身走的是右側那條路。

兩個馬上用得上的結論

22.4 的敘述看起來很抽象,可是它幾乎是「解方程式有解」這件事的通用工具:想證明某個方程式有根,只要找到函數值一正一負的兩個點就夠了,完全不必知道根長什麼樣。下面兩個例子一個在代數裡,一個在地球上。

例 3奇次多項式一定有實根
五次方程式沒有公式解。那要怎麼知道它有沒有實根?
  1. 先看一個具體的:p(x) = x⁵ − 3x + 1。它連續——多項式由常數與 x 反覆相乘相加而成,§20-5 的 20.6 一路保下來。
  2. 算四個值:p(−2) = −25、p(0) = 1、p(1) = −1、p(2) = 27。
  3. 在 H = [−2, 0] 上(區間,由 §12-3 的 12.8 知 connected)有 inf p ≤ −25 < 0 < 1 ≤ sup p,所以 22.4 給出一個根。同樣的算法在 [0, 1] 與 [1, 2] 上各給一個。這個五次式至少有三個實根,而我們一個都沒算出來。
  4. 推廣到所有奇次的情形。設 p 的最高次項是 xⁿ 而 n 是奇數(首項係數不是 1 時先整條除掉它,根不變)。|x| 夠大時最高次項的絕對值超過其餘各項的總和,於是 p(x) 與 xⁿ 同號;n 是奇數使得 xⁿ 在正負兩端異號。取這樣的一個 R,在 [−R, R] 上 p(−R) < 0 < p(R),22.4 交出一個根。
第 3 步值得停一下:結論是「存在」,證法卻完全沒有建構——只算了四個容易算的值,剩下的由連通性接手。偶次的情形沒有這個保證,x² + 1 恆正就是現成的反例,因為 xⁿ 在正負兩端同號,第 4 步的異號一步就斷了。
例 4赤道上永遠有一對正對面的點溫度相同
這聽起來像是巧合。可是它每一刻都成立,而且只用得到 22.4。
  1. 把赤道用角度參數化:T(θ) 是角度 θ 那一點此刻的氣溫,θ ∈ [0, 2π]。假設溫度隨位置連續變化,並注意繞完一圈回到原地,所以 T(2π) = T(0)。
  2. 定義 g(θ) = T(θ) − T(θ + π),定義域取 [0, π]。θ 與 θ + π 是圓上正對面的兩點,所以要證的就是 g 在某處取值 0。g 連續:兩個連續函數相減,20.6。
  3. 算兩端:g(0) = T(0) − T(π),而
      g(π) = T(π) − T(2π) = T(π) − T(0)。
    兩者恰好互為相反數。
  4. 若 g(0) = 0,θ = 0 就是答案。否則 g(0) 與 g(π) 一正一負,於是在 connected 的 [0, π] 上 inf g < 0 < sup g,22.4 交出一個 θ* 使 g(θ*) = 0,也就是 T(θ*) = T(θ* + π)。
整段推理只用了兩件事:溫度隨位置連續、繞一圈回到原點。「相減之後兩端必定異號」這個構造是關鍵——直接對 T 用中間值定理得不到任何關於「正對面」的資訊,得先把要比較的兩個量做成同一個函數的兩端。第 4 步那個 θ* 在哪裡,定理一句話也沒說。
θ θ+π 正對面的一對點 g(0) g(π) 這裡取到零

這張圖在說例 4 的構造:左邊是圓上正對面的一對點,右邊是把兩點溫度相減得到的 g。兩端的值互為相反數,這一點不是碰巧,是「繞一圈回到原地」直接造成的——所以只要不是兩端都為零,就必定一正一負,中間值定理接手。圖上那個零點的位置是畫出來的示意,定理並不指出它在哪裡。

—— 第二階段到此結束 ——

本篇證了連通性沿著連續函數往前傳(22.3),手法是把像那邊的拆法用 22.1 拉回定義域。兌現成實值函數就是中間值定理(22.4):夾在 inf 與 sup 之間的數一定被取到,而證明只是在 k 那一點把數線挖空。例 3 用它證明奇次多項式必有實根,例 4 用它證明赤道上永遠有一對正對面的點同溫,兩個都不必把答案算出來。喝口水,起來動一動——下一篇換另一個保得住的性質:緊緻性,而它兌現出來的東西比中間值定理更常用。