§27-5  均值定理的七條結論

導數恆為零的函數一定是常數嗎?導數為正一定遞增嗎?這些聽起來理所當然的事,要用什麼一次全部證出來——而導數有界又換得到什麼?

均值定理一次兌現七條結論

在高速公路上開了一小時,如果這段時間裡速度表的指針一路停在零,下交流道時車子當然還在原地。這件事不必計算也知道——可是「不必計算也知道」跟「證得出來」是兩回事:速度表讀的是每一瞬間的事,里程表讀的是一整段時間累出來的結果,中間那道橋得有人架。

再往下想幾步,同一塊儀表板還說得出更多事。兩台車並排跑,全程的速度表讀數一模一樣,那麼它們之間的距離從頭到尾不變;指針始終停在零的右邊,里程只會往前不會往後;指針有一個讀不破的上限,一小時之內能拉開的距離也就有一個上限。這些話聽起來都像廢話,可是它們全部要靠同一條已經證好的等式,才從「聽起來對」變成「確實對」。

§27-3 的 27.6 均值定理把兩端的值差換算成中間某一點的導數。本篇只做一件事:把它反覆用在同一個區間的各個小段上,看看能換回多少關於函數本身的資訊。答案是相當多——而且七次兌現用的是同一個動作。

先把那個動作講定。以下每一條的前提都一樣:a < b,f 在 J = [a, b] 上連續、在 (a, b) 內有導數。在 J 裡任取兩點 x₁ < x₂,這時 f 在 [x₁, x₂] 上仍然連續、在 (x₁, x₂) 內仍然有導數——前提是對整段講的,限制到子段上一個字都不必改,於是 27.6 對這一小段照樣適用,交出一點 c 落在 x₁ 與 x₂ 之間,使得
  f(x₂) − f(x₁) = f′(c)(x₂ − x₁)。
右邊是兩個因式的乘積,而 x₂ − x₁ > 0 已經知道了,所以這個乘積的正負與大小完全由 f′(c) 決定。七條結論都是讀這個乘積讀出來的。
x₁ c x₂ 兩端的連線 斜率 = f′(c)

這張圖在說七條結論共用的那一個動作:任意挑兩點 x₁ < x₂,只對它們夾出的那一小段用 27.6。藍線的傾斜程度由兩端的值差決定,而 27.6 保證中間有一處(紅點)的導數恰好等於它。之後每一條結論的差別,只在於已知條件讓紅點那裡的導數是零、非負、正的,還是絕對值有上限。

27.9  THEOREM
Assume a < b and let f be continuous on J = [a, b] and differentiable at every point of (a, b).
(i)  Should f′ vanish throughout (a, b), then f is constant on J.
(ii)  If g meets the same hypotheses and f′ agrees with g′ throughout (a, b), then f − g is constant on J.
(iii)  If f′ ≥ 0 throughout (a, b), then f(x₁) ≤ f(x₂) for x₁ ≤ x₂ in J.
(iv)  If f′ > 0 throughout (a, b), then f(x₁) < f(x₂) for x₁ < x₂ in J.
(v)  If some δ > 0 with a + δ ≤ b has f′ ≥ 0 throughout (a, a + δ), then a is a relative minimum point of f.
(vi)  If some δ > 0 with b − δ ≥ a has f′ ≥ 0 throughout (b − δ, b), then b is a relative maximum point of f.
(vii)  If |f′| ≤ M throughout (a, b), then f obeys the Lipschitz condition
  |f(x₁) − f(x₂)| ≤ M |x₁ − x₂|  on J.
七條看起來各講各的,其實共用同一個動作:任取兩點、只對那一段用 27.6、再讀 f′(c)(x₂ − x₁) 這個乘積。(ii) 特別要求 g 也滿足同樣的前提——不是為了對稱好看,而是因為 f − g 得先在 J 上連續、在 (a, b) 內可微,才送得進 (i)。(v) 與 (vi) 的條件都是導數非負,結論卻一個是極小、一個是極大,這不是印錯,理由留到證明裡講;而這兩條的 δ 嚴格大於零也不是排版慣例——δ 一旦容許為零,那一小截是空的,條件就沒有要求任何事,敘述當場為假:f(x) = −x 於 [0, 1] 上兩個條件都空洞成立,可是 0 不是它的 relative minimum、1 也不是它的 relative maximum。附帶的 a + δ ≤ b 與 b − δ ≥ a 則是讓那一小截整個留在 (a, b) 內,因為導數只在那裡有保證。(vii) 的結論恰好就是 §23-3 的 23.4 Lipschitz 條件(值差不超過自變數差的 M 倍),於是那個當初看起來很技術的條件終於有了來源:導數有界。
正例:f(x) = x² 在 J = [1, 2] 上,導數 2x 在 (1, 2) 內恆為正,(iv) 判它嚴格遞增;同一段上 |f′| ≤ 4,(vii) 再給出倍率 4 的 Lipschitz 條件,兩者實際代進去都對得上。反例:(iv) 反過來不成立。f(x) = x³ 在 [−1, 1] 上嚴格遞增(差商 x² + xc + c² 化簡後在 c = 0 處趨向 0),可是 f′(0) = 0,所以「嚴格遞增」推不回「導數處處為正」。七條全是單向的:導數的資訊換成值的資訊,不保證換得回來。
PROOF  1/2

先處理 (i) 到 (iv)。手上的工具只有 27.6,以及上面那句「前提限制到子段上不必改」。四條的推理長度差不多,差別在最後一行怎麼讀那個乘積。

證明計畫 · 由所求想起
(i) 所求是「任兩點的值相等」——對那兩點夾出的一段用 27.6,右邊有一個因式是零,等式立刻塌成兩個值相等。
(ii) 所求是「差是常數」——先確認 f − g 也滿足前提、且它的導數恆為零,再整個送進 (i)。
(iii)(iv) 所求是不等式——同一條等式,改讀 f′(c) 的符號;兩個正數相乘為正,非負乘正數不為負。
兩點相同的情形不必動用 27.6:等式兩邊都是零,結論自己成立。

Proof.  (i) Let x₁ < x₂ be points of J. Since f is continuous on [x₁, x₂] and has a derivative in (x₁, x₂), Theorem 27.6 gives a point c with x₁ < c < x₂ and
  f(x₂) − f(x₁) = f′(c)(x₂ − x₁).
Because a < c < b we have f′(c) = 0, so f(x₂) = f(x₁). Since this holds for every pair of points, f is constant on J.
這一步的所求:證明 J 上任兩個點的函數值相同——常數的意思就是這件事,沒有別的內容。可以只對 [x₁, x₂] 這一小段用 27.6,理由是前提會被子段繼承:f 在整個 J 上連續,當然在較短的 [x₁, x₂] 上也連續;f 在 (a, b) 內有導數,而 (x₁, x₂) 整個裝在 (a, b) 裡(x₁ 與 x₂ 都取自 J,中間的點自然離兩端更遠一點),所以那一段內也有導數。27.6 交回來的 c 落在 x₁ 與 x₂ 之間,因此也落在 (a, b) 內,前提裡「導數恆為零」這句話管得到它——這一點要點名,否則就是拿一個範圍外的點在用假設。至於 x₁ = x₂ 的情形,兩邊本來就是同一個值,不必動用定理。
(ii) Put h = f − g. For a < x < b the difference quotient of h at x is the difference of the difference quotients of f and g, so an ε/2 estimate gives h′(x) = f′(x) − g′(x) = 0. Since g is assumed to satisfy the same hypotheses as f, the function h is continuous on J and has a derivative in (a, b). Therefore part (i) applies to h, and h is constant on J.
這一步的所求:把「兩個函數的導數相同」化約成「一個函數的導數恆為零」,好接上剛證完的 (i)。要交代兩件事。第一件是前提:(i) 吃的是「在 J 上連續、在 (a, b) 內有導數」的函數,所以 g 必須也滿足同樣的前提,h = f − g 才拿得到入場的資格——只知道 g 有導數而不知道它連續是不夠的,因為 h 在端點 a、b 上的連續正是 27.6 需要的那一格。第二件是 h′ = f′ − g′ 這一步:本篇還沒有一般的求導規則,所以當場算。依 §27-1 的 27.1(導數的定義:差商與某個實數的誤差可以壓到任意小),h 在 x 的差商是
  (h(t) − h(x))/(t − x),
把 h = f − g 代進去逐項拆開,它等於 f 的差商減 g 的差商。給定 ε > 0,各自取一個 δ 讓兩個差商分別離 f′(x)、g′(x) 不到 ε/2,取兩者中較小的那個 δ,三角不等式就把 h 的差商與 f′(x) − g′(x) 的誤差壓到 ε 以內。既然假設 f′ = g′,這個數是零。
(iii) Let x₁ ≤ x₂ in J. If x₁ = x₂ the conclusion is immediate, so suppose x₁ < x₂ and take c as in (i). Since f′(c) ≥ 0 and x₂ − x₁ > 0, the product f′(c)(x₂ − x₁) is not negative. Hence f(x₂) − f(x₁) ≥ 0, that is f(x₁) ≤ f(x₂).
這一步的所求:把不等式 f(x₁) ≤ f(x₂) 兌現成一個乘積的符號。敘述允許 x₁ = x₂,這一格得先交代:兩點重合時左右兩邊是同一個數,等號成立,均值定理用不上也不需要用。剩下 x₁ < x₂ 的情形,等式與 (i) 那條一模一樣,只是右邊第一個因式的資訊換了:由於 c 落在 (a, b) 內,前提保證 f′(c) ≥ 0;第二個因式 x₂ − x₁ 是正的,因為兩點的先後已經排好。非負的數乘上正的數不會是負的,分兩格看就清楚:f′(c) 若嚴格為正,§5-2 的 5.6(c)(不等式兩邊同乘一個嚴格正數,先後不變)把 f′(c) > 0 乘上 x₂ − x₁ 得到乘積嚴格大於零;f′(c) 若恰好是零,乘積就是零。兩格都不是負的,於是左邊那個值差也不是負的。要注意結論只說「不下降」,沒說「一定上升」——導數容許等於零,函數就容許有一段是平的。
f′ = 0 值完全不動 f g 垂直間隔處處相同

這張圖在說 (i) 與 (ii) 各證出什麼畫面。左邊是 (i):導數恆為零的函數在整段上只有一個高度可待,圖形是一條水平線。右邊是 (ii):兩個函數的導數處處相同時,證出來的不是它們相等,而是上下兩條曲線的垂直間隔量到哪裡都一樣——因為它們的差是常數。兩張畫面共用同一條理由,右邊只是把左邊套在差函數上。

(iv) Let x₁ < x₂ in J and take c as before. This time f′(c) > 0 and x₂ − x₁ > 0, so the product of the two factors is strictly positive. Therefore f(x₂) − f(x₁) > 0, and f(x₁) < f(x₂).
這一步的所求與上一步只差一個等號:要的是嚴格不等式。既然前提把「導數非負」升級成「導數為正」,乘積裡的兩個因式就都是正的,正數相乘為正(同樣是 5.6(c)),值差因此嚴格大於零,上一步那個「等於零」的格子這次根本出現不了。這一格是例行核對,唯一需要留意的是敘述的取值範圍也跟著變嚴:(iii) 允許 x₁ = x₂(那時只能得到等號),(iv) 直接要求 x₁ < x₂,因為兩點重合時「嚴格小於」根本不可能成立。前提強一分,結論就強一分,敘述的適用範圍也跟著收窄一分。
f′ ≥ 0 容許一截是平的 f′ > 0 沒有一處持平

這張圖在說 (iii) 與 (iv) 的差別只在那一截紅線。左邊的函數導數非負,中段有一段水平的平台,兩端的值相等——所以 (iii) 只能寫成 ≤,改成嚴格不等式就是假的。右邊把前提收緊成導數處處為正,平台再也放不進去,不等式才升級成嚴格的。兩張圖用的是同一條等式,差別全在乘積裡第一個因式能不能等於零。

(i) 到 (iv) 都只用了一條等式,差別在於怎麼讀右邊那個乘積:是零、非負,還是嚴格為正。∎
—— 中場小憩 ——

前四條處理的是「整段上的比較」。接下來三條換一個問法:只知道函數在某一個端點旁邊的一小截上的導數,或只知道導數的絕對值有上限,各能換到什麼?先動一動手指再往下讀。

PROOF  2/2

剩下 (v)、(vi)、(vii)。前兩條不必回頭用 27.6——(iii) 已經把「導數非負」翻譯成「不下降」,這裡只要把它用在貼著端點的那一小截上,再靠端點的連續把結論延伸到端點本身。(vii) 則是回到那條等式,兩邊取絕對值。動手之前先確認一件事:(v) 與 (vi) 的 δ 是嚴格大於零的,那一小截才真的框得出一段區間;δ = 0 時它是空的,「那一截上導數非負」就成了一句什麼也沒要求的話,任何往下走的函數都通過它。

證明計畫 · 由所求想起
(v) 所求是「a 附近的值都不小於 f(a)」——對每個落在那一小截裡的 x,把 (iii) 用在 [a, x] 上,直接得到 f(a) ≤ f(x)。
(vi) 所求是「b 附近的值都不大於 f(b)」——同一招,只是這回那一小截在 b 的左邊,(iii) 要用在 [x, b] 上。方向會翻過來,是因為端點站的位置換了邊。
兩條都要先把前提給的那個正的 δ 拿到手,那一小截裡才有點可挑。
(vii) 所求是一個上界——等式兩邊取絕對值,乘積拆成兩個絕對值相乘,再把 |f′(c)| 換成 M。

(v) By hypothesis there is a δ > 0 with a + δ ≤ b such that f′ ≥ 0 on (a, a + δ). Let x satisfy a < x < a + δ. Then f is continuous on [a, x] and f′ ≥ 0 on (a, x), so part (iii) applied to this interval gives f(a) ≤ f(x). Since the inequality also holds at x = a, we get f(a) ≤ f(x) for every x ∈ J with |x − a| < δ. Hence a is a relative minimum point.
這一步的所求:交出 §27-2 的 relative minimum 定義(存在一個 δ,使得定義域中離 a 不到 δ 的每個點的值都不小於 f(a))所要求的那個 δ;而前提已經送了一個現成的過來,直接用它就好。真正的推理只有一行:[a, x] 是「導數非負」那一截再加上左端點 a,(iii) 在這一段上成立,讀出來就是最左邊的值最小。這裡用得到 f 在端點 a 的連續——(iii) 要求的是閉區間上的連續,而導數的假設只給到開區間 (a, a + δ),少了端點連續,開區間上的「不下降」延伸不到 a 這一點,結論就落空。前提裡的兩個附帶條件也各有用處:δ > 0 讓 (a, a + δ) 真的裝得下點——若容許 δ = 0,這一截是空集,「其上導數非負」不要求任何事,而 f(x) = −x 於 [0, 1] 立刻反證:它通過這句空話,可是 0 顯然不是它的 relative minimum;a + δ ≤ b 則讓那一截整個留在 (a, b) 內,導數在那裡才有定義。
(vi) Similarly, take a δ > 0 with b − δ ≥ a as in the hypothesis, and let x satisfy b − δ < x < b. Then f is continuous on [x, b] and f′ ≥ 0 on (x, b), so part (iii) applied to this interval gives f(x) ≤ f(b). Because the same inequality is trivial at x = b, the point b is a relative maximum point of f.
這一步的所求:說明為什麼同樣是「導數非負」,這一條得到的卻是極大。關鍵不在導數的符號,而在端點站在那一小截的哪一邊:(v) 裡那一截是 (a, a + δ),a 是它的左端,函數在這一段上不下降,所以左端的值是最小的;(vi) 裡那一截是 (b − δ, b),b 是它的右端,函數在這一段上同樣不下降,所以右端的值反而是最大的。同一句「往上走」,站在起點的人看到自己最低,站在終點的人看到自己最高——條件相同而結論相反,原因全在位置。這裡同樣要用到 f 在端點 b 的連續,才能把 (iii) 用在含 b 的閉區間 [x, b] 上。
a a + δ 左端最低 b − δ b 右端最高

這張圖在證 (v) 與 (vi) 為什麼結論相反。兩段曲線的走勢完全一樣——都是不下降,兩條前提也都寫著導數非負。差別只有一件事:左圖標出的端點 a 位在那一小截的起點,往右看全是更高的值,所以它是極小;右圖標出的端點 b 位在那一小截的終點,往左看全是更低的值,所以它是極大。空心圓是那一截的另一端,不是結論所在。

(vii) Let x₁, x₂ be points of J. If they coincide, both sides of the asserted inequality are zero. Otherwise we may suppose x₁ < x₂; taking c as in (i) and passing to absolute values, we obtain
  |f(x₂) − f(x₁)| = |f′(c)| · |x₂ − x₁|.
Since |f′(c)| ≤ M, it follows that
  |f(x₂) − f(x₁)| ≤ M |x₂ − x₁|.
Both sides are unchanged when x₁ and x₂ are interchanged, so the Lipschitz condition holds throughout J.
這一步的所求:一個對任意兩點都成立的上界,而且倍率不准隨兩點的位置改變。做法是回到 (i) 那條等式,兩邊取絕對值——絕對值把乘積拆成兩個絕對值相乘(§5-4 的 5.11 絕對值的工作性質,其中一條正是 |ab| = |a||b|),於是右邊成了 |f′(c)| 乘上 |x₂ − x₁|。整條論證裡唯一用到假設的地方就是把 |f′(c)| 放大成 M:c 到底在哪裡我們並不知道,也不需要知道,因為 M 是對整個 (a, b) 通用的上界——這正是倍率不隨位置改變的來源。兩點重合時左右兩邊都是零,不等式自動成立,這一格是例行核對;而交換兩點只把兩個絕對值裡的東西各變一次號,值不變,所以不必另外討論 x₂ < x₁ 的情形。得到的正是 23.4 所寫的 Lipschitz 條件。
x₁ 斜率 M 斜率 −M 圖形出不了這個角

這張圖在說 (vii) 買到了什麼。從圖形上任何一點出發,畫兩條斜率為 M 與 −M 的直線,它們夾出一個開口向右的角。Lipschitz 條件的內容就是:函數圖形永遠走不出這個角——離開 x₁ 越遠,允許的高度差才越大,而放寬的速度不會超過 M。這個角在圖形上的每一點都畫得出來,因為 M 對整段通用。

單側的一小截導數資訊管得住端點是不是極值,導數的絕對值上界則管得住整段的值差。∎
例 1同一個函數,換一段區間就換一個答案
(vii) 說導數有界就給得出 Lipschitz 條件。那導數無界的時候,Lipschitz 條件是「證不出來」還是「真的不成立」?
  1. 取 f(x) = √x。§27-1 例 2 已經從定義算過:c > 0 時 f′(c) = 1/(2√c)。這個式子在 c 變大時變小,所以只要區間離零夠遠,導數就有上界。
  2. 先看 J = [1, 4]。這一段上 √x 介於 1 與 2 之間,於是 f′ 落在 ¼ 與 ½ 之間,取 M = ½ 就有 |f′| ≤ M。(vii) 直接交出
      |√x₁ − √x₂| ≤ ½ |x₁ − x₂|。
    拿兩端實測:|√1 − √4| = 1,而 ½ · 3 = 1.5,確實撐得住。
  3. 換到 J = [0, 1]。x 靠近零時 1/(2√x) 要多大有多大,沒有任何 M 蓋得住它,(vii) 的前提不成立。可是前提不成立只代表這條定理幫不上忙,不代表結論是假的——得直接驗。
  4. 直接驗給定的倍率會怎麼垮。設有人聲稱某個 M > 0 可用。取 x₂ = 0 與 x₁ = 1/(M + 1)²,這個數落在 (0, 1] 內(因為 M + 1 ≥ 1),是合法的取點。這時
      |√x₁ − √x₂| / |x₁ − x₂| = 1/√x₁ = M + 1,
    比 M 還大。任何 M 都被自己指定的那個點推翻,所以 √x 在 [0, 1] 上不滿足任何倍率的 Lipschitz 條件。
  5. 它卻仍然均勻連續:[0, 1] 是 compact,而 √x 在其上連續,§23-2 的 23.3 均勻連續定理(compact 集合上的連續函數必定均勻連續)直接給出結論。反過來,§23-3 的引理「Lipschitz 蘊涵均勻連續,反之不然」說滿足 Lipschitz 條件的函數一定均勻連續——而這裡剛好把「反之不然」那半句補上了一個見證。
兩件事合起來就是一個現成的答案:Lipschitz 嚴格強於均勻連續。√x 在 [0, 1] 上均勻連續卻不是 Lipschitz,所以那個蘊涵關係反過來不成立。而同一個函數換到 [1, 4] 上就兩者都是——Lipschitz 與否是函數連同區間一起決定的事,不是函數自己的標籤。
0 1 4 這一頭斜率沒有上限 斜率 ≤ ½

這張圖在說例 1 的兩個答案為什麼不同。右半段(1 到 4)的曲線平緩,任兩點的連線都比 ½ 平,(vii) 於是給得出倍率。左端貼著原點的那一小截(紅色)才是問題所在:越靠近零,連線越陡,而且陡得沒有上限——任何預先講好的倍率都會被更靠近零的一對點推翻。曲線在那裡仍然連續,甚至均勻連續,只是不肯接受任何固定的倍率。

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

本篇把 27.6 反覆用在子區間上,換回七條關於函數本身的結論:導數恆為零就是常數、導數相同就差一個常數、導數的符號決定不下降與嚴格遞增、端點旁一小截的導數決定端點是極小還是極大、導數的絕對值有界就給出 Lipschitz 條件。例 1 用 √x 標出了最後那一條的界線:導數一無界,倍率就撐不住,可是均勻連續還在。本節到此收工——起身走幾步、伸展一下肩膀,喝點水再回來。(順帶一提:導數恆為零的函數大概是最好相處的函數,你問它今天有什麼變化,它每次的回答都一樣。)

下一幕預告

回頭看整節,會發現所有東西都從同一個入口進來。導數的定義給出一個點上的量,Rolle 定理把「兩端一樣高」換成「中間有一處是平的」,均值定理再把它推廣成「兩端的值差等於中間某一處的變化率乘上跨距」。之後不論是柯西版、Darboux 的中間值性質,還是本篇的七條結論,用的都是同一條等式或它的近親。把兩端的資訊與中間一點的導數綁在一起,這就是整節唯一的技術。

下一節把這個技術拿去做事。第一件是找根:函數的零點在哪裡不容易直接看出來,可是「兩個零點之間必有一處導數為零」這種話反過來用,就能替根的個數與位置畫出範圍。第二件是近似與誤差:既然值差等於某一點的導數乘上跨距,只要知道導數的變動範圍,就算不出那一點是誰也估得出值差的大小,這正是實用計算的基本工具。第三件是分子分母同時趨向零或同時變得很大的那種極限——這類式子沒辦法直接代入,而柯西均值定理提供了一條把它化成導數之比的規則。

再往後還有三件更遠的事:一列函數各自可微時,它們的極限函數會不會也可微、導數能不能逐項取極限;一個函數能不能用多項式逼近到任意指定的階數,而餘下的誤差有沒有一個寫得出來的形式;以及圖形「向上彎」的那一類函數有什麼專屬的性質。

另外記一筆本節留下的帳。Darboux 定理說導數漏不掉中間的值,可是它並沒有說導數一定連續——確實有函數在每一點都可微,而它的導數在某一點不連續。要把這樣的函數寫出來,得先備齊乘積與合成的求導規則,再借用一個振盪不停的函數當零件,所以這個見證只能等工具齊了再補。它會說明一件事:可微比連續強,但強得沒有想像中那麼多。