Classification of Discontinuities and Monotone Functions
Consider the function that rounds every real number down to the nearest integer, the floor function. At each integer it leaps abruptly. Away from integers it is perfectly smooth. Now consider a strange cousin: a function that is continuous at every irrational number. It jumps at every rational. Are these two kinds of bad behavior fundamentally different? Or are they just dressed-up versions of the same phenomenon? This article answers that question. It gives a complete taxonomy of how a function can fail to be continuous at a point. The classification — removable, jump, and essential (second-kind) discontinuities — is not mere bookkeeping. It organizes an enormous amount of analysis. This includes which functions are Riemann integrable. It also includes which functions can be "fixed" by redefinition at a single point. And it includes which singularities are genuinely irreparable. The central theorem of this article shows something striking. One entire class of functions, the monotone ones, can only ever misbehave in the mildest possible way. Every discontinuity of a monotone function is a jump. There can be at most countably many of them. This is a strong structural constraint obtained from almost no hypotheses. It requires only that the function never decreases (or never increases). The proof rests on ideas already in your toolkit. These include One-Sided Limits, the fact that bounded monotone sequences converge. It also uses a counting argument reminiscent of the proof that the rationals are countable. What is new is the way these pieces combine. Together they form a genuinely surprising global statement about the set of discontinuities. This goes beyond their local behavior at a single point. By the end you will be able to name the type of discontinuity of any function at a point. You will be able to prove the monotone function theorem from scratch. And you will see why the "rounding" intuition holds up. The idea that monotone functions can only have step-like jumps is not just visually plausible. It is a theorem with a clean, complete proof.
- A discontinuity at is classified by comparing , , and .
- Removable: both one-sided limits exist and agree, but differ from (or is undefined).
- Jump: both one-sided limits exist but disagree with each other.
- Essential (second kind): at least one one-sided limit fails to exist (as a finite number).
- Monotone functions on an interval always have one-sided limits everywhere, so they can never have essential discontinuities.
- The set of jump discontinuities of a monotone function is always countable, via an injection into the rationals.
- Key idea: monotonicity forces one-sided limits to exist at every point, collapsing all possible bad behavior into "jumps," and jumps can be counted because they carve out disjoint intervals of rational numbers.
Where this lives today
The classification of discontinuities is not an isolated curiosity; it is load-bearing machinery throughout analysis and its applications.
- Riemann integration theory. A bounded function on is Riemann integrable if and only if its set of discontinuities has Lebesgue measure zero (Lebesgue's criterion). Since every countable set has measure zero, the monotone function theorem immediately implies that every monotone function on a closed interval is Riemann integrable — a foundational result usually proved as an easy corollary of exactly this classification theorem.
- Distribution functions in probability. The cumulative distribution function (CDF) of any real random variable is nondecreasing. The theorem guarantees that a CDF has at most countably many jump discontinuities, which is precisely the set of "atoms" of the distribution — outcomes with positive probability mass. Continuous random variables are, by definition, those whose CDF has no jumps at all.
- Sturm–Liouville theory and generalized functions in physics. Step-like potentials and piecewise-defined material properties (e.g. in wave propagation through layered media) produce monotone or piecewise-monotone auxiliary functions whose jump sets must be tracked explicitly; the countability guarantee assures that numerical and analytic techniques only need to handle a discrete, listable set of interface points.
- Numerical analysis and root-finding. Bisection-type algorithms rely on the The Intermediate Value Theorem, which requires continuity; understanding exactly where a monotone function can fail continuity (only at isolated jump points) lets algorithms safely bracket roots away from the countable bad set.
- Cryptographic and combinatorial constructions. Monotone Boolean functions and monotone real-valued potential functions appear in the analysis of algorithms and in circuit complexity; discreteness (countability) of their discontinuity structure underlies arguments about worst-case behavior at threshold values.
- Real analysis pedagogy itself. The theorem is a favorite bridge result connecting Continuity of Polynomials, Rational, and Elementary Functions and One-Sided Limits to the more advanced machinery of measure theory, providing students their first taste of a "structure theorem": a global, countability-flavored conclusion extracted from a purely local, order-theoretic hypothesis.
:::quiz[The Dirichlet function on shows that, without monotonicity, which conclusion of the theorem can fail?]
- Only the "countable" conclusion fails; discontinuities remain jumps
- Both conclusions fail: discontinuities are essential (not jumps) and uncountably many ✓
- The function remains continuous everywhere, so nothing fails
- Only the "jump" conclusion fails; the set remains countable
Ask the tutor: How does this classification change if we only require to be Riemann integrable rather than monotone — can its discontinuity set still be uncountable?
Let where , and let be a limit point of from both sides (so both one-sided limits are meaningful). Say is discontinuous at if is not continuous at . Discontinuities are classified as follows. 1. Removable discontinuity: the limits and both exist (as finite real numbers) and , but either is undefined or . 2. Jump discontinuity (discontinuity of the first kind): the limits and both exist (as finite real numbers) but . The quantity is the jump of at . 3. Essential discontinuity (discontinuity of the second kind): at least one of fails to exist as a finite real number (it may oscillate, or diverge to , or not exist because only extends to one side and that side's limit fails). These three cases are mutually exclusive and, together with continuity, exhaust every possible behavior of at , provided both one-sided limits are logically available (i.e. is a two-sided limit point of ). At an endpoint of an interval only one side applies, and the classification restricts to that one side.
Intuition
Picture the graph of near as two half-graphs, one drawn as and one as . Continuity asks that both half-graphs approach the same height, and that this height matches the actual dot plotted at . A discontinuity is a failure of this matching, and the classification simply asks how the two half-graphs and the actual point disagree. If both half-graphs approach the same height but the dot is misplaced (or missing), you have a removable discontinuity — a single pinprick that could be patched by moving one point. If the two half-graphs approach different heights, no single repair works: there is a genuine step, a jump. If one of the half-graphs doesn't settle down at all — it oscillates forever, or shoots to infinity — the discontinuity is essential, and no simple picture of "two heights that disagree" even applies.
Now specialize to a monotone (say, nondecreasing) function on an interval. Because the function never turns around, the values it takes just to the left of are all bounded above by , and they only increase as climbs toward . A bounded, monotone quantity must settle down — this is exactly the completeness of at work, in the guise of "bounded monotone sequences converge." So the left-hand limit exists no matter what. The same argument, mirrored, gives the right-hand limit. The oscillating and infinite behaviors that generate essential discontinuities are therefore structurally impossible for a monotone function: it can only ever jump.
Let be monotone (either nondecreasing throughout, or nonincreasing throughout), where . Then: 1. For every , the one-sided limits
exist as finite real numbers. 2. Consequently, every point of discontinuity of in is a jump discontinuity; has no essential discontinuities. 3. The set of points of discontinuity of in is countable (finite or countably infinite).
Assume without loss of generality that is nondecreasing on , meaning . (If is nonincreasing, apply the nondecreasing case to and negate throughout; all three conclusions transfer unchanged.)
Part 1: existence of one-sided limits. Fix . Consider the set
This set is nonempty (since means is nonempty) and bounded above by : indeed for any in , monotonicity gives . By the completeness of (least upper bound property), has a supremum; set
We claim . Let . Since is the least upper bound of , is not an upper bound, so there exists with . Set . Now for any with (i.e. ), monotonicity gives
the right inequality because so . Combining,
so whenever . This is exactly the definition of , and is a finite real number since it is the supremum of a nonempty set bounded above. Hence exists and equals . The right-hand limit is symmetric. Consider
nonempty and bounded below by (since by monotonicity). By completeness, has an infimum; set , a finite real number. An entirely parallel - argument (using that is not a lower bound of , so some has , and taking ) shows
Thus both one-sided limits exist and are finite, for every . This proves Part 1. Moreover monotonicity gives us, for free, the ordering
since is an upper bound for (giving ) and a lower bound for (giving ).
Part 2: no essential discontinuities. By definition (see Continuity of Polynomials, Rational, and Elementary Functions for the general continuity definition used here), is continuous at if and only if . By Part 1 both one-sided limits always exist as finite numbers, so an essential discontinuity — which requires some one-sided limit to fail to exist finitely — is impossible at any point of . Every point of discontinuity is therefore a point where the (existing, finite) one-sided limits fail to coincide, i.e. by a point where
which is precisely a jump discontinuity. This proves Part 2.
Part 3: the discontinuity set is countable. Let be the set of discontinuities of . By Part 2, for each we have , so the open interval
is nonempty. Since is dense in , choose (using the axiom of countable choice, or explicitly the rational of least denominator, to fix a definite selection) a rational number
This defines a function . We claim is injective. Let with ; without loss of generality . Since , pick any point with . By monotonicity of :
where the middle inequality holds because is one of the points over which that supremum is taken (as ), and the first inequality holds because is the infimum over points including (as ). Hence
But , so , while , so . Combining,
so . This shows is injective. An injection from into the countable set shows is countable (finite or countably infinite), by the standard fact that any set injecting into a countable set is countable. This proves Part 3, and completes the proof of the theorem.
∎Worked examples
Example 1 (classifying discontinuities of an explicitly built function). Define by
Classify the behavior of at and . At : Compute the one-sided limits using continuity of polynomials on each piece (see Continuity of Polynomials, Rational, and Elementary Functions):
Both one-sided limits exist and are equal, . But . This is exactly the removable case: the two half-graphs agree with each other but not with the plotted value. Redefining would make continuous at ; no such redefinition is possible at the other points below, which is the substantive difference between removable and jump singularities. At : From the left,
From the right, we must check whether exists as a finite number. As , the denominator through positive values, so ; the limit does not exist as a real number. Since one of the one-sided limits fails to exist finitely, is an essential discontinuity of — no value of , and no amount of patching a single point, can repair this: the function is genuinely unbounded on every one-sided punctured neighborhood of .
Example 2 (verifying the monotone-function theorem on a hand-built example with infinitely many jumps). Define by
where is the Heaviside step function, for and for . The jump points are for , an increasing sequence converging to , together they accumulate at itself (check: is discontinuous at too? We check below.). Step 1: is nondecreasing. The term is strictly increasing, contributing rate . Each term is nondecreasing (a jump up of size , flat elsewhere). A sum of a strictly increasing function and nondecreasing functions is strictly increasing, in particular nondecreasing. So the hypothesis of the theorem is satisfied on (we work on the open interval to match the theorem; endpoint behavior is a one-sided variant). Step 2: locate discontinuities and check they are jumps. At each (for ; note is the left endpoint, so consider for genuinely interior points), the term jumps from to exactly at , while every other term in the (uniformly convergent, since converges) series is continuous at (either identically nearby, since for keeps those terms at near , or identically nearby, since for keeps those terms at near , and there are only finitely many indices , so no accumulation issue arises locally). Hence near ,
and the jump size is exactly : a genuine jump discontinuity, matching Part 2 of the theorem (never removable, never essential). Step 3: check , the accumulation point of the . For slightly less than , say with small, every with satisfies , so those terms are still at ; as (i.e. ), all the jump terms with get absorbed, and
Here we used that the series converges absolutely, so the limit of partial information as is exactly the full infinite sum — this is where uniform convergence of the defining series is doing real work, guaranteeing as . Also directly from the formula (every ). And for , exactly (all steps already taken), so as well. So is actually continuous at , despite being the limit of infinitely many jump points! This confirms Part 3 of the theorem in a strong form: the discontinuity set is , a countably infinite set (matching the theorem's guarantee of countability, realized here as genuinely infinite, but with the accumulation point itself remaining a point of continuity — nothing in the theorem forbids that, and this example shows why the countability conclusion is the correct, sharp one rather than "finite").
Counterexample: why monotonicity cannot be dropped
The theorem's conclusion — only jumps, and only countably many of them — depends essentially on monotonicity. Drop that hypothesis, keeping only boundedness on a compact interval, and both conclusions can fail completely. Define Thomae-type and Dirichlet-type hybrids to see two separate failures.
Failure of "only countably many discontinuities": Let be the Dirichlet function on : if , if . This function is bounded but nowhere monotone on any subinterval (it is not monotone on any interval at all, since both rationals and irrationals are dense in every subinterval, so takes both values and infinitely often in any interval, violating any monotone trend). At every point : any neighborhood of contains both rationals (where ) and irrationals (where ), so does not converge to any single value as from either side — neither nor exists. Every point is an essential discontinuity, and the discontinuity set is all of , which is uncountable. This single example breaks both conclusions of the theorem simultaneously, precisely because monotonicity is absent.
Failure while still having one-sided limits fail on an uncountable set, via boundedness alone: even restricting to functions where the failure is "milder," dropping monotonicity while keeping boundedness is not enough to save the theorem — the Dirichlet function above is already bounded (values in ) yet catastrophically bad, which shows boundedness is not a substitute for monotonicity in this argument. The key structural fact used twice in the proof — that is bounded by itself via monotonicity, and that distinct discontinuities produce disjoint rational-witnessing intervals via the ordering — has no analogue without monotonicity, and the Dirichlet function shows the collapse is total, not partial.
Scope, edge cases & common traps
| Situation | What happens | Why |
|---|---|---|
| is an endpoint of the domain interval | Only one one-sided limit is defined; classify using that side alone | The other side is not a limit point of the domain |
| monotone on an unbounded interval, e.g. | Theorem still applies verbatim to every interior point | Proof only used local order structure near , not boundedness of the domain |
| monotone but not injective (has flat pieces) | No discontinuities are created or destroyed by flat pieces | Flat pieces only affect whether is strictly monotone, irrelevant to the proof |
| Infinitely many jump points accumulating at | can still be continuous at (Example 2) | Countability of does not forbid infinite accumulation, only forbids uncountability |
| Confusing "removable" with "can always be ignored" | Removable discontinuities still make actually discontinuous as defined | "Removable" describes repairability, not current continuity |
| Assuming continuity + monotone constant on jump-free intervals only | Not a valid inference; monotone + continuous is entirely compatible with strictly increasing behavior | The theorem is about discontinuities, not about ruling out continuous strict increase |
The mathematician behind it
Origins · 1 minKarl Weierstrass and how this was discovered
Karl Weierstrass is the figure most responsible for the – precision that makes a theorem like this one possible to state and prove without appeal to intuition about "smoothness." Before Weierstrass, mathematicians routinely worked with functions and limits using geometric or infinitesimal reasoning that could not distinguish a removable discontinuity from an essential one in any rigorous sense — the very taxonomy in this article presupposes his definitions of limit and continuity. Weierstrass also constructed a function continuous everywhere but differentiable nowhere, forcing the field to accept that intuition about "nice" functions can be badly wrong, which is exactly the spirit in which one should approach the Dirichlet-function counterexample above. His insistence on constructive, quantifier-precise definitions turned analysis from a collection of plausible arguments into the deductive discipline in which theorems like the monotone-function theorem can be proved with complete rigor.
How do I quickly tell removable from jump from essential in practice?
Compute both one-sided limits first. If either fails to exist as a finite number (oscillation, or blow-up to ), stop — it's essential. If both exist and are finite, compare them: if they're unequal, it's a jump, full stop, regardless of what is. If they're equal to each other, check whether that common value equals ; if not (or is undefined), it's removable. This ordered checklist — existence first, then equality of the two limits, then agreement with — mirrors exactly the definition and avoids the common error of comparing to the limits before confirming the limits even exist.
Does the monotone function theorem require to be continuous somewhere, or bounded?
No boundedness assumption is needed at all: the proof only uses that is bounded above by (from monotonicity itself, not from an external bound), and symmetrically for the right side. The domain can be an unbounded interval like or , and need not be continuous anywhere — indeed a strictly increasing step function with infinitely many jumps, as in Example 2, satisfies the theorem's hypotheses while being discontinuous at infinitely many points, and is not close to continuous "generically" in any topological sense beyond the countability guarantee.
Is the converse true: does having only countably many jump discontinuities imply monotonicity?
No, and this converse is false in a strong sense. A function can be constant everywhere except for finitely many upward and downward jumps and still have only jump discontinuities forming a finite (hence countable) set, without being monotone anywhere nontrivial — for instance a function equal to on , jumping up to at , then down to just after, is not monotone yet has only countably many jumps. The theorem is a one-directional implication: monotonicity is sufficient but not necessary for "only countably many jump discontinuities." No claim of a converse is made or needed here.
What role does the completeness of the real numbers play in the proof?
It is the single indispensable ingredient. The existence of and in Part 1 relies exactly on the least upper bound property of , which fails, for instance, over . If you tried to run this theorem with , a bounded monotone set of rationals need not have a rational supremum (e.g. approaching ), so one-sided limits might fail to exist within , and the entire argument collapses. This is the same completeness fact used to show bounded monotone sequences converge, which many treatments use as an equivalent packaging of the same idea.
Can a monotone function have uncountably many points where it is merely "not differentiable" but still continuous?
Yes — and this is a different phenomenon from the one this theorem addresses. The theorem only controls discontinuities, not failures of differentiability. In fact, a deeper theorem (Lebesgue's differentiation theorem for monotone functions) shows a monotone function is differentiable almost everywhere (in the measure-theoretic sense), but the classic Cantor function shows continuous monotone functions can fail to be differentiable on an uncountable (measure-zero) set, the Cantor set. That is a strictly harder and separate result, outside the scope of the discontinuity classification given here.
Why can't and overlap for two different discontinuities , and why does that matter?
The proof shows using an intermediate point between and and monotonicity on both sides. Since lies entirely at or below , and lies entirely at or above , the two open intervals cannot share a point. This disjointness is exactly what guarantees the chosen rationals , which is the entire mechanism making the map into injective, and therefore what makes the discontinuity set countable.
Does this classification extend to functions of several variables?
The three-way classification (removable/jump/essential) does not transfer cleanly, because in for there is no canonical notion of "one-sided limit" — a point can be approached from infinitely many directions, and even all directional limits agreeing does not imply the full multivariable limit exists (a classic trap with functions like ). The monotone function theorem itself has no direct multivariable analogue either, since "monotone" is fundamentally a one-dimensional order-theoretic notion; multivariable generalizations replace it with quite different structural hypotheses such as convexity or partial monotonicity in each coordinate separately.