Why Partitions Need to Treat Jumps Differently
A small partition mesh is useful, but by itself it does not make the function vary only a little on every subinterval. Near a jump, an interval can be very short and still contain function values separated by a substantial amount. A successful partition therefore handles jump points and continuous portions in different ways.
The strategy is to surround each jump with a short interval. Boundedness limits the possible contribution from that interval, and its length can be made small. On the remaining portions, continuity lets us make the oscillation small by subdividing finely enough.
Oscillation on a Partition Interval
A partition of \([a,b]\) is a finite increasing list \(P=\{x_0,x_1,\ldots,x_n\}\), where \(a=x_0<x_1<\cdots<x_n=b\). Its subintervals are \([x_{i-1},x_i]\), and its mesh is the length of its largest subinterval.
This identity follows by subtracting the lower-sum term from the upper-sum term on each subinterval and then adding the differences. Each contribution is nonnegative. A partition with small \(U(f,P)-L(f,P)\) has little total oscillation, weighted by interval length.
For a bounded function, the Riemann criterion says that it is Riemann integrable if, for every \(\varepsilon>0\), there is a partition \(P\) for which \(U(f,P)-L(f,P)<\varepsilon\). The construction below explains how to obtain such partitions for bounded piecewise continuous functions with finitely many jump points.
Isolate the Jump Points
Suppose the possible jumps occur at the finitely many interior points \(c_1,\ldots,c_N\), and \(f\) is bounded, say \(|f(x)|\le M\). Choose short intervals around the jumps, with endpoints included in the partition. Call subintervals lying in these neighborhoods exceptional; call the remaining subintervals regular.
On any exceptional interval \(I\), boundedness gives \(\sup_I f\le M\) and \(\inf_I f\ge -M\). Thus \(\operatorname{osc}(f,I)\le 2M\). If the total length of all exceptional intervals is at most \(\eta\), their total contribution to \(U-L\) is at most \(2M\eta\).
On the regular pieces, the function is continuous. Once the jump neighborhoods have been chosen, each remaining piece is a closed interval on which the function is continuous. A continuous function on a closed bounded interval is uniformly continuous: for every \(\gamma>0\), there is a distance \(\rho>0\) such that points less than \(\rho\) apart have function values less than \(\gamma\) apart. Subdividing the regular pieces into intervals shorter than \(\rho\) therefore makes their oscillations at most \(\gamma\).
Why the Construction Works
Here a jump point means a point where the finite left-hand and right-hand limits exist but are unequal. The function's value at the jump itself may be either of those values or another bounded value. The proof uses a partition that includes the endpoints of neighborhoods around every jump.
Let the interval length be \(D=b-a>0\), and first suppose \(M>0\). Given \(\varepsilon>0\), choose jump neighborhoods with total length \(\eta<\varepsilon/(4M)\). Because there are finitely many jumps, their radii can be made small enough that the neighborhoods are disjoint and have this total length. Their contribution is at most \(2M\eta<\varepsilon/2\).
Set \(\gamma=\varepsilon/(2D)\). On every closed regular piece, uniform continuity gives a positive subdivision width such that intervals no wider than that width have oscillation at most \(\gamma\). There are finitely many pieces, so subdivide each accordingly.
The total length of the regular pieces is at most \(D\). Their contribution is therefore at most \(\gamma D=\varepsilon/2\). Including the exceptional pieces gives \(U(f,P)-L(f,P)<\varepsilon\), so the Riemann criterion implies integrability.
If there are no jump points, the same argument uses uniform continuity on the whole interval. If \(M=0\), then \(f\) is identically zero and every upper-minus-lower sum is zero. If \(a=b\), there are no positive-length subintervals to control. These cases complete the argument without requiring the positive-length or positive-bound choices in the proof.
Worked Example: One Jump in a Step Function
Worked Example: One Jump in a Step Function
Let \(f:[0,1]\to\mathbb R\) be \(f(x)=-1\) for \(0\le x<1/2\), and \(f(x)=2\) for \(1/2\le x\le1\). Isolate the jump using the interval \([49/100,51/100]\). Use the partition \(P=\{0,49/100,51/100,1\}\).
The exceptional interval has length \(51/100-49/100=2/100=1/50\). Its infimum is \(-1\), its supremum is \(2\), and its oscillation is \(2-(-1)=3\). Its contribution to \(U-L\) is \(3(1/50)=3/50=0.06\).
The two other intervals lie wholly in constant portions of \(f\), so their oscillations are both zero. Thus \(U(f,P)-L(f,P)=0.06\). In particular, this partition meets the Riemann criterion for any tolerance greater than \(0.06\). The calculation checks both parts of the construction: the jump interval contributes its oscillation times its short length, while the regular intervals contribute nothing.
Worked Example: A Jump Between Linear Pieces
Worked Example: A Jump Between Linear Pieces
Define \(f:[0,1]\to\mathbb R\) by \(f(x)=x\) when \(0\le x<1/2\), and \(f(x)=x+1\) when \(1/2\le x\le1\). Use the exceptional interval \([49/100,51/100]\). Divide each remaining interval, \([0,49/100]\) and \([51/100,1]\), into 49 equal pieces.
The exceptional interval has length \(2/100=0.02\). On it, the minimum is \(49/100=0.49\), while the maximum is \(151/100=1.51\). Its oscillation is \(151/100-49/100=102/100=1.02\), so its contribution is \(1.02(0.02)=0.0204\).
Each regular piece has length \((49/100)/49=1/100\). On either linear portion, the function changes by exactly the interval length, so each regular piece has oscillation \(1/100=0.01\). There are 98 such pieces, giving a combined contribution \(98(0.01)(0.01)=0.0098\). Therefore \(U(f,P)-L(f,P)=0.0204+0.0098=0.0302\). The result is less than \(0.04\), as can be checked by comparing \(0.0302<0.0400\). Notice that continuity controls the regular pieces, but the jump interval needs a separate estimate.
Worked Example: Two Jumps with Different Sizes
Worked Example: Two Jumps with Different Sizes
Let \(f:[0,1]\to\mathbb R\) equal \(0\) for \(0\le x<1/3\), \(3\) for \(1/3\le x<2/3\), and \(-2\) for \(2/3\le x\le1\). Surround each jump by an interval of radius \(1/100\). The two exceptional intervals are \([1/3-1/100,1/3+1/100]\) and \([2/3-1/100,2/3+1/100]\). They do not overlap: the distance between their centers is \(1/3\), greater than their combined radius \(2/100\).
Each exceptional interval has length \(2/100=0.02\). The first contains the values \(0\) and \(3\), so its oscillation is \(3\); its contribution is \(3(0.02)=0.06\). The second contains the values \(3\) and \(-2\), so its oscillation is \(3-(-2)=5\); its contribution is \(5(0.02)=0.10\).
Every remaining interval lies in a constant piece, so its oscillation is zero. Hence \(U(f,P)-L(f,P)=0.06+0.10=0.16\). As a check, the two jumps have different oscillations, and the larger jump contributes more even though the exceptional intervals have equal lengths.
A Common Mistake: Small Width Does Not Mean Small Oscillation
Consider again the step function that is \(-1\) to the left of \(1/2\) and \(2\) at and to the right of \(1/2\). A tempting but incorrect claim is: “If every subinterval has width at most \(1/100\), then every oscillation is at most \(1/100\).” An interval of width \(1/100\) that contains \(1/2\) has oscillation \(2-(-1)=3\), not \(1/100\). Width alone does not control variation across a jump.
The correction is to separate the two estimates. Put the jump inside a short exceptional interval and use boundedness there: its contribution is at most \(2M\) times its length. Then subdivide the continuous portions finely enough that uniform continuity controls their oscillations. A partition may have a small mesh and still need this separate treatment of jumps.
Why This Partition Design Matters
The construction turns a qualitative description—“continuous except for a few jumps”—into a quantitative estimate. One chooses the total exceptional length to control the jumps and then chooses regular subdivisions to control continuous variation. The same upper-minus-lower sum identity keeps track of both effects in a single calculation.
Changing the value of a function at finitely many points does not obstruct this construction: those points can be included in the exceptional intervals, and the function remains bounded there. The estimate depends on the length assigned to the exceptional region, not on making the function continuous at each jump.
Check Your Understanding
Answer each question by referring to the oscillation-times-length estimate.
- If \(|f(x)|\le M\), what is an upper bound for the oscillation on any subinterval?
- Why can a very short interval containing a jump still have large oscillation?
- How does making the total exceptional length small control the contribution from all jump neighborhoods?
- Why can uniform continuity be used on the regular pieces after the jump neighborhoods are chosen?
- In the two-jump example, what were the separate contributions to \(U-L\), and why were they different?