§25-3  四則與合成

極限與相加相乘能不能交換次序?兩個函數先後作用時呢——如果兩層各自的極限都存在,接起來的極限會不會就是它們接起來的結果?

四則沒事,合成有事

一份文件先由甲譯成英文,再由乙譯成法文。兩位譯者各自都很可靠,可是中間那一步若把某個詞譯成一個特殊的字眼,而乙對那個字眼剛好有特別的處理,接力的結果就可能出乎意料——即使兩位單獨看都沒有出錯。

本篇處理極限與運算的關係。相加、相減、內積、純量倍這些四則完全沒有意外:把 25.3(c) 的數列版套上 §15-3 的 15.6,一行就結束。

合成則不然,而出問題的位置恰好就是上面那個翻譯的比方:內層函數可能把 c 附近的點正好送到 b 這一點上,而外層的 deleted limit 依定義偏偏不看 b 那一點。這一篇是 non-deleted 版比 deleted 版乾淨的少數場合之一。

LEMMA · 四則
Let c be a cluster point of D(f) ∩ D(g) and suppose lim_c f = b and lim_c g = b' exist. Then
  lim_c (f + g) = b + b',  lim_c (f − g) = b − b',
  lim_c (f · g) = b · b',  lim_c (αf) = αb  for α ∈ ℝ.
If in addition φ is real valued with lim_c φ = β ≠ 0 and c is a cluster point of D(f) ∩ D(φ), then lim_c (f/φ) = b/β. The same statements hold for non-deleted limits.
四則與極限可以交換,與 20.6 對連續說的是同一件事——事實上有了 25.5,20.6 可以看成這條引理的特款。商的條件是「極限不為零」而不是「函數不取零值」:極限不為零時,c 附近自然就沒有零值。可是「兩個定義域的交集在 c 附近有東西」得另外要求——兩個函數各自有極限,推不出它們的定義域交得起來(取 f 只定義在有理點、φ 只定義在無理點就是現成的反例,商的定義域是空的)。
正例:lim_{x→2} (x² + 3x) = 4 + 6 = 10——兩個極限各自算完再相加。反例:條件要求兩個極限都存在——取 f(x) = 1/x、g(x) = −1/x 於 x ≠ 0,兩者在 c = 0 的極限都不存在,可是 f + g 恆為 0、極限存在。和的極限存在推不回各項。
PROOF

25.3(c) 把函數的極限翻譯成數列的極限,而數列那邊的四則早就證完了。這裡只是把翻譯來回走一趟。

Proof.  Let (xₙ) be any sequence in D(f) ∩ D(g) with xₙ ≠ c and xₙ → c. By 25.3(c) we have f(xₙ) → b and g(xₙ) → b', so 15.6 gives f(xₙ) + g(xₙ) → b + b'. Since the sequence was arbitrary, 25.3(c) applied in the other direction yields lim_c (f + g) = b + b'. The remaining combinations are identical, the quotient using that β ≠ 0.
這一格是例行核對,可是「來回走一趟」的結構值得記住。25.3(c) 的兩個方向分工不同:往右用時它提供資訊(每條數列的像都收斂),往左用時它驗收結論(每條數列都對,所以函數的極限成立)。中間那一段完全發生在數列的世界裡,用的是 15.6,不必重新處理任何 ε 或 δ。non-deleted 版把兩處的 xₙ ≠ c 刪掉即可。
四則與極限交換,證明只是換一次語言。∎
25.6  THEOREM
Let f have domain in ℝᵖ and values in ℝ^q, let g have domain in ℝ^q and values in ℝʳ, and let c be a cluster point of D(g ∘ f).
(a) Suppose b = lim_c f and a = lim_b g both exist. If either g is continuous at b, or f(x) ≠ b for every x ≠ c in some neighborhood of c, then lim_c (g ∘ f) = a.
(b) If b = Lim_c f and a = Lim_b g both exist, then Lim_c (g ∘ f) = a, with no further condition.
(b) 乾淨俐落,(a) 卻附了一個二擇一的但書。但書要擋的正是「內層把點正好送到 b 上」這件事——那時外層的 deleted limit 拒絕表態,而 g(b) 這個值可能與 a 差得很遠。兩個備選條件各自從一邊堵住這個漏洞:一邊要求 g 在 b 表現正常,另一邊要求內層在 c 附近(c 自己除外)根本不去踩 b。
正例:f(x) = x²、g(y) = √y、c = 2。b = 4、a = 2,而 g 在 4 連續,第一個備選條件成立,於是 lim_{x→2} √(x²) = 2。反例:兩個備選條件都不成立時結論真的會壞——例 3 的 f 與 g 各自的極限都是 0,合成的極限卻是 1。
PROOF

兩層各交出一個 neighborhood,串起來就是所求。困難只在串接處:外層的條件對 y = b 這一格不表態,而內層送過來的值有可能正好是 b。

證明計畫 · 由所求想起
所求是 c 的一個 neighborhood,使得裡面(除 c 外)的定義域點經過兩層之後都落進 W。從最外層倒著回推:先由 a = lim_b g 拿到 b 的 neighborhood V,再由 b = lim_c f 拿到 c 的 neighborhood U,於是 U 裡的點被送進 V。
剩下的缺口是「送進 V 之後還得不等於 b」。兩個備選條件各補一次:第二個直接保證不等於 b;第一個則讓 g 在 b 這一格也守規矩,缺口自動消失。

Proof.  (a) Let W be a neighborhood of a. Since a = lim_b g, there is a neighborhood V of b such that g(y) ∈ W whenever y ∈ V ∩ D(g) and y ≠ b. Since b = lim_c f, there is a neighborhood U of c such that f(x) ∈ V whenever x ∈ U ∩ D(f) and x ≠ c.
這一步的所求:把兩層的保證各領一份。次序必須由外往內——先固定 W 才問得出 V,先固定 V 才問得出 U,因為每一層交出的 neighborhood 都是回應上一層的要求。要留意第一句尾巴那個 y ≠ b:它是 deleted limit 的定義自帶的,也是接下來所有麻煩的來源。
If f(x) ≠ b for every x ≠ c in some neighborhood U₁ of c, then for x ∈ (U ∩ U₁) ∩ D(g ∘ f) with x ≠ c we have f(x) ∈ V ∩ D(g) and f(x) ≠ b, hence g(f(x)) ∈ W.
這是第二個備選條件的路線。它做的事只有一件:把 y ≠ b 這個要求轉嫁到內層身上——內層既然保證不去踩 b,外層那句但書就永遠不會被觸發。兩個 neighborhood 取交集之後仍是 c 的 neighborhood,這一格是例行核對。
If instead g is continuous at b, then by 25.5 we may choose V so that g(y) ∈ W for all y ∈ V ∩ D(g), with no exception at y = b. Then x ∈ U ∩ D(g ∘ f) with x ≠ c already gives g(f(x)) ∈ W. In either case a = lim_c (g ∘ f).
(b) In the non-deleted setting neither exception arises, so the two neighborhoods link up with no extra hypothesis.
這是第一個備選條件的路線,也是 (b) 為什麼乾淨的理由。25.5 說 g 在 b 連續等價於 non-deleted 極限存在,而 non-deleted 版的敘述本來就不排除 y = b——缺口不是被補起來,是根本不存在。(b) 的兩層都是 non-deleted 版,所以兩處缺口同時消失,串接一步到位。
合成的極限需要一個但書,而 non-deleted 版天生免疫。∎
c b a f g 正好踩上 b 的那些點 缺口只在中層那一個被挖空的點

這張圖在說 25.6(a) 的但書在防什麼:兩層的保證分別是「c 附近(除 c 外)被送到 b 附近」與「b 附近(除 b 外)被送到 a 附近」。虛線那條路徑正好落在被挖空的 b 上,第二層對它一句話都沒說。兩個備選條件各堵一邊:要嘛內層不去踩那一點,要嘛外層在那一點也守規矩(也就是 g 在 b 連續)。

例 3兩個極限都是零,合成的極限是一
但書聽起來像是技術性的細節。真的會出事嗎——出事的話,差距有多大?
  1. 取同一個函數當兩層:f(x) = g(x) = 0(x ≠ 0)、f(0) = g(0) = 1,並取 c = 0。§25-1 例 1 已經算過:lim_0 f = 0,同理 lim_0 g = 0。所以 b = 0、a = 0。
  2. 算合成。x ≠ 0 時 f(x) = 0,於是 (g ∘ f)(x) = g(0) = 1。而 x = 0 時 f(0) = 1,於是 (g ∘ f)(0) = g(1) = 0。
  3. 所以 g ∘ f 在 0 以外恆為 1,deleted limit 是 1——而定理若沒有但書,會宣稱它是 a = 0。
  4. 檢查兩個備選條件為什麼都不成立。g 在 b = 0 不連續(g(0) = 1 而 deleted limit 是 0);而 f 在 c = 0 的任何 neighborhood 內都取到值 0 = b,第二個條件也垮。兩邊同時失守,結論就真的錯了。
  5. 兩種修法各補一邊。把 g(0) 改成 0:g 變成處處為零的連續函數,合成恆為 0,與 a = 0 相符。或者把 f 換成 f(x) = x:它在 0 附近除原點外都不取值 0,於是合成在 x ≠ 0 時是 g(x) = 0,deleted limit 是 0,也相符。
  6. 最後對照 (b):這一組函數的 non-deleted 極限本來就不存在(例 1 第 2 步算過),所以 (b) 從一開始就不適用——它的乾淨是有代價的,代價就是前提比較難成立。
第 6 步是這個例子最值得帶走的一句:(a) 與 (b) 不是誰比較好,是把同一份難度放在不同的位置。(a) 的前提寬鬆,代價是結論要附但書;(b) 的結論乾淨,代價是前提裡的 non-deleted 極限本身就比較稀有。真正做題時多半用 (a),而但書幾乎總是靠「外層連續」那一邊滿足——因為實務上遇到的外層函數通常是連續的。
輸入f 的輸出g 之後 x ≠ 001 x = 010 中欄那個 0 正是外層拒絕表態的那一點

這張圖在說例 3 為什麼會出事:x ≠ 0 的每一個點都被內層送到 0,而 0 恰好就是外層 deleted limit 刻意略過的那一點。外層對它的表態是 g(0) = 1,與極限值 0 無關。於是合成在原點以外恆為 1,而定理若沒有但書會宣稱它是 0。表的第三列也說明第二個備選條件為什麼失效——內層真的踩上了那一點。

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

本篇處理極限與運算的關係。四則沒有意外:把 25.3(c) 翻成數列、套 15.6、再翻回來,一行結束,而商的條件是「極限不為零」而非「函數不取零值」。合成則需要一個二擇一的但書(25.6(a)),因為 deleted limit 依定義不看 b 那一點,而內層有可能正好把點送上去。兩個備選條件各堵一邊——外層在 b 連續,或內層不踩 b。non-deleted 版天生免疫(25.6(b)),代價是前提比較難成立。例 3 給出一組兩邊同時失守的函數,合成的極限與定理宣稱的差了整整 1。起來走動一下,下一篇要處理極限根本不存在的情形。