Why Products Preserve Riemann Integrability: A Local Oscillation Proof

This note proves that if f and g are Riemann integrable on a compact interval, then their product fg is also Riemann integrable.

There are several standard ways to prove this theorem. One common route is to use upper and lower step-function approximations, sometimes after splitting the functions into positive and negative parts so that multiplication behaves monotonically. That approach is correct and efficient, but it also introduces extra machinery because products do not interact with upper and lower bounds as cleanly as maxima do unless one controls signs.

The proof in the PDF below takes a different route. It works directly with local oscillation. Instead of asking how to multiply lower and upper approximations, it asks a simpler and more flexible question:

How much can the product fg move on a small interval?

The key identity is the elementary difference expansion

f(x)g(x) − f(y)g(y) = (f(x) − f(y))g(x) + f(y)(g(x) − g(y)).

This identity exposes the mechanism. If f and g are bounded, then the movement of the product is controlled by the movement of f and the movement of g. More precisely, on any subinterval I,

oscI(fg) ≤ Mg oscI(f) + Mf oscI(g),

where Mf and Mg are bounds for the absolute values of f and g. Once this local estimate is obtained, the rest of the proof is the Darboux criterion: choose a common refinement of good partitions for f and g, sum the local oscillation estimates, and make the upper-lower gap for fg arbitrarily small.

The point of this proof is not just to establish the theorem. The point is to practice a reusable analysis maneuver: expand the difference at two points, isolate the genuinely varying pieces, use boundedness to absorb coefficients, and convert local control into global integrability.

This is why the local oscillation method is worth studying. In elementary cases, it may look slightly more hands-on than the slickest available proof. But the method scales well. In harder problems, especially when terms interact in less symmetric ways, one often cannot rely on a clean algebraic identity or a perfectly packaged abstraction. One has to open the expression, track how each part moves, and build the estimate directly.

So this note is meant as a proof workout. The theorem is classical, but the proof pattern is important: localize, compare values at two points, expand the difference, control each term by known oscillations, and sum over the partition.

Leave a comment