The Cauchy Criterion for Uniform Convergence

Suppose you are handed a sequence of functions fn:[0,1]→Rf_n:[0,1]\to\mathbb{R}. You are asked whether it converges uniformly. But you have no candidate limit function to test against. Checking the definition of Uniform Convergence directly seems to require already knowing the answer ff. That definition speaks of sup⁡x∣fn(x)−f(x)∣→0\sup_x|f_n(x)-f(x)|\to 0. This is exactly the obstruction that the ordinary Cauchy criterion resolves for sequences of numbers. It lets you certify convergence of a sequence in R\mathbb{R} using only the terms themselves. The limit itself is never needed. The question this article answers is whether the same trick works one level up. Does it work for sequences of functions converging uniformly? The answer is yes. The mechanism is the same completeness phenomenon that makes R\mathbb{R} itself work. We introduce the uniform Cauchy condition: for every ε>0\varepsilon>0 there is an NN such that sup⁡x∣fn(x)−fm(x)∣<ε\sup_x|f_n(x)-f_m(x)|<\varepsilon for all m,n≥Nm,n\ge N. The Cauchy Criterion for Uniform Convergence asserts something important. A sequence of real-valued functions on a set SS converges uniformly on SS if and only if it satisfies this condition. This single equivalence is the load-bearing wall behind an enormous amount of analysis. It is the quiet reason the Weierstrass M-Test works. It is the reason spaces of bounded or continuous functions equipped with the sup-norm are complete metric spaces. It is the reason we can build functions as limits of sequences we can only partially control. Examples include the Weierstrass nowhere-differentiable function, or solutions of differential equations via Picard iteration. The deep idea is that uniform convergence is really convergence in a metric space. This space consists of bounded functions S→RS\to\mathbb{R} with the metric d(f,g)=sup⁡x∣f(x)−g(x)∣d(f,g)=\sup_x|f(x)-g(x)|. This metric space is complete. Completeness of a metric space means precisely that Cauchy sequences converge. So the Cauchy criterion for uniform convergence is nothing but the completeness of this function space. That completeness is inherited from the completeness of R\mathbb{R}. Seeing it this way turns a seemingly ad hoc ε\varepsilon-NN statement into something more. It becomes an instance of a single unifying principle. This article gives the precise definitions. It proves the equivalence in full, using only the completeness of R\mathbb{R} and basic Cauchy-sequence facts. It works two concrete asymmetric examples. It shows what fails without completeness of the codomain. Finally, it connects the result forward to the tools that make it practically indispensable — the M-test and term-by-term integration.

Key takeaways
  • The uniform Cauchy condition says sup⁡x∣fn(x)−fm(x)∣→0\sup_x|f_n(x)-f_m(x)|\to 0 as m,n→∞m,n\to\infty, with no reference to a limit function.
  • The Cauchy Criterion states: (fn)(f_n) converges uniformly on SS   ⟺  \iff (fn)(f_n) is uniformly Cauchy on SS.
  • The proof builds the limit pointwise (using completeness of R\mathbb{R}), then upgrades pointwise to uniform convergence.
  • This is exactly completeness of the sup-norm space B(S,R)B(S,\mathbb{R}) of bounded functions — Cauchy sequences of functions converge there.
  • It certifies uniform convergence without ever naming the limit function, which is essential for the Weierstrass M-Test.
  • Key idea: uniform convergence of functions is convergence in a complete metric space, so it obeys its own Cauchy criterion.

Where this lives today

The uniform Cauchy criterion is the engine inside the Weierstrass M-Test: to show ∑fk\sum f_k converges uniformly, one bounds ∣fk(x)∣≤Mk|f_k(x)|\le M_k with ∑Mk<∞\sum M_k<\infty, and the tail estimate ∑k=n+1mMk→0\sum_{k=n+1}^m M_k \to 0 is exactly what makes the partial sums uniformly Cauchy — precisely the pattern used in Example 1 above. It also underlies why term-by-term integration and differentiation of uniformly convergent series are valid, a cornerstone of real analysis courses covering power series and Fourier series. In functional analysis, the corollary that B(S,R)B(S,\mathbb{R}) (and its close relatives C(S,R)C(S,\mathbb{R}), the continuous bounded functions, and ℓ∞\ell^\infty, bounded sequences) are complete under the sup-norm is the first example of a Banach space, the setting for the entire theory of normed vector spaces used throughout PDE theory, numerical analysis, and quantum mechanics (where state spaces are complete normed or inner-product spaces). The existence-and-uniqueness theorem for ordinary differential equations (Picard–Lindelöf) constructs its solution as the uniform limit of a Cauchy sequence of approximations, verified using exactly this criterion. In numerical analysis, error bounds for approximating a function by a sequence (splines, Fourier partial sums, neural-network approximants under uniform norm) are typically phrased as uniform Cauchy estimates, since one rarely knows the true limiting function in closed form — mirroring Example 1 exactly. In cryptography and complexity theory, uniform approximation bounds for functions (e.g. in constructing pseudorandom generators or in analyzing Boolean function approximation) also implicitly rely on completeness of the relevant function space to guarantee that Cauchy approximation schemes actually converge to a genuine limiting object.

:::quiz[In Example 2, gn(x)=xn(1−xn)g_n(x) = x^n(1-x^n) on [0,1][0,1], what is sup⁡x∈[0,1]gn(x)\sup_{x\in[0,1]} g_n(x)?]

  • 00
  • 1/41/4 ✓
  • 11
  • It depends on nn and grows without bound

Ask the tutor: How does the uniform Cauchy criterion get used inside the proof of the Weierstrass M-Test, step by step?

DefinitionUniform Cauchy Sequence of Functions

Let SS be a nonempty set and let fn:S→Rf_n:S\to\mathbb{R} for n=1,2,3,…n=1,2,3,\dots be a sequence of functions. The sequence (fn)(f_n) is called uniformly Cauchy on SS if for every ε>0\varepsilon>0 there exists N∈NN\in\mathbb{N} such that

m,n≥N  ⟹  sup⁡x∈S∣fn(x)−fm(x)∣<ε.m,n\ge N \implies \sup_{x\in S}|f_n(x)-f_m(x)| < \varepsilon.

Equivalently: for every ε>0\varepsilon>0 there is NN such that ∣fn(x)−fm(x)∣<ε|f_n(x)-f_m(x)|<\varepsilon for all x∈Sx\in S simultaneously, whenever m,n≥Nm,n\ge N. Recall that (fn)(f_n) converges uniformly on SS to a function f:S→Rf:S\to\mathbb{R} if for every ε>0\varepsilon>0 there is NN such that n≥Nn\ge N implies sup⁡x∈S∣fn(x)−f(x)∣<ε\sup_{x\in S}|f_n(x)-f(x)|<\varepsilon.

Intuition

Think of each function fnf_n as a point in a very large space — the space of all bounded functions S→RS\to\mathbb{R} — where the "distance" between two functions ff and gg is

d(f,g)=sup⁡x∈S∣f(x)−g(x)∣,d(f,g) = \sup_{x\in S}|f(x)-g(x)|,

the largest vertical gap between their graphs. A sequence of functions converging uniformly is just a sequence of points converging in this metric: eventually every fnf_n lies within a thin horizontal "tube" of radius ε\varepsilon around the limit function's graph, uniformly across the whole domain. The uniform Cauchy condition asks something more modest and checkable: that the functions eventually get close to each other (all graphs squeezed into a tube of width ε\varepsilon around one another), not close to some already-known target. The proof that these two notions coincide mirrors exactly why R\mathbb{R} is complete: at each fixed point xx, (fn(x))(f_n(x)) is an ordinary Cauchy sequence of real numbers, so it converges by completeness of R\mathbb{R}; this manufactures a candidate limit function f(x)=lim⁡nfn(x)f(x) = \lim_n f_n(x) pointwise. The real work is then showing the convergence is not just pointwise but uniform — that the same NN works for every xx at once, which follows by letting m→∞m\to\infty inside the uniform estimate.

Figure
Uniform Cauchy tube: graphs of fnf_n squeeze together as nn grows
x y 0 1 f (limit) tube of radius ε f_N (N large: inside tube) f_M (M large: inside tube) sup_x |f_N(x) − f_M(x)| < ε
TheoremCauchy Criterion for Uniform Convergence

Let SS be a nonempty set and let fn:S→Rf_n:S\to\mathbb{R}, n=1,2,3,…n=1,2,3,\dots, be a sequence of real-valued functions on SS. Then (fn)(f_n) converges uniformly on SS (to some function f:S→Rf:S\to\mathbb{R}) if and only if (fn)(f_n) is uniformly Cauchy on SS.

Proof

We prove both directions. The technique is: (⇒\Rightarrow) a direct triangle-inequality estimate; (⇐\Leftarrow) construction of the limit via completeness of R\mathbb{R} pointwise, followed by a uniform estimate obtained by passing to a limit inside an inequality.

(⇒\Rightarrow) Uniform convergence implies uniformly Cauchy. Assume fn→ff_n \to f uniformly on SS. Let ε>0\varepsilon>0. By the definition of uniform convergence applied to ε/2>0\varepsilon/2>0, there exists N∈NN\in\mathbb{N} such that for all n≥Nn\ge N,

sup⁡x∈S∣fn(x)−f(x)∣<ε2.\sup_{x\in S}|f_n(x)-f(x)| < \frac{\varepsilon}{2}.

Now let m,n≥Nm,n\ge N and let x∈Sx\in S be arbitrary. By the triangle inequality for absolute value,

∣fn(x)−fm(x)∣≤∣fn(x)−f(x)∣+∣f(x)−fm(x)∣.|f_n(x)-f_m(x)| \le |f_n(x)-f(x)| + |f(x)-f_m(x)|.

Since n≥Nn\ge N, the first term is ≤sup⁡x∈S∣fn(x)−f(x)∣<ε/2\le \sup_{x\in S}|f_n(x)-f(x)| < \varepsilon/2. Since m≥Nm\ge N, the second term is ≤sup⁡x∈S∣fm(x)−f(x)∣<ε/2\le \sup_{x\in S}|f_m(x)-f(x)| < \varepsilon/2. Hence for every x∈Sx\in S,

∣fn(x)−fm(x)∣<ε2+ε2=ε.|f_n(x)-f_m(x)| < \frac{\varepsilon}{2}+\frac{\varepsilon}{2} = \varepsilon.

Since x∈Sx\in S was arbitrary, this bound holds for all xx, so

sup⁡x∈S∣fn(x)−fm(x)∣≤ε<ε′for any ε′>ε,\sup_{x\in S}|f_n(x)-f_m(x)| \le \varepsilon < \varepsilon' \quad \text{for any } \varepsilon'>\varepsilon,

or more simply, taking ε/2\varepsilon/2 in place of ε\varepsilon at the start of the argument yields a strict bound; in any case for all m,n≥Nm,n\ge N we have sup⁡x∈S∣fn(x)−fm(x)∣≤ε\sup_{x\in S}|f_n(x)-f_m(x)|\le \varepsilon, and since ε>0\varepsilon>0 was arbitrary this shows (fn)(f_n) is uniformly Cauchy on SS. (To get a strict inequality with the exact ε\varepsilon originally given, simply run the argument with ε/3\varepsilon/3 in each of the two applications of uniform convergence; the supremum of the sum is then ≤2ε/3<ε\le 2\varepsilon/3 < \varepsilon.)

(⇐\Leftarrow) Uniformly Cauchy implies uniform convergence. Assume (fn)(f_n) is uniformly Cauchy on SS. We construct the limit function in two steps. Step 1: Pointwise limit exists. Fix x∈Sx\in S. We claim (fn(x))n=1∞(f_n(x))_{n=1}^\infty is a Cauchy sequence of real numbers. Given ε>0\varepsilon>0, uniform Cauchyness gives NN such that for all m,n≥Nm,n\ge N,

sup⁡y∈S∣fn(y)−fm(y)∣<ε.\sup_{y\in S}|f_n(y)-f_m(y)| < \varepsilon.

In particular, taking y=xy=x,

∣fn(x)−fm(x)∣<εfor all m,n≥N.|f_n(x)-f_m(x)| < \varepsilon \quad\text{for all } m,n\ge N.

This is precisely the statement that (fn(x))(f_n(x)) is a Cauchy sequence in R\mathbb{R}. By the Completeness Axiom of R\mathbb{R} (every Cauchy sequence of real numbers converges), (fn(x))(f_n(x)) converges to some real number, which we call f(x)f(x). Since x∈Sx\in S was arbitrary, this defines a function f:S→Rf:S\to\mathbb{R} by

f(x):=lim⁡n→∞fn(x)for each x∈S.f(x) := \lim_{n\to\infty} f_n(x) \quad \text{for each } x \in S.

By construction, fn→ff_n \to f pointwise on SS. Step 2: The convergence is in fact uniform. Let ε>0\varepsilon>0. By uniform Cauchyness applied to ε/2>0\varepsilon/2>0, there exists N∈NN\in\mathbb{N} such that

m,n≥N  ⟹  sup⁡x∈S∣fn(x)−fm(x)∣<ε2.m,n\ge N \implies \sup_{x\in S}|f_n(x)-f_m(x)| < \frac{\varepsilon}{2}.

Fix any n≥Nn\ge N and fix any x∈Sx\in S. For every m≥Nm\ge N we then have, in particular,

∣fn(x)−fm(x)∣<ε2.|f_n(x)-f_m(x)| < \frac{\varepsilon}{2}.

This is a fixed inequality (for fixed n,xn,x) holding for all m≥Nm\ge N; we let m→∞m\to\infty. Since fm(x)→f(x)f_m(x)\to f(x) by Step 1, and since the absolute value function t↦∣t∣t\mapsto |t| is continuous, we get

∣fn(x)−f(x)∣=lim⁡m→∞∣fn(x)−fm(x)∣≤ε2<ε.|f_n(x) - f(x)| = \lim_{m\to\infty}|f_n(x)-f_m(x)| \le \frac{\varepsilon}{2} < \varepsilon.

(Here we used the standard fact that a non-strict inequality persists in the limit: if am≤ca_m \le c for all m≥Nm\ge N and am→aa_m \to a, then a≤ca\le c; this is proved directly from the definition of limit and does not depend on the theorem being proved.) This inequality ∣fn(x)−f(x)∣<ε|f_n(x)-f(x)|<\varepsilon was derived for an arbitrary x∈Sx\in S, using only n≥Nn\ge N (with NN depending on ε\varepsilon alone, not on xx). Hence

sup⁡x∈S∣fn(x)−f(x)∣≤ε2<εfor all n≥N.\sup_{x\in S}|f_n(x)-f(x)| \le \frac{\varepsilon}{2} < \varepsilon \quad \text{for all } n\ge N.

Since ε>0\varepsilon>0 was arbitrary, this is exactly the statement that fn→ff_n\to f uniformly on SS. Both directions are established, completing the proof. ■\blacksquare

∎
CorollaryCompleteness of the sup-norm space of bounded functions

Let SS be a nonempty set and let B(S,R)B(S,\mathbb{R}) denote the set of all bounded functions f:S→Rf:S\to\mathbb{R}, equipped with the sup-norm metric d(f,g)=sup⁡x∈S∣f(x)−g(x)∣d(f,g)=\sup_{x\in S}|f(x)-g(x)|. Then (B(S,R),d)(B(S,\mathbb{R}),d) is a complete metric space: every Cauchy sequence in this metric converges (in this metric) to an element of B(S,R)B(S,\mathbb{R}).

Proof

Let (fn)(f_n) be a Cauchy sequence in (B(S,R),d)(B(S,\mathbb{R}),d); that is, for every ε>0\varepsilon>0 there is NN with d(fn,fm)<εd(f_n,f_m)<\varepsilon for all m,n≥Nm,n\ge N. This is exactly the uniform Cauchy condition. By the theorem just proved, (fn)(f_n) converges uniformly on SS to some function f:S→Rf:S\to\mathbb{R}, meaning d(fn,f)→0d(f_n,f)\to 0. It remains to check f∈B(S,R)f\in B(S,\mathbb{R}), i.e. ff is bounded. Take ε=1\varepsilon=1; there is n0n_0 with d(fn0,f)<1d(f_{n_0},f) < 1, i.e. ∣fn0(x)−f(x)∣<1|f_{n_0}(x)-f(x)|<1 for all x∈Sx\in S. Since fn0f_{n_0} is bounded, say ∣fn0(x)∣≤M|f_{n_0}(x)|\le M for all xx, the triangle inequality gives ∣f(x)∣≤∣f(x)−fn0(x)∣+∣fn0(x)∣<1+M|f(x)| \le |f(x)-f_{n_0}(x)| + |f_{n_0}(x)| < 1+M for all x∈Sx\in S. Hence ff is bounded, so f∈B(S,R)f\in B(S,\mathbb{R}), and d(fn,f)→0d(f_n,f)\to 0 in this space. Thus every Cauchy sequence in B(S,R)B(S,\mathbb{R}) converges in B(S,R)B(S,\mathbb{R}), proving completeness. ■\blacksquare

∎

Worked examples

Example 1 (certifying uniform convergence without knowing the limit in closed form). Define, for x∈[0,2]x\in[0,2],

fn(x)=∑k=1nxkcos⁡(k! x)k23k.f_n(x) = \sum_{k=1}^n \frac{x^k \cos(k! \, x)}{k^2 3^k}.

This partial-sum sequence has no elementary closed form for its limit, yet we can prove uniform convergence on [0,2][0,2] via the uniform Cauchy condition, and this is exactly the mechanism underlying the Weierstrass M-Test. For m>nm>n,

fm(x)−fn(x)=∑k=n+1mxkcos⁡(k! x)k23k.f_m(x)-f_n(x) = \sum_{k=n+1}^m \frac{x^k\cos(k!\,x)}{k^2 3^k}.

For x∈[0,2]x\in[0,2], ∣xk∣≤2k|x^k|\le 2^k and ∣cos⁡(k! x)∣≤1|\cos(k!\,x)|\le 1, so each term is bounded:

∣xkcos⁡(k! x)k23k∣≤2kk23k=1k2(23)k.\left|\frac{x^k\cos(k!\,x)}{k^2 3^k}\right| \le \frac{2^k}{k^2 3^k} = \frac{1}{k^2}\left(\frac{2}{3}\right)^k.

Hence, for all x∈[0,2]x\in [0,2] simultaneously,

∣fm(x)−fn(x)∣≤∑k=n+1m1k2(23)k≤∑k=n+1∞(23)k=(2/3)n+11−2/3=3(23)n+1.|f_m(x)-f_n(x)| \le \sum_{k=n+1}^m \frac{1}{k^2}\left(\frac{2}{3}\right)^k \le \sum_{k=n+1}^\infty \left(\frac{2}{3}\right)^k = \frac{(2/3)^{n+1}}{1-2/3} = 3\left(\frac{2}{3}\right)^{n+1}.

This bound is independent of xx and of mm (for m>nm>n), and it tends to 00 as n→∞n\to\infty since 2/3<12/3<1. Given ε>0\varepsilon>0, choose NN so large that 3(2/3)N+1<ε3(2/3)^{N+1}<\varepsilon (possible since (2/3)n→0(2/3)^{n}\to 0). Then for all m>n≥Nm>n\ge N (and trivially for m=nm=n, where the difference is 00),

sup⁡x∈[0,2]∣fm(x)−fn(x)∣≤3(23)n+1<ε.\sup_{x\in[0,2]} |f_m(x)-f_n(x)| \le 3\left(\frac{2}{3}\right)^{n+1} < \varepsilon.

So (fn)(f_n) is uniformly Cauchy on [0,2][0,2]. By the theorem, (fn)(f_n) converges uniformly on [0,2][0,2] to some function ff — even though we never wrote ff in closed form. This is the general pattern of the Weierstrass M-test: bounding each term by a constant MkM_k with ∑Mk<∞\sum M_k <\infty makes the tail of the series a uniformly small Cauchy tail.

Example 2 (a sequence that is pointwise Cauchy but fails to be uniformly Cauchy, hence fails to converge uniformly). Define gn:[0,1]→Rg_n:[0,1]\to\mathbb{R} by

gn(x)=xn(1−xn).g_n(x) = x^n(1-x^n).

First, pointwise: for each fixed x∈[0,1]x\in[0,1], xn→0x^n \to 0 if 0≤x<10\le x<1 and xn=1x^n=1 if x=1x=1. So gn(x)→0g_n(x)\to 0 for x∈[0,1)x\in[0,1) (since xn(1−xn)→0⋅1=0x^n(1-x^n)\to 0\cdot 1 = 0) and gn(1)=1⋅(1−1)=0g_n(1) = 1\cdot(1-1)=0. Thus gn→0g_n \to 0 pointwise on all of [0,1][0,1], and in particular (gn(x))(g_n(x)) is a Cauchy sequence of real numbers for each fixed xx (being convergent). Now test whether (gn)(g_n) is uniformly Cauchy, equivalently (by the theorem, contrapositive) whether it converges uniformly to the pointwise limit g≡0g\equiv 0. Compute sup⁡x∈[0,1]gn(x)\sup_{x\in[0,1]} g_n(x). Let t=xn∈[0,1]t = x^n \in [0,1] as xx ranges over [0,1][0,1]; then gn(x)=t(1−t)=t−t2g_n(x) = t(1-t) = t-t^2, maximized at t=1/2t=1/2 giving value 1/41/4. Since t=xnt=x^n does attain the value 1/21/2 for x=(1/2)1/n∈[0,1]x = (1/2)^{1/n}\in[0,1], the supremum 1/41/4 is attained:

sup⁡x∈[0,1]gn(x)=14for every n.\sup_{x\in[0,1]} g_n(x) = \frac14 \quad \text{for every } n.

So sup⁡x∈[0,1]∣gn(x)−g2n(x)∣\sup_{x\in[0,1]}|g_n(x) - g_{2n}(x)| need not even be checked against a limit — we directly see sup⁡x∣gn(x)−0∣=1/4\sup_x|g_n(x) - 0| = 1/4 for every nn, so gn↛0g_n \not\to 0 uniformly (the sup-distance to the pointwise limit never shrinks below 1/41/4). By the contrapositive of the theorem (uniform convergence ⇒\Rightarrow uniformly Cauchy), (gn)(g_n) cannot be uniformly Cauchy either — let's verify this directly to see the failure concretely. Take m=2nm=2n: at xn=(1/2)1/nx_n = (1/2)^{1/n} we have gn(xn)=1/4g_n(x_n) = 1/4. What is g2n(xn)g_{2n}(x_n)? Here xn2n=(xnn)2=(1/2)2=1/4x_n^{2n} = (x_n^n)^2 = (1/2)^2 = 1/4, so g2n(xn)=14(1−14)=316g_{2n}(x_n) = \tfrac14(1-\tfrac14) = \tfrac{3}{16}. Then

∣gn(xn)−g2n(xn)∣=∣14−316∣=116,|g_n(x_n) - g_{2n}(x_n)| = \left|\frac14 - \frac{3}{16}\right| = \frac{1}{16},

a fixed positive number not depending on nn. Hence sup⁡x∈[0,1]∣gn(x)−g2n(x)∣≥1/16\sup_{x\in[0,1]}|g_n(x)-g_{2n}(x)| \ge 1/16 for every nn, so the uniform Cauchy condition fails (taking ε=1/16\varepsilon = 1/16, no NN works, since nn and 2n2n always violate it). This matches the theorem exactly: pointwise-Cauchy-everywhere is not enough; uniform convergence fails, and correspondingly the uniform Cauchy condition fails.

CounterexampleWhy completeness of the codomain is needed

The theorem relies on completeness of R\mathbb{R} (used in Step 1 of the (⇐\Leftarrow) direction, to produce the pointwise limit). If we replace the codomain R\mathbb{R} by an incomplete metric space, the implication "uniformly Cauchy ⇒\Rightarrow uniformly convergent" can fail entirely, because there may be no limit function to converge to. Let S={∗}S = \{*\} be a single point (so uniform and pointwise convergence coincide trivially, isolating the codomain's role), and let the codomain be Q\mathbb{Q} with its usual metric, instead of R\mathbb{R}. Define fn(∗)=qnf_n(*) = q_n where (qn)(q_n) is a sequence of rationals converging in R\mathbb{R} to 2\sqrt{2}, e.g. the truncated decimal expansions

q1=1.4,q2=1.41,q3=1.414,q4=1.4142, …q_1 = 1.4,\quad q_2 = 1.41,\quad q_3 = 1.414,\quad q_4 = 1.4142,\ \dots

Since SS has one point, sup⁡x∈S∣fn(x)−fm(x)∣=∣qn−qm∣\sup_{x\in S}|f_n(x)-f_m(x)| = |q_n - q_m|, and (qn)(q_n) is Cauchy in Q\mathbb{Q} (indeed in R\mathbb{R}, since it converges there). So (fn)(f_n) is uniformly Cauchy as a sequence of functions S→QS\to\mathbb{Q}. But there is no function f:S→Qf: S \to \mathbb{Q} with fn→ff_n \to f uniformly (equivalently, here, at all), because that would require qn→f(∗)q_n \to f(*) with f(∗)∈Qf(*) \in \mathbb{Q}, while in fact qn→2∉Qq_n \to \sqrt 2 \notin \mathbb{Q}, and limits in a metric space are unique — so no rational number can be the limit. The uniform Cauchy condition holds, yet uniform convergence to a function valued in Q\mathbb{Q} fails. The single hypothesis that broke was completeness of the codomain (Q\mathbb{Q} is not complete), which was silently used when we invoked completeness of R\mathbb{R} to build f(x)=lim⁡nfn(x)f(x) = \lim_n f_n(x). This is precisely why the theorem is stated for fn:S→Rf_n: S\to \mathbb{R} (or more generally into any complete metric space), not into an arbitrary metric space.

Scope, edge cases & common traps

SituationWhat holdsWhat can fail
fn:S→Rf_n:S\to\mathbb{R}, uniformly CauchyUniform convergence to some f:S→Rf:S\to\mathbb{R} (theorem)—
fn:S→Qf_n:S\to\mathbb{Q} (incomplete codomain), uniformly CauchyCauchy in the sup-metricLimit may not exist in Q\mathbb{Q} (see counterexample)
(fn(x))(f_n(x)) Cauchy for each fixed xx (pointwise Cauchy only)Pointwise limit ff existsConvergence to ff may fail to be uniform (Example 2)
fnf_n continuous, uniformly CauchyLimit ff is continuous (uniform limit of continuous is continuous)Nothing extra needed beyond the theorem plus the continuity-transfer theorem
SS infinite domain, no boundedness assumed on fnf_nTheorem still holds verbatim (no boundedness of fnf_n required)Do not confuse with completeness of B(S,R)B(S,\mathbb{R}), which is about bounded functions specifically

The mathematician behind it

Origins · 1 minAugustin-Louis Cauchy and how this was discovered
AC
Augustin-Louis Cauchy
1789-1857 · Early 19th-century French analysis, École Polytechnique

Cauchy was among the founders of rigorous analysis, responsible for the ε\varepsilon-based definitions of limit, continuity, and convergence that replaced the looser 18th-century treatment of infinitesimals. His name attaches to the criterion for convergence of sequences of numbers — the ancestor of the uniform Cauchy condition treated here — as well as to foundational results in complex analysis, ordinary differential equations, and elasticity theory. The extension of his convergence criterion from sequences of numbers to sequences of functions, and the recognition that uniform convergence is the right notion for such an extension, emerged over the following decades through the work of Weierstrass and others who sharpened the distinction between pointwise and uniform behavior that Cauchy's own era had not yet fully separated.

History
- 1821: Cauchy's Cours d'Analyse gives the first rigorous ε\varepsilon-style treatment of convergence and continuity, including the Cauchy criterion for sequences of real numbers.
- 1841 (published 1894): Weierstrass develops the concept of uniform convergence in his lecture notes, sharpening the gap between term-by-term limits and continuity/integration.
- 1853: Cauchy publishes a note acknowledging that a limit of continuous functions need not be continuous, prompted by the recognition that his own 1821 argument implicitly needed a uniformity hypothesis.
- 1861: Weierstrass's Berlin lectures formalize uniform convergence with the modern ε\varepsilon-NN definition and its Cauchy-type criterion, used to justify term-by-term differentiation and integration.
- Late 1800s: completeness of function spaces under the sup-norm becomes a standard tool, later generalized in the 20th century to Banach space theory.
Why can't we just define uniform convergence using the Cauchy condition from the start, skipping the limit-based definition?

You can, and in fact many texts introduce the uniform Cauchy condition specifically because it avoids reference to a limit function. But logically the two definitions (limit-based uniform convergence, and the uniform Cauchy condition) are a priori different statements, and the content of this article's theorem is precisely that they coincide. Pedagogically, the limit-based definition is usually given first because it directly generalizes the single-function limit concept, while the Cauchy criterion is presented as a derived, highly useful equivalent — much as with sequences of real numbers, where "converges" is defined via a limit and "Cauchy" is proved to be equivalent, not simply declared to be the definition.

Does the theorem require the functions fnf_n to be continuous, differentiable, or bounded?

No. The theorem as stated holds for an arbitrary sequence of functions fn:S→Rf_n: S \to \mathbb{R} on an arbitrary nonempty set SS, with no continuity, differentiability, or boundedness assumptions on the fnf_n individually. The corollary about completeness of B(S,R)B(S,\mathbb{R}) does restrict to bounded functions, but that is only to keep the resulting sup-norm finite so that B(S,R)B(S,\mathbb{R}) forms a genuine normed space; the underlying Cauchy criterion theorem itself needs no such restriction, since suprema of ∣fn−fm∣|f_n - f_m| are allowed to be +∞+\infty in the general statement (though the hypothesis that they eventually fall below any ε\varepsilon forces them to be finite for large indices anyway).

How does this relate to the ordinary Cauchy criterion for sequences of real numbers?

It is a direct generalization. Think of a sequence of numbers (an)(a_n) as a sequence of constant functions on any fixed set S={∗}S = \{*\}; then sup⁡x∈S∣an−am∣=∣an−am∣\sup_{x\in S}|a_n - a_m| = |a_n-a_m|, and the uniform Cauchy condition reduces exactly to the ordinary Cauchy condition for real sequences. The proof technique is the same: use completeness of R\mathbb{R} to manufacture the limit, then verify the convergence rate is uniform (trivial when SS is a point, but requiring real work when SS is infinite, as in Step 2 of the proof above).

Why is the "let m→∞m \to \infty" step in the proof valid — couldn't that be circular?

It is not circular because it uses only a basic, independently established fact about limits in R\mathbb{R}: if am≤ca_m \le c for all m≥Nm \ge N and am→aa_m \to a as m→∞m\to\infty, then a≤ca \le c. This "closedness of ≤\le under limits" fact is proved directly from the ε\varepsilon-definition of limit (by contradiction: if a>ca > c, take ε=a−c\varepsilon = a - c to get am>ca_m > c eventually, contradicting am≤ca_m \le c), and it does not depend on the Cauchy criterion for uniform convergence or on any function-space machinery. So invoking it inside the proof introduces no circularity.

Is the sup-norm distance d(f,g)=sup⁡x∣f(x)−g(x)∣d(f,g) = \sup_x |f(x)-g(x)| always a finite number?

Only when f−gf-g is a bounded function on SS; in general sup⁡x∣f(x)−g(x)∣\sup_x|f(x)-g(x)| could be +∞+\infty if f,gf,g are unbounded and their difference is unbounded. This is precisely why the completeness corollary is stated for B(S,R)B(S,\mathbb{R}), the bounded functions, so that dd is guaranteed to be a genuine (finite-valued) metric. The main theorem itself sidesteps this issue by phrasing everything in terms of the condition "sup⁡x∣fn(x)−fm(x)∣<ε\sup_x|f_n(x)-f_m(x)| < \varepsilon eventually," which makes sense (and is meaningful) regardless of whether the functions individually are bounded.

How does this criterion foreshadow the Weierstrass M-Test?

The M-Test gives a sufficient condition — ∣fk(x)∣≤Mk|f_k(x)| \le M_k for all xx, with ∑Mk<∞\sum M_k < \infty — for a series ∑fk\sum f_k to converge uniformly. The proof of the M-Test is literally an application of this article's theorem: one shows the partial sums are uniformly Cauchy by bounding the tail ∣∑k=n+1mfk(x)∣≤∑k=n+1mMk\left|\sum_{k=n+1}^m f_k(x)\right| \le \sum_{k=n+1}^m M_k, which is small for large nn by the ordinary Cauchy criterion applied to the convergent numerical series ∑Mk\sum M_k, uniformly in xx. Example 1 above carries out exactly this argument in a concrete case.

What breaks if we only check the condition for m=n+1m = n+1 (consecutive terms) instead of all m,n≥Nm,n \ge N?

Checking only consecutive terms, i.e. sup⁡x∣fn+1(x)−fn(x)∣→0\sup_x|f_{n+1}(x)-f_n(x)| \to 0, is strictly weaker than the uniform Cauchy condition and does not imply uniform convergence, exactly as with ordinary sequences of real numbers (where an+1−an→0a_{n+1}-a_n \to 0 does not imply (an)(a_n) is Cauchy — consider an=∑k=1n1/ka_n = \sum_{k=1}^n 1/k, the harmonic partial sums, which diverge despite consecutive differences →0\to 0). The full condition genuinely requires control over all pairs m,n≥Nm,n \ge N, not just adjacent indices.

Before this

Where this leads