§25-2  三種說法與連續

抽象的定義能不能翻成可以動筆的形式?翻好之後回頭看:連續與極限到底誰包含誰,而兩者的差別落在哪一個字上?

同一件事的三種說法

量體溫有三種問法。可以看溫度計的讀數落在哪個範圍;可以規定「誤差不超過 0.1 度」再問要量多準;也可以連續量十次,看數字往哪裡跑。三種問法測的是同一件事,可是動筆時的難易差很多。

上一篇的定義用的是 neighborhood,概念乾淨可是不好算。本篇把它翻成 ε-δ 與數列兩種版本——與 §20-2 的 20.2 對連續做的事完全平行,差別只在多了一句「x ≠ c」。

翻完之後,本篇要回答一個更有意思的問題:連續與極限到底是什麼關係?答案是連續恰好就是「極限存在而且落在該取的位置」。

25.3  THEOREM
The following statements about the deleted limit are equivalent.
(a)  b = lim_c f exists.
(b)  For each ε > 0 there is δ > 0 such that ‖f(x) − b‖ < ε whenever x ∈ D and 0 < ‖x − c‖ < δ.
(c)  For every sequence (xₙ) in D with xₙ ≠ c and c = lim(xₙ), we have b = lim(f(xₙ)).
(b) 是可以動筆的版本,那個 0 < ‖x − c‖ 就是「不看 c 自己」的具體寫法。(c) 把檢查交給數列,而它最好用的方向是否定——找出兩條都跑向 c 而像跑向不同地方的數列,極限就被判掉了。
正例:f(x) = (x² − 1)/(x − 1)、c = 1、b = 2。用 (b):x ≠ 1 時 |f(x) − 2| = |x − 1|,取 δ = ε 即可。反例:(c) 裡的「每一條」不能改成「某一條」——§25-1 例 1 第 3 步那個左右各走各的函數,沿著數列 (1/n) 走時像恆為 1,看起來很乖,可是極限並不存在。
PROOF

走 (a) ⟹ (b) ⟹ (c) ⟹ (b) 的路線,最後由 (b) 回到 (a)。三步都與 20.2 的證明同構,這裡只點出多那一句「x ≠ c」造成的差別。

證明計畫 · 由所求想起
(a)⟹(b):所求是一個半徑。把 neighborhood 換成球即可——V 取成半徑 ε 的球,交出來的 U 裡面藏著一顆以 c 為心的球,它的半徑就是 δ。
(b)⟹(c):所求是像數列收斂。數列跑進半徑 δ 之後,(b) 逐項套用。
(c)⟹(b):走反面。(b) 失敗表示有一個 ε₀ 對每個 δ 都失敗;取 δ = 1/n 收集反例點,正好造出一條否證 (c) 的數列。

Proof.  (a) ⟹ (b): given ε > 0, apply the definition with V the ball of radius ε about b. The resulting neighborhood U of c contains a ball of radius δ > 0 about c, and this δ serves.
(b) ⟹ (c): let (xₙ) be as in (c) and let ε > 0. Take δ from (b) and then K with ‖xₙ − c‖ < δ for n ≥ K. Since xₙ ≠ c, we get 0 < ‖xₙ − c‖ < δ and hence ‖f(xₙ) − b‖ < ε.
這兩格都是翻譯,可是各有一個字不能漏。第一格靠 9.7:neighborhood 依定義藏著一個含該點的 open set,於是藏得住一顆球——這是「概念版」換成「可計算版」的唯一橋樑。第二格則靠條件裡的 xₙ ≠ c:少了它,0 < ‖xₙ − c‖ 這一半就不成立,(b) 對那一項無話可說。這正是 deleted 版的數列條件必須加「xₙ ≠ c」的原因。
(c) ⟹ (b): suppose (b) fails. Then there is ε₀ > 0 such that for each n the choice δ = 1/n fails, giving xₙ ∈ D with 0 < ‖xₙ − c‖ < 1/n and ‖f(xₙ) − b‖ ≥ ε₀. Then xₙ ≠ c and xₙ → c, while (f(xₙ)) does not converge to b; so (c) fails. Finally (b) ⟹ (a): a ball is a neighborhood, and conversely every neighborhood of b contains a ball about b by 9.7, so the two formulations match on both sides.
這一步的所求:把「某個 ε₀ 永遠失敗」兌現成一條具體的數列。取樣的半徑用 1/n 而不是任意的 δ,是為了讓收集到的點自動排成一條收斂到 c 的數列——這與 §23-1 的 23.2 造反例數列的手法一模一樣。要留意 0 < ‖xₙ − c‖ 保證了 xₙ ≠ c,所以造出來的數列符合 (c) 的前提,確實否證得了它。
概念版、可計算版、數列版三者同一。∎
c 數列版:每一條都得跑進同一段 半徑 δ 要檢查的範圍

這張圖在說 25.3 三種說法量的是同一個範圍:ε-δ 版把它寫成兩條虛線之間、而且挖掉中心那一點(空心圈)的兩段粗線;數列版則把同一件事說成「任何一條跑向 c 而不踩上 c 的點列,遲早整條落在那兩段裡」。挖掉中心正是 deleted 版與 non-deleted 版的唯一分野。

25.4  THEOREM
The corresponding statements about the non-deleted limit are equivalent: b = Lim_c f exists; for each ε > 0 there is δ > 0 with ‖f(x) − b‖ < ε whenever x ∈ D and ‖x − c‖ < δ; and b = lim(f(xₙ)) for every sequence (xₙ) in D with c = lim(xₙ).
把 25.3 的每一處「x ≠ c」與「xₙ ≠ c」刪掉就是這一條。刪掉之後 (b) 的條件從 0 < ‖x − c‖ < δ 變成 ‖x − c‖ < δ,於是 x = c 也被要求,這正是兩個版本唯一的分野。
正例:f(x) = x² 在 c = 2——數列版說「每一條跑向 2 的數列(可以有項等於 2)的像都跑向 4」,確實成立。反例:§25-1 例 1 第 2 步那個函數在 c = 0——取恆為 0 的數列,像恆為 1;取 (1/n),像恆為 0。兩條的極限不同,數列版當場判掉。
PROOF
Proof.  Delete every occurrence of the clauses x ≠ c and xₙ ≠ c from the proof of 25.3. Each step remains valid: the only place they were used was to license the strict inequality 0 < ‖x − c‖, which is no longer required.
這一格是例行核對,可是值得確認一次「刪掉之後沒有東西垮掉」。三個方向裡只有 (b)⟹(c) 真的用過那一句,而它用它的目的是湊出 0 < ‖xₙ − c‖;新版的 (b) 不要求這一半,所以刪掉反而更順。(c)⟹(b) 那裡造數列時不必再避開 c,收集到的點照樣收斂到 c。
兩個版本的三種說法逐句對應。∎
25.5  THEOREM
Let c be a cluster point of D that belongs to D. Then the following are equivalent.
(a)  f is continuous at c.
(b)  lim_c f exists and equals f(c).
(c)  Lim_c f exists.
連續 = 極限存在而且落在該取的位置。(c) 特別值得玩味:non-deleted 版只要「存在」就夠了,不必額外要求它等於 f(c)——因為 c 本身被算進來,它的值自動被鎖在極限上。這也解釋了為什麼許多文獻直接用 non-deleted 極限來定義連續。
正例:f(x) = x² 在 c = 2——三者同時成立。反例:§25-1 例 1 第 2 步那個函數在 c = 0——(b) 失敗(deleted limit 是 0 而 f(0) = 1)、(c) 失敗(non-deleted limit 不存在)、(a) 也失敗。三個一起垮,正是等價的意思。
PROOF

走 (a) ⟹ (c) ⟹ (b) ⟹ (a) 一圈。前提 c ∈ D 在整段裡反覆用到——沒有它,f(c) 根本不存在。

證明計畫 · 由所求想起
(a)⟹(c):連續的敘述逐字就是 non-deleted 極限等於 f(c) 的敘述,直接讀出來即可。
(c)⟹(b):所求是把那個「存在」的極限值釘在 f(c) 上。關鍵是 c 自己也在被檢查的範圍內——於是 f(c) 落在每一個 V 裡,而任意小的 V 只框得住一個點。再用 25.2(b) 換成 deleted 版。
(b)⟹(a):deleted 版只漏了 x = c 那一格,而那一格自動成立。

Proof.  (a) ⟹ (c): continuity at c says that for every neighborhood V of f(c) there is a neighborhood U of c with f(x) ∈ V for all x ∈ U ∩ D. That is precisely the statement Lim_c f = f(c).
這一格是逐字對讀。把 20.1 的敘述與 25.1(ii) 的敘述並排,會發現兩者一字不差,只差前者把 b 指定成 f(c)。所以 (a) 其實比 (c) 多說了一句「極限值恰是 f(c)」,而下一步會說明那一句是白送的。
(c) ⟹ (b): let b = Lim_c f. For every neighborhood V of b the corresponding U contains c, and c ∈ D, so f(c) ∈ V. As V may be taken arbitrarily small, f(c) = b. By 25.2(b) the deleted limit also exists and equals b = f(c).
這一步是全證明的重點。f(c) 落在每一個 V 裡,而 V 可以取成任意小的球——若 f(c) ≠ b,取半徑小於兩者距離的球就把 f(c) 排除在外,矛盾。這正是 non-deleted 版「只要存在就夠」的機制:c 在檢查範圍內,它的值就被綁在極限上,沒有第二種可能。
(b) ⟹ (a): let V be a neighborhood of f(c) and take U from the deleted limit, so that f(x) ∈ V for x ∈ U ∩ D with x ≠ c. For x = c we have f(c) ∈ V because V is a neighborhood of f(c). Hence f(x) ∈ V for every x ∈ U ∩ D, which is continuity at c.
這一格是邊界簿記,可是它說明了 (b) 為什麼要多寫「而且等於 f(c)」。補上 x = c 那一格時,用的正是「極限值就是 f(c)」這個假設——若 deleted limit 存在卻等於別的數,這一格就補不起來,§25-1 例 1 第 2 步就是現成的失敗案例。
連續就是極限存在而且落在該取的位置。∎
在 c 連續 Lim 存在 lim = f(c) 逐字對讀 c 在檢查範圍內,值被綁住 補上 x = c 那一格

這張圖在說 25.5 的三步環路以及每一步的工作量:右上那一步是逐字對讀(連續的定義本來就是 non-deleted 極限的定義);下方那一步是真正的內容——c 自己在檢查範圍內,於是 f(c) 被鎖在極限值上,沒有第二種可能;左上那一步是補一格邊界,而補得起來正是因為 deleted 版的極限值已經指定成 f(c)。

例 2數列版動手:兩條路走出兩個答案
25.3(c) 最好用的方向是否定。實際拿它判掉兩個極限,看看要怎麼挑數列。
  1. 一維的情形:h(x) = x/|x| 於 D = {x ∈ ℝ : x ≠ 0},c = 0。取 xₙ = 1/n:像恆為 1。取 yₙ = −1/n:像恆為 −1。兩條都跑向 0 而且都不等於 0,可是像的極限不同,25.3(c) 判定 deleted limit 不存在。
  2. 二維的情形:F(x, y) = xy/(x² + y²) 於 D = {(x, y) ≠ (0, 0)},c = (0, 0)。沿著橫軸走:取 (1/n, 0),像恆為 0。沿著對角線走:取 (1/n, 1/n),像是
      (1/n²) / (2/n²) = ½,恆為 ½。
  3. 兩條數列都跑向原點,像卻分別跑向 0 與 ½,所以 deleted limit 不存在。要留意這個函數沿著每一條通過原點的直線走都有極限——只是那些極限彼此不同,所以「沿著某些路徑有極限」完全不能當成證據。
  4. 反過來用(肯定方向):G(x, y) = x²y/(x² + y²) 在原點的 deleted limit 是 0。這次不能靠挑數列,得用 (b) 動筆估計:x² ≤ x² + y² 給
      |G(x, y)| ≤ |y| ≤ ‖(x, y)‖,
    所以取 δ = ε 即可。
第 3 步與第 4 步的對照就是這三個等價說法的分工:要否定,用數列版——挑兩條路走出不同答案,一行結案;要肯定,用 ε-δ 版——因為數列版的「每一條」永遠檢查不完。第 2 步那個函數也提醒:多變數的極限不能靠逐條路徑檢查,路徑有無限多種走法。
沿橫軸:像恆為 0 沿對角線:像恆為 ½ 兩條都跑向原點

這張圖在說例 2 第 2 步怎麼判掉一個二維的極限:兩列點都朝原點靠攏,可是像沿著橫軸恆為 0、沿著對角線恆為 ½。25.3(c) 要求「每一條」都給出同一個答案,找到兩條答案不同的就結案。反過來要肯定極限存在時這一招失效——通過原點的路徑有無限多種走法,檢查不完,只能回頭做 ε-δ 的估計。

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

本篇把上一篇的定義翻成兩種可以動筆的版本:ε-δ 版(25.3(b),那個 0 < ‖x − c‖ 就是「不看 c 自己」的寫法)與數列版(25.3(c)),non-deleted 版逐句對應(25.4)。25.5 則把連續定位清楚——它恰好是「極限存在而且落在該取的位置」,而 non-deleted 版連後半句都不必說,因為 c 在檢查範圍內就把值鎖住了。例 2 示範兩種方向的分工:否定用數列、肯定用估計。喝口水、走一走,下一篇看極限怎麼跟四則與合成打交道,而合成那裡藏著一個意外。