§28-1  求導的四則

兩個函數各自的導數已知時,它們的和、積、商的導數能不能直接寫出來?加法看起來理所當然,可是乘法為什麼不是兩個導數相乘——而除法又需要額外擔心什麼?

把求導變成可以套用的規則

早餐店的蛋餅一份 45 元,這個月賣掉 3000 份。老闆想估下個月的營收會多多少,於是量了兩件事:單價每個月漲 1 元,份數每個月多 60 份。他把這兩個數字相乘,得到 60 元——實際結帳出來卻多了 5760 元,差了將近一百倍。

錯在哪裡?營收是單價乘份數,而多漲的那 1 元要乘上整整三千份,不是乘上「多賣的 60 份」;同樣地,多賣的 60 份也要乘上當時的單價 45 元。兩筆加起來是 1 × 3000 + 45 × 60 = 5700,再補上兩個變動相乘的那一小塊 1 × 60 = 60,正好是 5760——而那一小塊比另外兩筆小了將近兩個數量級。兩個東西同時在變的時候,每一邊的變動都要乘上另一邊當時的整個大小,不是乘上另一邊的變動。

§27-1 的 27.1 把「變化多快」寫成了一條逐項可以驗證的定義,可是它每用一次都要重新挑一個 δ、重新估一輪誤差——§27-1 例 1 光是算一個 x² 就走了五個步驟。函數一多,這樣一個一個從頭算下去不是辦法。蛋餅那筆帳其實已經指出了出路:把新函數的變動換算成舊函數的變動,再補上該補的那幾筆。下面就把這個換算做到精確。

f(c)g(c) f 的變動 g 的變動 小角落 g 這一邊 f 兩條長帶子才是主要的增量

這張圖在說為什麼變化率不能逐項相乘:把兩個量看成長方形的兩邊,面積的增量分成三塊——上方那條是 f 的變動乘上整個 g,右方那條是 g 的變動乘上整個 f,右上角那一小塊才是兩個變動相乘。「兩個變化率相乘」算的只有那個小角落,而兩邊的變動越小,小角落相對於兩條長帶子就越不重要。

先把場地講定。以下 f 與 g 都定義在同一個 D ⊆ ℝ 上,c ∈ D 而且是 D 的 cluster point(§10-2 的 10.3:c 的每個 neighborhood 裡都還有 D 中異於 c 的點)——這正是 27.1 問得出導數所需的兩個前提。f + g、f − g、fg 的定義域跟著也是 D;f/g 就不同了,它只在 g 不為零的點上有值,定義域要另外算。兩個函數本來的定義域不一樣時,先把它們都限制到交集上再談,可是那時得重新確認 c 仍是交集的 cluster point,否則 27.1 連問都問不出來。
THEOREM  ·  ALGEBRA OF DERIVATIVES
Let f and g both have derivatives at c. Then f + g, f − g and fg have derivatives at c, and
  (f ± g)′(c) = f′(c) ± g′(c)
together with
  (fg)′(c) = f′(c)g(c) + f(c)g′(c).
If in addition g(c) ≠ 0, then f/g is defined near c, has a derivative at c, and
  (f/g)′(c) = [f′(c)g(c) − f(c)g′(c)]/g(c)².
四條規則的形狀值得分開看。和與差是逐項的:兩個變化率直接相加或相減,一點修正都不必。乘積不是——(fg)′(c) 不等於 f′(c)g′(c),而是兩截相加,每一截讓其中一個函數變動、另一個維持它在 c 的整個大小,正是長方形那兩條長帶子。商那一條多寫了一個前提 g(c) ≠ 0,而它買到的不只是「這一點的分母不為零」:由 §27-1 的 27.2(有導數的點必定連續),g 在 c 連續,於是 g 在 c 的一整個 neighborhood 內都不為零,f/g 在 c 附近才真的有值可寫;還要確認 c 仍是 f/g 定義域的 cluster point,27.1 才套得上去。這兩件事都不是額外假設,是 g(c) ≠ 0 加上連續一起算出來的。§20-5 的 20.6(連續在和、差、積、商之下保得住)對商也掛著同一個條件,理由一模一樣。
正例:f(x) = x²、g(x) = x + 1、c = 2。f′(2) = 4(§27-1 例 1 算過 x² 的導數是 2c)、g′(2) = 1,乘積律給 (fg)′(2) = 4·3 + 4·1 = 16。展開對帳:fg(x) = x³ + x²,導數是 3x² + 2x,代 x = 2 得 12 + 4 = 16,兩邊一致。反例:把乘積律誤寫成 f′(2)g′(2) = 4,與 16 差得很遠。更極端的一組:f(x) = x、g(x) = 1,此時 f′g′ = 1·0 = 0,可是 fg(x) = x 的導數是 1——誤寫的版本會得出 1 = 0。
PROOF  1/2 · 和、差與乘積

三條結論共用同一個工具:27.1 說「某個實數是導數」的意思,是新函數的差商在 c 附近與那個數相差夠少。所以每一條都是先寫出新函數的差商,再把它與兩個已知的差商接起來。和與差接得很直接;乘積接不起來——fg 的差商既不是兩個差商的和也不是它們的積,這一步得動一次手腳。

證明計畫 · 由所求想起
所求:三個新函數各自的差商,在 c 附近與一個指定的數相差夠少。
第一步(和與差):新差商正好是兩個舊差商相加或相減,於是把對方給的誤差分成兩半,兩邊各交一半。
第二步(乘積):分子上兩個因子同時換了值,先加一項再減同一項,拆成兩截,每一截只剩一個因子在動。
第三步:兩截各含一個舊差商,旁邊乘著的因子得收得住——其中一截乘的是 g 在動點上的值,靠 27.2 的可微必連續把它壓回 g(c) 附近。
第四步:三筆誤差各分到三分之一,加起來交差。

Proof.  Throughout, t ∈ D and t ≠ c. Since
  ((f ± g)(t) − (f ± g)(c))/(t − c)
  = (f(t) − f(c))/(t − c) ± (g(t) − g(c))/(t − c),
let ε > 0 be given and let δ be the smaller of the two numbers that 27.1 supplies for f and for g at the error ε/2. Because |A ± B| ≤ |A| + |B| by 5.12, every such t with |t − c| < δ makes the displayed quotient differ from f′(c) ± g′(c) by less than ε. Hence (f ± g)′(c) = f′(c) ± g′(c).
這一步的所求:讓和與差的差商,與 f′(c) ± g′(c) 這個數相差夠少。之所以逐項拆得開,是因為三個差商的分母是同一個 t − c:分子上 (f ± g)(t) − (f ± g)(c) 本來就等於 f(t) − f(c) 加或減 g(t) − g(c),除下去自然成了兩個舊差商。誤差為什麼分成兩半?因為 f 那一邊與 g 那一邊各自貢獻一筆誤差,各壓到 ε/2 之後相加才不超過 ε;而 δ 取兩者中較小的那個,是為了讓兩條保證在同一段範圍內同時有效。由 §5-4 的 5.12 三角不等式(兩個數相加或相減之後的絕對值,不超過各自絕對值的和),兩筆誤差合起來仍在 ε 以內。整段推理對加號與減號一字不改,所以差的那一條不必另外走一遍。
For the product, add and subtract f(c)g(t) in the numerator:
  f(t)g(t) − f(c)g(c)
  = (f(t) − f(c))g(t) + f(c)(g(t) − g(c)).
Dividing by t − c gives
  (f(t)g(t) − f(c)g(c))/(t − c)
  = ((f(t) − f(c))/(t − c))·g(t) + f(c)·((g(t) − g(c))/(t − c)).
這一步的所求:把乘積的差商,換成兩個已經知道極限的舊差商。直接看 f(t)g(t) − f(c)g(c) 拆不開,因為兩個因子同時換了值,沒有一個公因式可以提。補上 f(c)g(t) 再減掉同一個 f(c)g(t),總值一分不差,卻讓每一截只剩一個因子在動:前一截是 f 的變動乘上 g 在動點的值,後一截是 f 在 c 的值乘上 g 的變動。這正是開頭那筆帳的算法——多漲的單價乘上當時的份數,加上當時的單價乘上多賣的份數,而那個小角落已經被吸收進前一截裡(前一截乘的是 g(t) 而不是 g(c))。
f(c)g(c) 第一截 第二截 f(c)(g(t) − g(c)) 虛線框 = f(c)g(t) 第一截 = 整塊減去虛線框

這張圖在證乘積那一步的拆法為什麼合法:虛線框是加進去又減掉的 f(c)g(t)。整塊新面積減去虛線框,剩下上方一整條,就是 (f(t) − f(c))g(t);虛線框再減去裡面的舊面積,剩下右方一直條,就是 f(c)(g(t) − g(c))。兩截合起來剛好是總增量,而上一張圖的小角落已經併進上方那一條裡——差別只在它乘的是 g(t) 而不是 g(c)。

Since g′(c) exists, 27.2 makes g continuous at c. Applying continuity with the error 1 yields δ₁ > 0 such that every t ∈ D with |t − c| < δ₁ satisfies |g(t) − g(c)| < 1, so that |g(t)| < |g(c)| + 1 by 5.12.
這一步的所求:一個與待證誤差無關的固定上界,免得 g(t) 這個因子在極限過程中失控。g 的連續是白拿的——27.2 說有導數的點必定連續,而 g 在 c 有導數是定理的前提,所以不必另外檢查。誤差挑成常數 1 而不是待證的 ε,是為了讓上界固定下來:這個上界等一下要乘上另一個估計,若它自己跟著 ε 一起縮,估計就會繞回原地。三角不等式再把「離 g(c) 不到 1」翻成「絕對值不超過 |g(c)| + 1」。
For t ∈ D with 0 < |t − c| < δ₁, the product quotient differs from f′(c)g(c) + f(c)g′(c) by
  ((f(t) − f(c))/(t − c) − f′(c))·g(t)
  + f′(c)·(g(t) − g(c))
  + f(c)·((g(t) − g(c))/(t − c) − g′(c)).
這一步的所求:把「差商與目標的差」改寫成三筆各自壓得小的量。做法是逐項對齊。前一個 pline 已經把差商寫成「f 的差商乘 g(t)」加上「f(c) 乘 g 的差商」;現在把第一截裡的 f 的差商換成「它與 f′(c) 的差」,多扣掉的 f′(c)g(t) 補回來,而目標裡本來就有一個 f′(c)g(c),兩者相減剛好留下第二筆 f′(c)(g(t) − g(c));第二截同樣換成「它與 g′(c) 的差」,補回來的 f(c)g′(c) 與目標裡的那一項對消。展開之後每一項都對得上,這是例行核對。三筆的分工很清楚:第一筆與第三筆各裝一個差商的誤差,第二筆裝的是 g 的值靠近 g(c) 的程度。
Let ε > 0 be given. By 27.1 applied to f and to g, and by the continuity of g at c, choose δ ≤ δ₁ so small that these t satisfy
  |(f(t) − f(c))/(t − c) − f′(c)| < ε/(3(|g(c)| + 1)),
  |g(t) − g(c)| < ε/(3(|f′(c)| + 1)),
  |(g(t) − g(c))/(t − c) − g′(c)| < ε/(3(|f(c)| + 1)).
Since |g(t)| < |g(c)| + 1, the three terms are then each at most ε/3 and their sum is less than ε. Therefore (fg)′(c) = f′(c)g(c) + f(c)g′(c).
這一步的所求:把三筆量各壓到 ε/3 以下。每一筆都是「一個可以任意小的量」乘上「一個有上界的量」,所以只要把可以任意小的那一半要求得夠嚴,乘積就落得進 ε/3——第一筆乘的上界是 |g(c)| + 1(前一步剛拿到的),第二筆乘的是 |f′(c)|,第三筆乘的是 |f(c)|。三個分母都寫成「絕對值加一」而不是絕對值本身,是因為 g(c)、f′(c)、f(c) 都可以是零,除以零這一格必須事先避開;多出來的那個 1 讓分母永遠是正數,而估計一點也沒有放鬆。δ 取 δ₁ 與三個要求各自的那個數當中最小的,四條保證才同時有效,這是邊界簿記。
和、差與乘積這三條到此證完,商那一條的前提還得先清出來,留給下一張卡。∎
PROOF  2/2 · 商

商法則比前三條多一道手續:除法要有意義。有兩件事得先交代——分母在 c 附近都不為零,否則 f/g 在 c 附近寫不出值;以及 c 仍是 f/g 定義域的 cluster point,否則 27.1 的第二個前提落空,導數問出來也不唯一(§27-1 的 27.1 的反例正是這一格)。兩件都不是額外假設:它們由 g(c) ≠ 0 加上 27.2 給的連續一起算得出來,所以證明的前兩步就是把它們算出來。

證明計畫 · 由所求想起
所求:f/g 的差商與 [f′(c)g(c) − f(c)g′(c)]/g(c)² 相差夠少——可是在寫下這個差商之前,得先確定它每一格都寫得出來。
第一步:用 27.2 的連續把 g 的值鎖在離 g(c) 不到一半的範圍內,分母於是不為零。
第二步:確認 c 仍是新定義域的 cluster point,27.1 才問得出導數。
第三步:先只處理倒數這一格,把 1/g 的差商換成 g 自己的差商乘上一個因子。
第四步:把 f/g 看成 f 與 1/g 的乘積,用剛證好的乘積律收尾。

Proof.  Since g′(c) exists, 27.2 makes g continuous at c. Because g(c) ≠ 0, applying continuity with the error |g(c)|/2 > 0 yields δ₀ > 0 such that every t ∈ D with |t − c| < δ₀ satisfies |g(t) − g(c)| < |g(c)|/2. Since |g(c)| − |g(t)| ≤ |g(t) − g(c)| by 5.12, these t satisfy |g(t)| > |g(c)|/2 > 0.
這一步的所求:一段分母保證不為零的範圍。誤差挑成 |g(c)|/2 是關鍵:連續只保證 g(t) 靠近 g(c),而「靠近到不超過 |g(c)| 的一半」就足以讓 g(t) 碰不到零——它離零至少還有 |g(c)|/2 這麼遠。挑得再寬一點(例如誤差取 |g(c)|)就不行了,那時 g(t) 剛好落到零上的可能性沒有被排除。拿數字對一次:g(x) = x、c = 3 時 |g(c)|/2 = 1.5,這一步交出來的範圍是 (1.5, 4.5),上面每個 g(t) = t 確實都是正的。要留意 δ₀ 只跟 c 與 g 有關,與後面那個 ε 無關。
g(c) 0 c − δ₀ c c + δ₀ 帶子高度 |g(c)| 帶子整段離零還有一半的距離

這張圖在證分母為什麼不會是零:藍色帶子的中線高度是 g(c),上下各留 |g(c)|/2。連續保證只要 t 離 c 不到 δ₀,曲線就走在帶子裡;而帶子的下緣仍在橫軸上方 |g(c)|/2 處,所以這一段上的每個 g(t) 都離零有距離。誤差若挑成整個 |g(c)|,帶子的下緣會壓到橫軸上,這個結論就沒了。

Let D₁ = {t ∈ D : g(t) ≠ 0}, the set on which f/g has a value. It contains c, and it contains every t ∈ D with |t − c| < δ₀. Given any neighborhood of c, shrink it to radius less than δ₀; since c is a cluster point of D, the shrunken neighborhood still meets D in a point other than c, and such a point lies in D₁. Therefore c is a cluster point of D₁, so 27.1 applies to functions defined on D₁.
這一步的所求:確認 27.1 的兩個前提在新的定義域上都還在。f/g 住的地方是 D₁,不是 D——分母為零的點必須挑掉。c 屬於 D₁ 這一半很直接(g(c) ≠ 0 是前提);會出事的是 cluster point 那一半:D₁ 比 D 小,「c 附近還有點可以代進差商」這件事不會自動跟著繼承。能繼承是因為第一步已經把 c 的一整段鄰域內的 D 的點全都留在 D₁ 裡了:半徑縮到 δ₀ 以內之後,10.3 交出來的那個異於 c 的點必定滿足 g ≠ 0。而半徑縮小之後仍然是 neighborhood,這由 §9-3 的 9.7(neighborhood 就是藏得住一個含該點的 open set 的集合)保證。少了這一格,27.1 根本套不上去。
c c − δ₀ c + δ₀ 窗口內的點一個也沒被挑掉 藍點都留在新的定義域裡

這張圖在證第二步:紅點是 c,藍點是離它不到 δ₀ 的定義域點。第一步已經保證這些點上 g 都不為零,所以把定義域縮成 D₁ 時,它們一個也沒被挑掉——要多靠近 c 就有多靠近的那些點還在,c 於是仍然是 D₁ 的 cluster point。灰點在窗口外,被不被挑掉都不影響這個結論。

For t ∈ D₁ with t ≠ c, combining the two fractions gives
  (1/g(t) − 1/g(c))/(t − c)
  = −((g(t) − g(c))/(t − c))·(1/(g(t)g(c))).
這一步的所求:把倒數的差商,換成 g 自己的差商——因為只有後者有現成的極限可用。通分是唯一的動作:1/g(t) − 1/g(c) 等於 (g(c) − g(t))/(g(t)g(c)),分子與 g(t) − g(c) 只差一個負號,再除以 t − c 就得到上面的式子。這個式子每一格都寫得出來,靠的是第一步:|g(t)| > |g(c)|/2 > 0,所以 g(t)g(c) 不為零。
Subtracting the value −g′(c)/g(c)² and splitting the result gives
  (1/g(t) − 1/g(c))/(t − c) + g′(c)/g(c)²
  = −((g(t) − g(c))/(t − c) − g′(c))·(1/(g(t)g(c)))
  + g′(c)·(g(t) − g(c))/(g(t)g(c)²).
這一步的所求:把「倒數的差商與候選答案的差」拆成兩筆各自壓得小的量。拆法與乘積那一張卡完全一樣:先把 g 的差商換成「它與 g′(c) 的差」,補回來的那一項是 −g′(c)/(g(t)g(c)),它與候選答案 −g′(c)/g(c)² 相減之後只差在分母的一個因子,通分就得到第二筆 g′(c)(g(t) − g(c))/(g(t)g(c)²)。兩筆的分工是:第一筆裝的是差商的誤差(27.1 保證它可以任意小),第二筆裝的是 g(t) 與 g(c) 的距離(連續保證它可以任意小)。兩個係數都有上界,因為第一步給了分母的下界:|g(t)g(c)| > g(c)²/2,而 |g(t)g(c)²| > |g(c)|³/2。
Let ε > 0 be given and choose δ ≤ δ₀ so small that these t satisfy
  |(g(t) − g(c))/(t − c) − g′(c)| < ε g(c)²/4,
  |g(t) − g(c)| < ε |g(c)|³/(4(|g′(c)| + 1)).
The two terms are then each at most ε/2, so their sum is less than ε. Hence 1/g has a derivative at c and (1/g)′(c) = −g′(c)/g(c)².
這一步的所求:把兩筆量各壓到 ε/2 以下。第一筆乘的係數不超過 2/g(c)²,所以差商的誤差只要小於 ε g(c)²/4 就夠;第二筆乘的係數不超過 2|g′(c)|/|g(c)|³,所以 g 的值只要靠近到那個門檻以內就夠。分母裡的「加一」還是同一個理由——g′(c) 可以是零,那時候除法會出事,多墊一個 1 讓門檻永遠是正數而估計不變鬆。δ 取 δ₀ 與兩個要求各自的那個數當中最小的,這是邊界簿記。
Finally f/g = f·(1/g) on D₁. Restricting f to D₁ leaves its derivative at c unchanged, because the inequality in 27.1 persists on a smaller domain and c is a cluster point of D₁. The product rule proved above therefore gives
  (f/g)′(c) = f′(c)(1/g(c)) + f(c)(−g′(c)/g(c)²)
  = [f′(c)g(c) − f(c)g′(c)]/g(c)².
這一步的所求:把倒數這一格接回原來的問題。把 f 限制到 D₁ 上這件事要說一句,不能默默做:27.1 檢查的是「定義域裡離 c 夠近的點」,定義域縮小只是少檢查幾個點,原來的不等式在剩下的點上照樣成立——真正可能垮掉的是 cluster point 那一條,而第二步已經把它守住了。乘積律要求兩個函數在 c 都可微且住在同一個定義域上,現在 f 與 1/g 都住在 D₁ 上,前提齊了。最後的等號只是通分:f′(c)/g(c) 乘上 g(c)/g(c) 之後與 f(c)g′(c)/g(c)² 併成同一個分母。
分母在該點不為零的地方,商就可微,導數是那個熟悉的式子;而「f/g 在 c 附近有定義」不是憑空假設,是前兩步算出來的。∎
例 1用乘積律遞推出 xⁿ 的導數
從定義算一個 x² 就走了五個步驟。要對每個 n 都算出 xⁿ 的導數,難道得算無限多次?
  1. 令 D = ℝ,對 n ∈ ℕ 記 pₙ(x) = xⁿ。要證的是:對每個 c ∈ ℝ 都有 pₙ′(c) = n·cⁿ⁻¹。先約定 c⁰ = 1(c = 0 時也是 1),這樣 n = 1 的式子在原點也讀得通。
  2. 起點 n = 1。p₁(x) = x,x ≠ c 時差商是 (x − c)/(x − c) = 1,恆等於 1,於是不管對方給多小的 ε,回答任何 δ 都過關:p₁′(c) = 1 = 1·c⁰。
  3. 順手記下常數函數。q(x) = α 的差商恆為 0,所以 q′(c) = 0。乘積律於是給出 (α·f)′(c) = 0·f(c) + α·f′(c) = α·f′(c)——常數可以提到求導的外面。
  4. 遞推。假設對某個 n 已知 pₙ′(c) = n·cⁿ⁻¹ 對每個 c 成立。把 pₙ₊₁ 看成 p₁ 與 pₙ 的乘積,也就是 xⁿ⁺¹ = x·xⁿ。兩個因子在 c 都可微(第 2 步與歸納假設),乘積律直接算:
      pₙ₊₁′(c) = 1·cⁿ + c·(n·cⁿ⁻¹) = cⁿ + n·cⁿ = (n + 1)·cⁿ。
    這正是把 n 換成 n + 1 之後的式子。
  5. 由數學歸納法,(xⁿ)′ = n·xⁿ⁻¹ 對每個 n ∈ ℕ 與每個實數點都成立。
  6. 拿數字對一次:n = 4、c = 2 時公式給 4·2³ = 32。直接算差商,取 x = 2.001:
      (2.001⁴ − 2⁴)/0.001 = 32.024008001,
    確實貼著 32。
  7. 把三條規則合起來,任何多項式都逐項寫得出導數:和差規則管逐項相加,第 3 步管係數,第 5 步管每一項的次方。例如 (3x⁴ − 5x² + 7)′ = 12x³ − 10x。
對照 §27-1 例 1(從定義硬算 x²:化簡差商、猜 L、估誤差、挑 δ,走了五個步驟):那裡花一整段拿下一個 n,這裡三行拿下全部的 n。省下的力氣就是這個差距——差商只在起點 n = 1 上算了一次,往後每一階都站在上一階的肩膀上。
(x)′ = 1 (x²)′ = 2x (x³)′ = 3x² (xⁿ)′ = n·xⁿ⁻¹ 乘積律:x·x 乘積律:x·x² 一路遞推下去 只有這一格 回到定義

這張圖在說例 1 的遞推怎麼走:只有最上面那一格是從定義算的,往下每一格都把 xⁿ⁺¹ 拆成 x 與 xⁿ 的乘積,套一次乘積律就落到下一層。歸納法保證這條階梯每一級都踩得住,於是所有的 n 一次到手,而不必為每個 n 各挑一次 δ。

例 2商法則重算 1/x 與 1/x²
商法則的前提寫著 g(c) ≠ 0。這個前提會在算出來的式子上留下什麼痕跡?
  1. 取 D = ℝ、f(x) = 1(常數函數,導數為 0)、g(x) = x(導數為 1)。商法則要求 g(c) ≠ 0,在這裡就是 c ≠ 0。
  2. 代進公式:
      (1/x)′(c) = [0·c − 1·1]/c² = −1/c²。
  3. 與定義直接算的答案對帳。x、c 都不為零且 x ≠ c 時
      (1/x − 1/c)/(x − c) = ((c − x)/(xc))/(x − c) = −1/(xc),
    x 靠近 c 時它靠近 −1/c²。兩條路算出同一個答案。
  4. 換一個分母。取 g(x) = x²,由例 1 它的導數是 2c:
      (1/x²)′(c) = [0·c² − 1·2c]/c⁴ = −2c/c⁴ = −2/c³,
    同樣只在 c ≠ 0 上成立。
  5. 數字核對:c = 2 時公式給 −1/4 = −0.25。取 x = 2.001,差商是 −1/(2.001·2) = −1/4.002,約等於 −0.24988,貼著 −0.25。
  6. 這兩個式子都只在 c ≠ 0 上成立,而理由值得說清楚:0 根本不在 1/x 的定義域裡——那裡沒有值,差商的分子寫不出來,於是連問都問不出導數。這與 §27-1 例 3 的 |x| 在 0 完全不同:那裡 0 在定義域內,函數有值也連續,只是左右兩側的差商談不攏。一個是「沒有值可問」,一個是「問得出來卻答不出」。
  7. 一般的有理函數同理:f、g 都是多項式時,例 1 給出兩者的導數,商法則在每個 g 不為零的點上一次寫出 f/g 的導數。
商法則的 g(c) ≠ 0 不是為了讓證明好走,是為了讓 f/g 在那裡有值可談。式子上那個「c ≠ 0」正是這個前提投下來的影子:定義域先有洞,導數才跟著缺一格。
y = 1/x c 斜率 −1/c² 0 不在定義域裡,這裡沒有值 左半支也一樣可微

這張圖在說例 2 第 6 步的區別:紅色虛線那一整條線上沒有任何函數值,兩支曲線之間是斷開的,不是接在一起卻拐了個彎。所以 −1/c² 這個公式在 c ≠ 0 的每一點都成立,而 c = 0 缺席的原因是那裡沒有值可代——與絕對值函數在原點「有值、連續、但差商談不攏」是兩回事。

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

本篇把四則搬到了導數上:和與差逐項拆得開,乘積要把差商的分子加一項再減一項、並靠可微必連續壓住其中一截,商則得先算出「分母在 c 附近不為零」與「c 仍是新定義域的 cluster point」這兩件事,除法才有意義。例 1 用乘積律三行拿下所有的 xⁿ,例 2 讓 c ≠ 0 這個限制現出它的來歷。下一篇 §28-2 要問的是:先做一個函數再做另一個,兩個導數要怎麼接起來。先起來走一走、倒杯水再回來。

順帶一提:微積分課上最貴的一個筆誤大概是 (fg)′ = f′g′——它若成立,把 x 寫成 x·1 就會得到 1 = 1·0 = 0。