§29-3  階梯 integrator

如果權重只集中在幾個點上,其餘地方一律為零,積分會變成什麼?這時候被積函數需要什麼條件才積得出來——而為什麼那個條件會是單側的?

當 integrator 只在幾個點跳躍

開車上高速公路,油錢是一路上連續累積的:多開一公里就多燒一點油。收費站不是這樣——兩個收費站之間開多遠都不加價,錢只在通過閘門的那一瞬間扣一次,扣多少由那一刻的費率決定。一整趟下來,過路費不是一條慢慢累積起來的量,而是幾個數字相加。

權重可以照收費站的方式配置嗎?§29-1 例 1(同一個 f 配三個不同的 g)已經露了一角:那裡的第三個 g 在 [0, 1) 上取 0、在 [1, 2] 上取 7,於是不管切得多細,和永遠是 7。這件事看起來像個雜耍,其實是本篇要處理的主題:權重全部集中在幾個點上時,積分會塌成一個有限和。

可是這裡藏著一個沒有預料到的細節。扣款的那一瞬間,車子算在閘門的哪一邊?如果費率表本身就在閘門的位置上跳動,「通過閘門時的費率」會有兩種讀法——還沒過閘門那一側讀一個數字,已經過了閘門那一側讀另一個數字。這個歧義不會自己消失,它會變成定理的條件,而且是本篇每一條定理都躲不掉的條件。

整節的通用前提照舊:J = [a, b] 且 a < b,f 與 g 都在 J 上有界。本篇反覆用到三件備好的東西:§29-1 的分割與加細(加細只准加分割點,不准挪動已有的點,而且分割點允許重合),§29-1 的 29.1 Riemann–Stieltjes 和
  S(P; f, g) = Σ f(ξₖ)·[g(xₖ) − g(xₖ₋₁)],
以及§29-2 的 29.2:可積的意思是每個 ε 都交得出一個分割 Pε,讓 Pε 的每一個加細、每一種中間點的挑法給出的和,都離同一個數不到 ε。
DEFINITION  ·  ONE-SIDED CONTINUITY
Let c ∈ D. Say that f is continuous at c from the right if to each ε > 0 there corresponds a δ(ε) > 0 such that |f(x) − f(c)| < ε whenever x ∈ D satisfies c < x < c + δ(ε). Replacing that inequality by c − δ(ε) < x < c defines continuity from the left.
與 §20-1 的 20.1(對 f(c) 的每一個 neighborhood,都找得到 c 的一個 neighborhood 回應它)的差別只有一件事:只檢查 c 的一側。把 §20-2 的 20.2(b)(連續的 ε-δ 版)並排看最清楚——那裡的條件是 |x − c| < δ(ε),左右兩側一起管;這裡只留下其中一半。兩側都成立就回到連續,而只有一側成立的函數是真實存在的:一個在 c 跳一下的函數,補在 c 的那個值黏在哪一側,它就在哪一側連續。要留意一種空洞成立的情形:若 c 是 J 的右端點,J 裡根本沒有 c 右邊的點,「右連續」於是什麼都沒要求、自動成立——這種時候它保證不了任何事。
正例:f(x) = 0(x < 0)、f(x) = 1(x ≥ 0)在 c = 0 右連續:右側每個 x 都有 f(x) = 1 = f(0),差是 0,隨便一個 δ 都交得了差。它在 0 不左連續:左側的值全是 0,離 f(0) = 1 有 1 那麼遠,取 ε = ½ 就沒有 δ 撐得住。反例:f(x) = sin(1/x)(x ≠ 0)、f(0) = 0 在 0 的兩側都不單側連續——任何 δ > 0 的右側區間裡都有 x 使 f(x) = 1(取 x = 1/(2πn + π/2)、n 夠大即可),取 ε = ½ 就沒有 δ 交得出來,左側同理。
c f(c) ε 帶 右側整段落在帶內 左側整段落在帶外

這張圖在說單側連續要檢查的是哪半邊:實心點是補在 c 的那個值 f(c),兩條紅色虛線是以它為中心、上下各 ε 的一條帶。右半邊的函數值整段落在帶內,所以右連續成立;左半邊整段落在帶外,δ 再小也救不回來,所以左不連續。實心點若改補在下面那一層(空心點的位置),兩個結論就整組對調——決定方向的正是那一個點的值。

手上有了單側這個工具,就可以問第一個問題:如果 g 的權重全部壓在區間的左端點上,什麼樣的 f 積得出來?

THEOREM  ·  AN INTEGRATOR JUMPING AT THE LEFT ENDPOINT
Define g on J = [a, b] by g(a) = 0 and g(x) = 1 for a < x ≤ b. Then f is integrable with respect to g precisely when f is continuous at a, and in that case ∫ f dg = f(a).
這個 g 在 a 這一點的值是 0,一離開 a 就是 1,所以權重全部壓在 a 上:任何分割的和只剩一項,而那一項的中間點可以是 a 與它右邊第一個分割點之間的任何一點。要讓所有這些值都逼近同一個數,就等於要求 f 在 a 附近的值都逼近 f(a)——這正是連續。反過來若 f 在 a 不連續,就有一列取值離 f(a) 有固定距離的點可以拿來當中間點,和永遠靠不攏。順帶一提,a 是 J 的左端點,J 裡沒有 a 左邊的點,所以「f 在 a 連續」與「f 在 a 右連續」在這裡是同一句話——本條的條件其實已經是單側的,只是端點讓它看起來不像。
正例:f(x) = x² 於 J = [0, 1]、a = 0。f 在 0 連續,所以 ∫ f dg = f(0) = 0;f 在 (0, 1] 上的值再大都不影響答案,因為那一段的權重全是零。反例:取 f 就是 g 自己(f(a) = 0,x > a 時 f(x) = 1)。它在 a 不連續,而同一個分割配不同的中間點會給出 0 或 1 兩個和,兩者永遠差 1,所以不可積。
a b g = 1 值補在下面這一層

這張圖在說定理裡那個 g 長什麼樣,以及為什麼要區分實心點與空心點:實心點標的是函數真正取到的值,空心點標的是「這一格沒有取到」。g 在 a 取 0、其餘每一點取 1,所以整條線只有跨過 a 的時候高度變過一次,落差是 1。證明第一步要算的就是這件事:任何分割裡,只有含著這一次落差的那一段增量不為零。

PROOF

g 就是定理裡那一個:g(a) = 0,而 a < x ≤ b 時 g(x) = 1。要證的是兩句話互相推得出來:f 在 a 連續,與 f 對 g 可積。一個細節先擺在前面:§29-1 的分割只要求 a = x₀ ≤ x₁ ≤ ⋯ ≤ xₙ = b,相鄰的分割點允許重合,所以「第一段」不一定就是有落差的那一段,得先把它指名出來。

證明計畫 · 由所求想起
所求是一個充要條件,兩個方向要分開走。
第一步:算出任何一個分割的和長什麼樣。把每一段的增量逐一算過,只有一段不是零,於是整個和塌成一項。
第二步(連續 ⟹ 可積):那一項的中間點被關在左端點與某個分割點之間,而見證分割由我們自己交出,所以把那個分割點放進連續給的範圍內就結束。
第三步(可積 ⟹ 連續):走反證。假設不連續,就有一個固定的誤差擋在那裡;在同一個分割上挑兩種中間點,造出兩個相距不小於那個誤差的和。

Proof.  Let P = (x₀, x₁, …, xₙ) be any partition of J and let j be the least index with xⱼ > a; such an index exists because xₙ = b > a. Minimality gives xⱼ₋₁ = a. For k < j both endpoints of [xₖ₋₁, xₖ] equal a, and for k > j both exceed a, so in either case the increment g(xₖ) − g(xₖ₋₁) is 0. Since g(xⱼ) − g(xⱼ₋₁) = 1 − 0 = 1, every Riemann-Stieltjes sum belonging to P collapses to
  S(P; f, g) = f(ξⱼ),  where ξⱼ may be any point of [a, xⱼ].
這一步的所求:把和算成一個看得懂的東西,因為 29.2 管的是所有的和,不先知道它們長什麼樣就無從估計。j 是「第一個真的離開 a 的分割點」的編號,這個講法比「第一段」精確,因為分割點可以重合。逐段核對:j 之前的段兩端都還黏在 a 上,兩端的 g 值都是 0;j 之後的段兩端都在 a 右邊,兩端的 g 值都是 1;只有第 j 段一腳在 a、一腳在 a 右邊,增量是 1。於是整個和只剩一項,而那一項的中間點 ξⱼ 可以在 [a, xⱼ] 裡任意挑——全篇後面的估計都在跟這個「任意」打交道。拿數字走一次:J = [0, 4]、P = (0, 0, 1, 2.5, 4),則 j = 2(x₂ = 1 是第一個大於 0 的分割點);四段的增量依序是 0, 1, 0, 0,和是 f(ξ₂),而 ξ₂ 可以是 [0, 1] 裡的任何一點。
增量 1 0 0 0 a xⱼ b 中間點可挑的範圍

這張圖在證第一步:把 g 的增量填回每一段上,四個數字裡只有一個不是零。粗線那一段是唯一有權重的一段,它的左端釘在 a、右端是第一個真的離開 a 的分割點 xⱼ;和因此等於 f 在這一段裡某一點的值,而那一點由挑中間點的人決定,不由分割決定。

Assume f is continuous at a and let ε > 0. By 20.2(b) there is δ(ε) > 0 with |f(x) − f(a)| < ε for every x ∈ J satisfying |x − a| < δ(ε). Put h = min{δ(ε)/2, b − a} and take Pε = (a, a + h, b). Because a refinement P of Pε keeps a + h among its partition points and a + h > a, the index j above obeys xⱼ ≤ a + h. Hence ξⱼ ∈ [a, a + h] and |ξⱼ − a| ≤ h < δ(ε), so that
  |S(P; f, g) − f(a)| = |f(ξⱼ) − f(a)| < ε.
Therefore f is integrable and ∫ f dg = f(a).
這一步的所求:對每個 ε 交出一個見證分割。整篇的樞紐動作第一次出現在這裡:見證分割是我們自己挑的,所以可以把它右邊第一個分割點放得離 a 要多近有多近;而加細只准加點、不准挪點,於是 a + h 在每一個加細裡都還在,中間點就被夾死在 [a, a + h] 裡出不去。h 取成兩個數的較小者是邊界簿記:δ(ε)/2 保證它比 δ(ε) 小,b − a 保證 a + h 沒有掉出區間。最後那個等號用的是第一步:和本來就等於 f(ξⱼ),所以估計和與估計一個函數值是同一件事。拿數字走一次:J = [0, 4]、f(x) = x²、ε = 0.1。因為 |x| < 0.31 時 x² < 0.1,取 δ = 0.31、h = 0.155,見證分割是 (0, 0.155, 4);任何加細的中間點都落在 [0, 0.155] 裡,函數值不超過 0.025,確實離 f(0) = 0 不到 0.1。
連續給的範圍 Pε 加細 a + h 中間點跑不出這一段

這張圖在證第二步為什麼成立:上排是我們交出去的見證分割,下排是對手拿去任意加細之後的樣子。紅色那個分割點是兩排共有的——加細只准加點,所以它拔不掉。有增量的那一段(粗線)左端釘在 a、右端頂多到紅點,於是中間點怎麼挑都落在灰色虛線標出的範圍內,函數值也就離 f(a) 不到 ε。

Conversely, suppose f is not continuous at a. Then 20.2(b) fails, so there is ε₀ > 0 for which no δ works; taking δ = 1/n produces points uₙ ∈ J with |uₙ − a| < 1/n and |f(uₙ) − f(a)| ≥ ε₀. Each uₙ differs from a, hence uₙ > a. Assume, in order to reach a contradiction, that f were integrable with value I, and let Q be a partition delivered by 29.2 for ε₀/2. Apply the first step to Q and choose n with 1/n < xⱼ − a, so that uₙ ∈ (a, xⱼ]. Since Q refines itself, the choices ξⱼ = a and ξⱼ = uₙ yield two admissible sums f(a) and f(uₙ), both within ε₀/2 of I. Therefore |f(uₙ) − f(a)| < ε₀, contradicting the choice of uₙ.
這一步的所求:把「可積」倒推回「連續」,走的是反證。不連續這件事翻成 ε-δ 的否定,得到一個擋在那裡不肯變小的誤差 ε₀:不管把範圍縮到多小,範圍內都還找得到取值離 f(a) 至少 ε₀ 的點。把範圍依序取成 1、1/2、1/3⋯,這些點排成一列 uₙ,越後面越貼近 a;它們不可能等於 a(否則差是零,不會不小於 ε₀),而 J 在 a 左邊沒有點,所以每個 uₙ 都在 a 的右邊。接下來的關鍵是:對手交出來的見證分割 Q 不論多細,第 j 段 [a, xⱼ] 都有正的長度,而 uₙ 要多貼近 a 有多貼近,所以總有一個落進這一段裡。於是同一個分割上出現兩個合法的和——一個把中間點挑在 a,一個挑在 uₙ——而 29.2 要求它們同時離 I 不到 ε₀/2,由三角不等式兩者相距不到 ε₀,跟 uₙ 的來歷正面衝突。承接前面的反例:f 取成 g 自己時 ε₀ = 1,兩個和分別是 0 與 1。
a uₙ xⱼ f(a) f(uₙ) ≥ ε₀ 同一個分割,兩種挑法

這張圖在證第三步的矛盾從哪裡來:左邊是同一個分割的同一段,兩個實心點是兩種合法的中間點挑法;右邊是它們給出的兩個和。兩個和的距離不小於 ε₀,而 29.2 要求它們同時擠進以 I 為中心、半徑 ε₀/2 的範圍裡——擠不進去,可積於是不可能。圖上畫的是矛盾機制本身,不是定理的正面畫面。

和只剩一項,而那一項的中間點可以貼著 a 任意挑:連續讓所有挑法都給出接近 f(a) 的值,不連續則讓兩種挑法永遠分得開。∎
—— 中場歇一下 ——

第一條定理立起了整篇的樞紐動作:見證分割由我們自己交出,可以先把跳躍點旁邊的分割點放到夠近的位置,而加細只准加點,那個位置在每一個加細裡都還在。接下來要把跳躍點從端點挪進區間內部,同一套動作會多逼出一件事——中間點只能從哪一側靠近它。先起來走幾步、把肩膀轉一轉,喝口水再回來。

端點的情形有個便宜可佔:a 的左邊沒有東西,所以「連續」與「右連續」不必分家。把跳躍點挪到區間內部,這個便宜就沒了——c 的兩側都有點,而和只認得其中一側。

THEOREM  ·  AN INTEGRATOR JUMPING AT AN INTERIOR POINT
Let c be an interior point of J = [a, b]. (a) Define g by g(x) = 0 for a ≤ x ≤ c and g(x) = 1 for c < x ≤ b, so that g is continuous at c from the left. Then f is integrable with respect to g exactly when f is continuous at c from the right, and then ∫ f dg = f(c).
(b) If instead g(x) = 0 for a ≤ x < c and g(x) = 1 for c ≤ x ≤ b, so that g is continuous at c from the right, the condition becomes continuity of f at c from the left, and the value of the integral is again f(c).
兩個版本的 g 只差在 c 這一點的值,而要求的條件恰好互換——這不是巧合。把 c 放進分割裡之後,唯一有增量的那一段整段坐在 c 的某一側:版本 (a) 的 g 把落差擺在 c 的右邊,中間點因此只能從右邊逼近 c,關於 f 在 c 左邊的資訊一點都用不到,也就一點都不能要求。integrator 在跳躍點上補的值黏在哪一側,被積函數就被要求從另一側連續,兩者永遠是相反的方向。c 是內點這個前提在這裡是實質的:它保證 c 的兩側各有 J 的點,兩個單側條件都問得出內容,不會像端點那樣空洞成立。
正例:J = [0, 2]、c = 1、f(x) = 4(x < 1)、f(x) = 1(x ≥ 1)。f 在 1 右連續(右側的值恆為 1 = f(1))卻不左連續,配版本 (a) 的 g 照樣可積,積分是 f(1) = 1——被積函數不必連續。反例:把 f 換成 f(x) = 0(x ≤ 1)、f(x) = 5(x > 1)。它在 1 左連續而右不連續,配版本 (a) 的 g 不可積(中間點取 1 給和 0、取 1.001 給和 5),配版本 (b) 的 g 卻可積、積分是 f(1) = 0。同一個 f,只把 g 在一點的值換掉,可積與不可積就互換。
(a) c 中間點在這半邊 (b) c 中間點在這半邊

這張圖是本篇的對照組,也是整條「方向相反」的證據所在。上圖是版本 (a):實心點補在下面那一層,g 在 c 因此左連續,而落差整個發生在 c 的右邊,唯一有增量的那一段左端釘在 c,中間點只能從右邊靠近它——所以要求的是 f 在 c 右連續。下圖是版本 (b):實心點改補在上面那一層,g 在 c 右連續,有增量的那一段翻到 c 的左邊,要求的也就翻成左連續。兩張圖只差一個點畫在哪一層,結論整組對調。

PROOF

c 是 J 的內點,所以 a < c < b,c 的左右兩側都有 J 的點——這一點在兩個版本裡都要用到。先做版本 (a),再把版本 (b) 逐句對照著換一次。與上一條的差別只有一個:那裡的跳躍點是端點,中間點沒有選邊的餘地;這裡有,所以第一步就得把 c 本身放進分割。

證明計畫 · 由所求想起
所求同樣是充要條件,只是跳躍點挪進了區間內部。
第一步:只看含有跳躍點的那些分割。理由是加細只准加點,見證分割裡放了跳躍點,它的每一個加細就都含著它。
第二步:算增量。分割點含跳躍點時,唯一不為零的是貼著它右邊的那一段,於是和又塌成一項,而中間點只能從右邊靠近跳躍點。
第三步(右連續 ⟹ 可積):在見證分割裡多放一個緩衝點,把中間點壓進右連續給的範圍內。
第四步(可積 ⟹ 右連續):反證,在同一個含跳躍點的加細上挑兩種中間點。
第五步:版本 (b) 把每一句話裡的「右」換成「左」,理由逐句對應。

Proof of (a).  Let P be a partition of J having c among its partition points, say c = xᵢ, and let k be the least index with xₖ > c; it exists because xₙ = b > c. Since k > i we get xₖ₋₁ ≥ xᵢ = c, while minimality of k gives xₖ₋₁ ≤ c; hence xₖ₋₁ = c. If m < k then both endpoints of [xₘ₋₁, xₘ] are at most c, and if m > k both exceed c, so those increments vanish. Because g(xₖ) − g(c) = 1, every sum belonging to P equals
  S(P; f, g) = f(ξₖ),  with ξₖ ∈ [c, xₖ].
這一步的所求:在「分割裡含有 c」這個條件下,把和算出來。條件不是白加的:若 c 不是分割點,唯一有增量的那一段會是某個 [xₖ₋₁, xₖ] 而 xₖ₋₁ 嚴格小於 c,中間點於是也可以落在 c 的左邊,單側的方向就糊掉了。把 c 放進去,那一段的左端被釘死在 c 上。這也解釋了為什麼下一步敢只交出一個含 c 的見證分割:加細只准加點,所以它的每一個加細也都含 c,第一步的結論一路適用。逐段核對與上一條同型:c 左邊的段兩端的 g 值都是 0,c 右邊的段兩端都是 1,只有第 k 段一腳在 c、一腳在 c 右邊。拿數字走一次:J = [0, 3]、c = 1、P = (0, 0.5, 1, 1, 2, 3),則 k = 4(x₄ = 2 是第一個大於 1 的分割點),x₃ = 1 = c,五段的增量依序是 0, 0, 0, 1, 0,和是 f(ξ₄) 而 ξ₄ ∈ [1, 2]。
c Pε 加細 有增量的一段

這張圖在證第一步為什麼要把 c 放進見證分割:藍色那一豎是 c,上下兩排都有它,因為加細只准加點。紅色粗線是唯一有增量的那一段,它的左端永遠釘在 c 上,整段坐在 c 的右邊;加細只會把它縮短,不會把它挪到左邊去。中間點的可選範圍因此完全落在 c 的右側,這就是條件只能是右連續的原因。

Assume that f is continuous from the right at c, and let ε > 0. Choose δ(ε) > 0 as in the definition, put h = min{δ(ε)/2, b − c} and take Pε = (a, c, c + h, b). A refinement P of Pε contains c, so the previous step applies to it; it also contains c + h, whence xₖ ≤ c + h and ξₖ ∈ [c, c + h]. If ξₖ = c the difference |f(ξₖ) − f(c)| is 0; otherwise c < ξₖ < c + δ(ε) and the difference is less than ε. In both cases |S(P; f, g) − f(c)| < ε, so f is integrable with ∫ f dg = f(c).
這一步的所求:交出見證分割。動作與上一條同型,只是這次要放兩個點——跳躍點 c 本身,加上一個擺在它右邊的緩衝點 c + h。前者鎖住中間點的側邊,後者鎖住中間點離 c 多遠。這一步是「為什麼是單側」最清楚的一格:中間點的可選範圍是 [c, c + h],整段在 c 的右邊,所以只用得到 f 在 c 右側的資訊,f 在左側跳成什麼樣都碰不到這個估計。ξₖ = c 那一格要另外交代,因為右連續的條件寫的是 c < x、不含 c 自己;不過那時兩邊相減是零,屬於例行核對。h 取兩個數的較小者是邊界簿記:一半保證比 δ(ε) 小,另一半保證 c + h 沒掉出區間。拿定理卡的正例走一次:J = [0, 2]、c = 1、f 在 [1, 2] 上恆為 1。它在 1 右連續,任何 δ 都行,見證分割取 (0, 1, 1.5, 2);每個加細的和都是 f 在 [1, 1.5] 某點的值,也就是 1,確實等於 f(1)——而 f 在 1 的左邊是 4,完全沒被問到。
Conversely, let f be integrable with value I and suppose it is not continuous at c from the right. Then there is ε₀ > 0 such that every δ > 0 admits a point u ∈ J with c < u < c + δ and |f(u) − f(c)| ≥ ε₀. Let Q be a partition delivered by 29.2 for ε₀/2 and let P be obtained from Q by inserting c, so P refines Q and contains c. With k as above, apply that property to δ = xₖ − c > 0 and obtain u ∈ (c, xₖ). The choices ξₖ = c and ξₖ = u give two admissible sums f(c) and f(u), both within ε₀/2 of I, so |f(u) − f(c)| < ε₀ — a contradiction. Hence f must be continuous from the right at c, and the first half together with the uniqueness of the integral gives I = f(c).
這一步的所求:由可積倒推回右連續,同樣走反證。「不右連續」翻成否定之後是:有一個擋著不動的誤差 ε₀,使得 c 右邊要多近有多近的地方都還找得到取值離 f(c) 至少 ε₀ 的點。技術上唯一要小心的是:對手交出來的 Q 不見得含 c,所以我們自己把 c 插進去——插點得到的是加細,而 29.2 對加細一樣有效,所以這個動作不必付代價。插完之後第一步適用,有增量的那一段是 [c, xₖ],它有正的長度,於是那個壞點 u 進得來。剩下的與上一條逐字相同:同一個分割上兩個合法的和相距不小於 ε₀,可是 29.2 要它們同時離 I 不到 ε₀/2。積分值等於 f(c) 不必另外算——右連續既然成立,前半段已經證出 f 可積且積分是 f(c),再由 §29-2 的 LEMMA(滿足 29.2 條件的實數只有一個),I 只能是 f(c)。承接定理卡的反例:f 在 1 右邊恆為 5、f(1) = 0 時 ε₀ 可取 5,兩個和分別是 0 與 5。
Proof of (b).  Now g = 0 on [a, c) and g = 1 on [c, b]. Let P contain c = xᵢ and let k be the least index with xₖ ≥ c; then k ≤ i forces xₖ = c, and minimality gives xₖ₋₁ < c. Every other subinterval has both endpoints strictly on one side of c or both in [c, b], so its increment vanishes, while g(c) − g(xₖ₋₁) = 1. Therefore S(P; f, g) = f(ξₖ) with ξₖ ∈ [xₖ₋₁, c]. Running the two previous arguments with the buffer point moved to the left of c, that is with Pε = (a, c − h, c, b) and h = min{δ(ε)/2, c − a}, and with the bad point taken in (xₖ₋₁, c) instead of (c, xₖ), shows that integrability is equivalent to continuity of f at c from the left, again with ∫ f dg = f(c).
這一步的所求:把版本 (b) 走完,而不是宣稱它「類似」。變的只有一件事——g 在 c 這一點的值改黏到右邊那一段,於是落差發生在 c 的左邊,有增量的那一段是 [xₖ₋₁, c],右端釘死在 c。兩個方向的論證逐句對應:充分性把緩衝點放在 c − h,任何加細的中間點於是被夾在 [c − h, c] 裡,由左連續得 |f(ξₖ) − f(c)| < ε(ξₖ = c 那一格差是零);必要性把 c 插進對手的分割,在 (xₖ₋₁, c) 裡取一個使 |f(u) − f(c)| ≥ ε₀ 的壞點,與中間點取 c 得到的和相距不小於 ε₀,跟 29.2 衝突。指標的核對也對稱:這次要找的是第一個不小於 c 的分割點,它就是 c 自己,而它前一個分割點嚴格小於 c。承接定理卡的反例:f(x) = 0(x ≤ 1)、5(x > 1)在 1 左連續,所以配版本 (b) 的 g 就可積了,積分是 f(1) = 0——同一個 f 在版本 (a) 下不可積。
跳躍點放進分割之後,唯一有增量的那一段整段坐在它的某一側,而是哪一側由 g 在該點補的值決定;被積函數要求的連續方向於是永遠與 g 相反。∎

一個跳躍點的帳算清楚了。真正有用的 integrator 通常不只跳一次——收費站沿路有好幾座,每一座的費率還不一樣。下面這條把帳一次算完。

THEOREM  ·  AN INTEGRATOR WITH SEVERAL JUMPS
Let a < c₁ < c₂ < b and let g take the value a₁ on [a, c₁), a₂ on [c₁, c₂] and a₃ on (c₂, b]. If f is continuous at both c₁ and c₂, then f is integrable with respect to g and ∫ f dg = (a₂ − a₁)f(c₁) + (a₃ − a₂)f(c₂). The same formula holds for any finite number of jumps.
這條把 29.2 的框架兌現成一個看得出用途的公式:integrator 只在有限多個點跳躍時,積分退化成一個有限和——f 在各跳躍點的值,用各點的跳躍量當權重。連續地累積與一格一格地相加,被同一個定義收在一起,這正是把權重從長度鬆綁之後換到的東西。條件寫成「f 在兩個跳躍點都連續」是為了敘述乾淨;真正各自需要的其實是單側的,而且方向與 g 相反:g 在 c₁ 右連續(值 a₂ 從 c₁ 起算),所以中間點只能從左邊逼近 c₁,需要的是 f 在 c₁ 左連續;g 在 c₂ 左連續,需要的則是 f 在 c₂ 右連續。兩側連續同時涵蓋這兩件事,代價是多要了一半用不到的東西。還有一種退化情形值得先想過:某個跳躍量為零時(例如 a₂ = a₁),那一項恆為零,該點的連續條件於是什麼都沒買到——定理仍然成立,只是在那一點沒有要求任何事。至於 c₁ = c₂ 不在前提內,敘述要的是 c₁ < c₂。
正例:J = [0, 3]、c₁ = 1、c₂ = 2、a₁ = 0、a₂ = 3、a₃ = 7、f(x) = x²。f 處處連續,公式給 (3 − 0)·1 + (7 − 3)·4 = 19,而且不論分割怎麼加細、中間點怎麼挑,和都逼近這個數。反例:把 f 換成 f(x) = 0(x < 1)、f(x) = 1(x ≥ 1)。它在 1 右連續,卻不是這裡需要的方向——g 在 c₁ = 1 右連續,要的是 f 左連續,而 f 在 1 左邊的值是 0、離 f(1) = 1 有 1 那麼遠。實際上不可積:貼著 c₁ 左邊那一段的中間點取 1 給第一項 3、取 0.999 給第一項 0,兩個和永遠差 3。
a₁ a₂ a₃ 從左邊挑 從右邊挑 c₁ c₂

這張圖在說多點跳躍的兩個單側方向為什麼相反,而且是相反到不同的方向去。c₁ 的實心點黏在中間那一層(g 在 c₁ 右連續),落差發生在它的左邊,中間點只能從左邊靠近,所以要的是 f 在 c₁ 左連續;c₂ 的實心點也黏在中間那一層,可是這次它是那一層的右端(g 在 c₂ 左連續),落差發生在右邊,要的是 f 在 c₂ 右連續。同一個 g 的兩個跳躍點要求的方向可以不一樣——定理敘述寫「都連續」是把兩件事一起買下來。

PROOF

g 在 [a, c₁) 上取 a₁、在 [c₁, c₂] 上取 a₂、在 (c₂, b] 上取 a₃,且 a < c₁ < c₂ < b。要證的只有一個方向:f 在兩點連續 ⟹ 可積,且積分等於
  I = (a₂ − a₁)f(c₁) + (a₃ − a₂)f(c₂)。
另記 M = |a₂ − a₁| + |a₃ − a₂|,它是兩個跳躍量的絕對值之和,可以是零。整段論證不動用積分對 integrator 的任何運算性質,只做與前兩條相同的動作。

證明計畫 · 由所求想起
所求是可積,也就是對每個誤差交出一個見證分割。
第一步:把兩個跳躍點都放進見證分割,理由與上一條相同——加細只准加點,它們在每個加細裡都還在。
第二步:算增量。兩個跳躍點各自只讓貼著它的一段不為零,其餘全數歸零,於是和恰好剩兩項。
第三步:認出這兩項的中間點各自被關在哪一側,一個在左、一個在右,這決定了兩個點各自要求的連續方向。
第四步:在見證分割裡多放兩個緩衝點,把兩個中間點各自壓進連續給的範圍,誤差按兩個跳躍量的大小分攤。
第五步:把同一套動作搬到任意有限多個跳躍點。

Proof.  Let P be a partition of J containing both c₁ and c₂. Let s be the least index with xₛ ≥ c₁ and t the least index with xₜ > c₂. Exactly as in the previous proof, xₛ = c₁ with xₛ₋₁ < c₁, and xₜ₋₁ = c₂ with xₜ > c₂. Any other subinterval has both endpoints inside a single one of the three intervals [a, c₁), [c₁, c₂], (c₂, b], so g takes the same value at its two ends and the increment is 0. Since g(xₛ) − g(xₛ₋₁) = a₂ − a₁ and g(xₜ) − g(xₜ₋₁) = a₃ − a₂, every sum belonging to P reduces to two terms:
  S(P; f, g) = (a₂ − a₁)f(ξₛ) + (a₃ − a₂)f(ξₜ),
  ξₛ ∈ [xₛ₋₁, c₁]  and  ξₜ ∈ [c₂, xₜ].
這一步的所求:在「分割含有兩個跳躍點」的前提下把和算出來。s 是第一個不小於 c₁ 的分割點的編號,t 是第一個大於 c₂ 的分割點的編號;兩個編號的挑法不同,正是因為 g 在兩點補的值黏在不同側——g(c₁) = a₂ 與右邊那一段同值,所以落差在左;g(c₂) = a₂ 與左邊那一段同值,所以落差在右。兩個中間點因此被關在不同的半邊:ξₛ 永遠不超過 c₁,ξₜ 永遠不小於 c₂,這一句就是「各自需要的其實是單側,而且方向相反」的全部內容。其餘的段兩端落在同一段常數上,增量為零,這是例行核對。拿數字走一次:J = [0, 3]、c₁ = 1、c₂ = 2、a₁ = 0、a₂ = 3、a₃ = 7、P = (0, 0.5, 1, 1.5, 2, 2.5, 3)。則 s = 2(x₂ = 1),那一段是 [0.5, 1]、增量 3;t = 5(x₅ = 2.5),那一段是 [2, 2.5]、增量 4;其餘四段的增量都是零,和是 3f(ξ₂) + 4f(ξ₅)。
Let ε > 0. Because f is continuous at c₁ and at c₂, 20.2(b) supplies δ₁, δ₂ > 0 such that |f(x) − f(c₁)| < ε/(M + 1) for x ∈ J with |x − c₁| < δ₁, and likewise at c₂ with δ₂. Put h₁ = min{δ₁, c₁ − a}/2 and h₂ = min{δ₂, b − c₂}/2, so that a < c₁ − h₁ and c₂ + h₂ < b, and take
  Pε = (a, c₁ − h₁, c₁, c₂, c₂ + h₂, b).
這一步的所求:把見證分割備齊。裡面放了四個內部分割點,各有各的職務:c₁ 與 c₂ 鎖住兩個中間點各自落在哪一側,c₁ − h₁ 與 c₂ + h₂ 這兩個緩衝點鎖住它們離跳躍點多遠。緩衝點放的邊也不是隨便挑的:c₁ 的中間點只會出現在它左邊,緩衝點就得放左邊才夾得到;c₂ 反之。誤差門檻寫成 ε/(M + 1) 而不是 ε/M,是為了涵蓋跳躍量全為零的退化情形——那時 M = 0,寫成 ε/M 連分母都不合法,而寫成 M + 1 則照樣有意義,估計也照樣過得去。把 h₁ 取成 δ₁ 與 c₁ − a 兩者較小值的一半,是邊界簿記:前者保證比 δ₁ 小,後者保證 c₁ − h₁ 仍在 a 的右邊,六個分割點的大小順序才排得出來。接前面的數字,若 δ₁ = 0.4、δ₂ = 0.6,則 h₁ = 0.2、h₂ = 0.3,見證分割是 (0, 0.8, 1, 2, 2.3, 3)。
Let P refine Pε. Then P contains c₁ and c₂, so the first step applies; since c₁ − h₁ and c₂ + h₂ also survive in P, we get xₛ₋₁ ≥ c₁ − h₁ and xₜ ≤ c₂ + h₂. Hence |ξₛ − c₁| ≤ h₁ < δ₁ and |ξₜ − c₂| ≤ h₂ < δ₂, and therefore
  |S(P; f, g) − I| ≤ |a₂ − a₁|·|f(ξₛ) − f(c₁)|
    + |a₃ − a₂|·|f(ξₜ) − f(c₂)|
    ≤ M·ε/(M + 1) < ε.
Thus f is g-integrable on J, and ∫ f dg = I.
這一步的所求:驗收——證明剛才那個見證分割真的擋得住所有的加細。兩件事接力:c₁ 與 c₂ 還在,所以第一步算出來的兩項公式仍然適用;緩衝點還在,所以 ξₛ 被夾在 [c₁ − h₁, c₁] 裡、ξₜ 被夾在 [c₂, c₂ + h₂] 裡。要留意兩個夾擊各只用到單側的連續:ξₛ 從來不跑到 c₁ 的右邊,ξₜ 從來不跑到 c₂ 的左邊,所以定理假設裡「兩側都連續」有一半沒被動用。三角不等式把和與 I 的差拆成兩項,每一項是「跳躍量的絕對值 × 一個小於 ε/(M + 1) 的差」,加起來不超過 M·ε/(M + 1),而這個數嚴格小於 ε;跳躍量全為零時它是 0,仍然小於 ε。接前面的數字:f(x) = x² 時 I = 3·1 + 4·4 = 19,而任何加細的和是 3f(ξₛ) + 4f(ξₜ),其中 ξₛ ∈ [0.8, 1]、ξₜ ∈ [2, 2.3],值落在 1.92 + 16 = 17.92 與 3 + 21.16 = 24.16 之間,緩衝點越靠近跳躍點這個範圍就越窄。
The same computation covers any finite number of jumps. Let a < c₁ < ⋯ < cₘ < b and let g be constant on each of the pieces these points cut out, the value at each cⱼ agreeing with the constant on one of the two adjacent pieces; write dⱼ for the jump of g at cⱼ. Put every cⱼ into Pε together with one buffer point on the side carrying the jump. In a refinement, each subinterval other than the m abutting the cⱼ has both endpoints inside one piece of constancy, so a sum has exactly m terms, the j-th being dⱼ·f(ξ) for an intermediate point ξ on the side of cⱼ where the jump falls. Distributing ε as before, with M = Σ |dⱼ|, gives
  ∫ f dg = Σ dⱼ·f(cⱼ), the sum running from j = 1 to m.
這一步的所求:把敘述最後那一句「跳躍點再多也是同一個式子」證完,而不是含糊帶過。動作與兩點的情形逐條一致:把每個跳躍點 cⱼ 放進見證分割,再在它落差發生的那一側放一個緩衝點;於是任何加細裡,除了緊貼各個 cⱼ 的那 m 段以外,每一段的兩端都落在 g 的同一塊常數上,增量為零。第 j 項的中間點落在 cⱼ 的哪一側,仍由 g 在 cⱼ 補的值決定,各點互不干涉——所以每個跳躍點各自要求自己那一側的連續,方向可以彼此不同。誤差分攤照舊:每一項的函數值差小於 ε/(M + 1),乘上該點的跳躍量絕對值再加總,不超過 M·ε/(M + 1)。舉個看得見的:g 在 1, 2, 3 各跳 1、其餘地方不動,且在每個整數上都與右邊那一段同值時,M = 3,而積分是 f(1) + f(2) + f(3)——一個積分符號寫出來的東西,值是三個數相加。
integrator 只在有限多個點跳躍時,積分是一個有限和:f 在各跳躍點的值,用各點的跳躍量當權重。∎
—— 第三階段到此結束 ——

本篇把 29.2 的定義拿去測試只在幾個點跳躍的 integrator,答案是積分塌成一個有限和,權重就是各點的跳躍量。三個證明共用同一個動作:把跳躍點放進見證分割,而加細只准加點,所以它在每一個加細裡都還在,中間點也就只能從固定的一側靠近它。g 在跳躍點上補的值黏在哪一側,f 就被要求從另一側連續,方向永遠相反。下一篇換一個問題:要證明一個函數可積,非得先猜出積分值不可嗎?先站起來走動一下、把手臂伸展開、喝點水再回來。

順帶一則。這一篇的 integrator 是最省事的計分方式——整段路都不看,只在幾個指定的位置瞄一眼,然後宣布這就是全程的總分。