Real analysis becomes clear when you stop treating definitions as ceremonial and start treating them as contracts. A definition tells you what you are allowed to use, what you must prove, and what the statement is not saying. Counterexamples are the quickest way to learn those contracts because they expose the hidden clause you were unconsciously assuming.
This article develops one family of counterexamples that repeatedly shows up across limits, continuity, integration, and functional convergence. It is not a weird pathology. It is a disciplined construction that forces you to separate three ideas that look similar early on:
Streaming Device Pick4K Streaming Player with EthernetRoku Ultra LT (2023) HD/4K/HDR Dolby Vision Streaming Player with Voice Remote and Ethernet (Renewed)
Roku Ultra LT (2023) HD/4K/HDR Dolby Vision Streaming Player with Voice Remote and Ethernet (Renewed)
A practical streaming-player pick for TV pages, cord-cutting guides, living-room setup posts, and simple 4K streaming recommendations.
- 4K, HDR, and Dolby Vision support
- Quad-core streaming player
- Voice remote with private listening
- Ethernet and Wi-Fi connectivity
- HDMI cable included
Why it stands out
- Easy general-audience streaming recommendation
- Ethernet option adds flexibility
- Good fit for TV and cord-cutting content
Things to know
- Renewed listing status can matter to buyers
- Feature sets can vary compared with current flagship models
- Pointwise convergence versus uniform convergence
- Convergence of functions versus convergence of integrals
- Close most of the time versus controlled everywhere
The main character is a sequence of functions that forms a needle: tall, narrow spikes that move around. Your intuition says a spike that gets narrower should go away. Real analysis replies: only if you can control it in the correct sense.
The spike sequence
Define a sequence of functions on the interval [0,1] by
f_n(x)= n if 0≤x≤1/n, and f_n(x)=0 if 1/n < x ≤ 1.
You can picture f_n as a rectangle: height n, width 1/n, sitting at the left end of the interval. Its area is exactly
∫_0^1 f_n(x) dx = n · (1/n) = 1.
So every f_n has integral equal \to 1.
Now ask: what is the pointwise limit of f_n as n→∞?
Fix a point x in (0,1]. For sufficiently large n, we have 1/n < x. That means for large n, x lies in the region where f_n(x)=0. Therefore,
lim_{n→∞} f_n(x) = 0 for every x in (0,1].
At the single point x=0, the value is f_n(0)=n, which diverges. So the pointwise limit exists for all x in (0,1] and equals 0, while at 0 the sequence diverges.
If you modify the definition by setting f_n(0)=0 for all n, you obtain a sequence that converges pointwise \to 0 on all of [0,1]. For the conceptual lesson, it is better to keep the discussion on (0,1] or to redefine at 0 so pointwise convergence holds everywhere. We will use the modified version:
f̃_n(x)= n if 0<x≤1/n, f̃_n(x)=0 if 1/n<x≤1, and f̃_n(0)=0.
Then f̃_n → 0 pointwise on [0,1], and ∫_0^1 f̃_n = 1 still holds.
This is already the first counterexample:
- f̃_n → 0 pointwise
- but ∫ f̃_n does not approach ∫ 0 because 1 does not approach 0
So pointwise convergence does not justify exchanging limit and integral.
The surprising part is that nothing mystical occurred. The functions are simple. The failure comes from the absence of a uniform control that would let you pass the limit through the integral sign.
Where the proof attempt breaks
Many learners try to prove
lim_{n→∞} ∫_0^1 f̃_n(x) dx = ∫_0^1 lim_{n→∞} f̃_n(x) dx
by reasoning like this:
Since f̃_n(x) → 0 for each x, the values should eventually be small, so their integrals should eventually be small.
The hidden assumption is a uniformity assumption: you are acting as though there exists an index N such that for all n≥N and for all x in [0,1], the value |f̃_n(x)| is small. That is exactly uniform convergence.
But uniform convergence fails dramatically here. In fact,
sup_{x∈[0,1]} |f̃_n(x) − 0| = sup_{x∈[0,1]} f̃_n(x) = n,
so the supremum grows, not shrinks.
Pointwise convergence tells you: for each fixed x, you can make f̃_n(x) small by taking n large enough, but that index depends on x. There is no single N that works for all points at once.
The spike uses that gap. Every time you increase n, the spike gets narrower, but it also gets taller, and the supremum control gets worse.
A second lesson: pointwise limits of continuous functions can be discontinuous
Now consider the antiderivative (cumulative integral) of f̃_n:
F_n(x) = ∫_0^x f̃_n(t) dt.
We can compute F_n explicitly.
- If 0 ≤ x ≤ 1/n, then F_n(x) = ∫_0^x n dt = n x.
- If x > 1/n, then F_n(x) = ∫_0^{1/n} n dt = 1.
So
F_n(x) = n x for 0 ≤ x ≤ 1/n, and F_n(x)=1 for 1/n < x ≤ 1.
Each F_n is continuous, and the family F_n converges pointwise \to a discontinuous function:
F(0)=0 and F(x)=1 for 0<x≤1.
This is another core counterexample: a pointwise limit of continuous functions need not be continuous.
Again, the reason is that pointwise convergence is too weak. Uniform convergence would preserve continuity, but we do not have it. Near 0 the behavior changes with n.
This construction is an entry point to three ideas that should stay separate:
- Continuity is about local behavior at each point
- Uniform continuity is about a single modulus working everywhere
- Uniform convergence is about a single index controlling error everywhere
The spike sequence shows how local control can fail to assemble into global control.
The same idea, moved around: traveling spikes
The simplest spike sits at 0, but you can move it. Let x_n be points in [0,1], and define
g_n(x) = n if |x − x_n| ≤ 1/(2n), and g_n(x)=0 otherwise.
Then each g_n has integral 1 on [0,1] as long as the spike interval stays inside the domain (or you adjust at the boundary). For each fixed x, if x_n avoids x eventually, then g_n(x) → 0. If x_n hits x infinitely often, then g_n(x) does not converge.
This allows you to craft examples for any pattern you need:
- Spikes that converge pointwise almost everywhere but not everywhere
- Spikes that sweep across the interval so no pointwise limit exists
- Spikes that concentrate near a dense set to break naive it is small most places reasoning
Real analysis trains you to ask: what sense of most places do you mean? Almost everywhere, in measure, in L^p, uniformly. Each one has its own stability theorems, and each one has its own counterexamples.
What hypotheses would fix the failure
A counterexample is not complete until you can say precisely what would have prevented it. Here are three standard fixes for limit and integral commute, each addressing a different weakness.
Uniform convergence on a finite interval
If f_n → f uniformly on [0,1], then
lim_{n→∞} ∫_0^1 f_n = ∫_0^1 f.
Proof uses the contract directly:
|∫_0^1 f_n − ∫_0^1 f| ≤ ∫_0^1 |f_n − f| ≤ sup_{x∈[0,1]} |f_n(x) − f(x)|.
Uniform convergence makes that supremum go \to 0. The spike breaks this because the supremum does not go \to 0.
Dominated convergence
Uniform convergence is stronger than necessary. A central result of measure theory is the dominated convergence theorem:
If f_n → f almost everywhere and |f_n| ≤ g for an integrable function g, then ∫ f_n → ∫ f.
The spike breaks this because there is no single integrable function that dominates f̃_n for all n. The heights blow up. Any candidate g would have to exceed n on (0,1/n] for all n, which forces a nonintegrable singularity near 0.
This is the key moral: pointwise convergence does not control tails. Domination is global tail control.
Convergence in L^1
A third fix is to demand that ||f_n − f||_1 → 0. Then ∫ f_n → ∫ f because
|∫ (f_n − f)| ≤ ∫ |f_n − f| = ||f_n − f||_1.
The spike breaks this too: ||f̃_n − 0||_1 = 1 for all n.
So the same example teaches three contracts simultaneously:
- Uniform convergence controls worst-case error
- Domination controls size through an external integrable bound
- L^1 convergence controls average absolute error
Pointwise convergence controls none of these.
A worked diagnostic habit
When you face a claim of the form since f_n → f we can pass the limit through an operation, train yourself to ask:
- Does the operation respond to worst-case values (like sup) or to averages (like integrals)?
- Is my convergence local (pointwise) or global (uniform, L^p, in measure)?
- Do I have a single bound that applies to every n, not just each n separately?
- Where could mass concentrate as n changes?
Spikes answer the last question: mass can concentrate into smaller regions while keeping total area fixed.
Why this is not merely an oddity
The spike sequence is a discrete version of a broader phenomenon: concentration without loss of total quantity. In applications, you see it when approximations become sharply peaked, when gradients become large near interfaces, or when numerical schemes develop boundary layers. Real analysis provides the right language to decide which conclusions are stable under such concentration.
The point is not to memorize this specific sequence. The point is to recognize the mechanism:
- A property verified pointwise can fail to control a global functional
- A global functional can remain stable under concentration
- Stability depends on the right notion of convergence and the right uniform bounds
If you can explain, from the definitions, exactly why f̃_n → 0 pointwise but ∫ f̃_n does not approach 0, you have internalized a large piece of real analysis. Every time you later meet a theorem that allows exchanging limits with integrals, derivatives, or suprema, you will know what obstacle that theorem is removing.
Books by Drew Higgins
Bible Study / Spiritual Warfare
Ephesians 6 Field Guide: Spiritual Warfare and the Full Armor of God
Spiritual warfare is real—but it was never meant to turn your life into panic, obsession, or…

Leave a Reply