What It Means to Choose \(N\) Uniformly
The epsilon definition of uniform convergence asks for one index that works at every input in the domain. In a proof, however, estimates often arise in stages: perhaps one estimate applies on one part of the domain and another on a different part. The practical question is how to turn those separate estimates into a single choice of \(N\). A finite number of local choices can be combined; an unlimited collection generally cannot be combined by simply taking a maximum.
The basic operation is simple. If the estimate on a set \(E_j\) works for every \(n\geq N_j\), then it also works for every \(n\geq N\) whenever \(N\geq N_j\). Thus, if there are only finitely many sets, choosing the largest of their indices makes all the estimates hold at once. This is a useful proof technique, not a new definition of uniform convergence.
Proof. Let \(\varepsilon>0\). For each \(j\in\{1,\ldots,k\}\), uniform convergence on \(E_j\) gives a positive integer \(N_j\) such that, whenever \(n\geq N_j\) and \(x\in E_j\),
Since there are finitely many indices \(N_1,\ldots,N_k\), their maximum
is a positive integer. If \(n\geq N\), then \(n\geq N_j\) for every \(j\). For any \(x\in E\), the union assumption means that \(x\in E_j\) for at least one \(j\). The estimate for that set gives \(|f_n(x)-f(x)|<\varepsilon\). Therefore the same \(N\) works for every \(x\in E\), which is uniform convergence on \(E\). \(\square\)
The sets in the cover need not be disjoint, and some may be empty. Neither point affects the proof: every input belongs to at least one set, and only finitely many indices have to be considered. The essential hypothesis is finiteness. An infinite list of indices may have no largest member, so this maximum argument does not apply to an infinite cover.
Worked Example: Combining Two Different Rates
Let \(E=[-2,0]\cup[1,\infty)\), and define \(f_n:E\to\mathbb{R}\) by
Define \(f(x)=0\) for every \(x\in E\). On \(E_1=[-2,0]\), the error is exactly \(1/(n+1)\), independently of \(x\). Given \(\varepsilon>0\), choose \(N_1\) so that \(1/(N_1+1)<\varepsilon\). Then for every \(n\geq N_1\) and every \(x\in E_1\), \(|f_n(x)-f(x)|=1/(n+1)\leq1/(N_1+1)<\varepsilon\).
On \(E_2=[1,\infty)\), the error is exactly \(1/\sqrt{n+1}\). Choose \(N_2\) so that \(1/\sqrt{N_2+1}<\varepsilon\). For \(n\geq N_2\), the denominator is at least \(\sqrt{N_2+1}\), so the error is less than \(\varepsilon\) throughout \(E_2\). Now set \(N=\max\{N_1,N_2\}\). If \(n\geq N\), both regional estimates hold. Hence \(f_n\to0\) uniformly on all of \(E\), even though the two pieces use different rates.
This example also illustrates the role of the maximum: it is not necessary to make the regional estimates identical. It is enough that each estimate holds eventually, after which one index can be chosen late enough for every one of the finitely many regions.
Finding an Index from a Uniform Error Bound
A common way to choose \(N\) is to first bound the error by an expression that no longer depends on \(x\). Once such a bound is available, the remaining task is a numerical one: choose \(N\) to make that bound smaller than the desired tolerance. The inequality used to remove the dependence on \(x\) must hold throughout the stated domain.
Worked Example: A Bound That Holds for Every Real Input
For \(n\geq1\), define \(f_n:\mathbb{R}\to\mathbb{R}\) by
For every real \(x\), the denominator is positive. The square \((|x|-\sqrt{n})^2\) is nonnegative, so expanding it gives
Consequently, for every \(x\in\mathbb{R}\),
The right side is independent of \(x\). Given \(\varepsilon>0\), choose a positive integer \(N\) such that \(1/(2\sqrt{N})<\varepsilon\). If \(n\geq N\), then \(1/(2\sqrt{n})\leq1/(2\sqrt{N})<\varepsilon\). Thus, for every real \(x\),
This proves uniform convergence to zero on \(\mathbb{R}\). The choice of \(N\) can be made explicit: it is enough to take an integer \(N>1/(4\varepsilon^2)\). Indeed, that inequality implies \(2\sqrt{N}>1/\varepsilon\), and hence \(1/(2\sqrt{N})<\varepsilon\).
This style of proof separates the work into two parts: first establish a valid domain-independent bound, and then choose an index from that bound. If the estimate still contains \(x\), it is not yet enough to choose \(N\) uniformly. One must either eliminate that dependence or divide the domain into finitely many parts on which suitable estimates are available.
Why Pointwise Choices Do Not Automatically Combine
For pointwise convergence, fixing \(x\) before choosing an index is allowed. The resulting index may depend on \(x\). Uniform convergence asks for more: the index must be selected before the input is specified. The finite-patching theorem explains one way to meet this stronger demand, but it does not justify taking a maximum over one index for each point when the domain is infinite. The next example makes the obstruction explicit.
Worked Example: An Index That Must Move with the Input
For \(n\geq1\), define \(g_n:[0,1)\to\mathbb{R}\) by \(g_n(x)=x^n\), and let \(g(x)=0\). For every fixed \(x\in[0,1)\), if \(x=0\) then \(g_n(x)=0\) for all \(n\). If \(0<x<1\), the powers of \(x\) tend to zero. Thus \(g_n(x)\to g(x)\) at every fixed input.
However, for each positive integer \(n\), choose \(x_n=2^{-1/n}\). This input belongs to \([0,1)\), since it is positive and less than \(1\), and substitution gives the exact identity
Take \(\varepsilon=1/3\). For any proposed index \(N\), use \(n=N\) and \(x=x_N\). Then \(n\geq N\), but the error is \(1/2\), which is not less than \(1/3\). Therefore no index works uniformly, even though for each fixed input there is an index that works. The pointwise choices cannot be combined by a finite maximum: there is an index to choose for every input in an infinite domain, not merely finitely many regional indices.
When a proof appears to produce \(N_x\) for each \(x\), pause before calling the convergence uniform. Ask whether the indices can be bounded above by one finite integer. A finite cover with uniform estimates supplies such a bound; a pointwise argument alone does not.
Choosing \(N\) Without Knowing the Limit
Sometimes the candidate limit function is difficult to identify, or no candidate has yet been proposed. In that situation, it is useful to compare terms of the sequence with one another. The uniform Cauchy criterion says that a single index controlling all later pairwise differences is enough to guarantee a uniform limit. Its proof uses completeness of the real numbers at each input, then turns the pointwise limits into one uniform estimate.
Proof. First suppose \(f_n\to f\) uniformly. Given \(\varepsilon>0\), uniform convergence supplies \(N\) such that, for every \(n\geq N\) and \(x\in E\), \(|f_n(x)-f(x)|<\varepsilon/2\). If \(m,n\geq N\), the triangle inequality gives, for every \(x\in E\),
This proves the required uniform Cauchy condition.
Conversely, suppose the stated condition holds. Fix \(x\in E\). Given any \(\delta>0\), apply the condition with \(\varepsilon=\delta\). For all \(m,n\geq N\), \(|f_m(x)-f_n(x)|<\delta\). Thus \((f_n(x))\) is a Cauchy sequence of real numbers. By completeness of \(\mathbb{R}\), it converges to a real number; define \(f(x)=\lim_{n\to\infty}f_n(x)\). This defines a function \(f:E\to\mathbb{R}\).
It remains to prove that the convergence to \(f\) is uniform. Let \(\varepsilon>0\), and use the assumed condition with \(\varepsilon/2\). It gives an \(N\) such that, for all \(m,n\geq N\) and all \(x\in E\),
Fix any \(n\geq N\) and any \(x\in E\). Let \(m\) tend to infinity. Since \(f_m(x)\to f(x)\), continuity of the absolute value gives
The same \(N\) was obtained before choosing \(x\), so this estimate holds for every \(n\geq N\) and every \(x\in E\). Hence \(f_n\to f\) uniformly. \(\square\)
The final estimate is non-strict at the intermediate stage because a limit of quantities strictly less than \(\varepsilon/2\) need only be at most \(\varepsilon/2\). Choosing the pairwise tolerance to be \(\varepsilon/2\) resolves this issue: the resulting bound is still strictly less than \(\varepsilon\). This small adjustment is important in epsilon arguments.
Worked Example: A Uniform Cauchy Estimate on the Real Line
Define \(q_n:\mathbb{R}\to\mathbb{R}\) by \(q_n(x)=x/(n(1+x^2))\). Since \((|x|-1)^2\geq0\), we have \(1+x^2\geq2|x|\). Therefore, for every \(x\in\mathbb{R}\),
For any \(m,n\geq N\), the triangle inequality now gives
Given \(\varepsilon>0\), choose \(N>1/\varepsilon\). Then \(1/N<\varepsilon\), so the pairwise difference is less than \(\varepsilon\) for every \(x\) and all \(m,n\geq N\). The uniform Cauchy criterion gives a uniform limit. The displayed bound also shows directly that \(|q_n(x)|\leq1/(2n)\to0\) uniformly, so that limit is the zero function.
A Practical Checklist
When choosing an index uniformly, organize the proof around the quantifiers rather than around a formula for \(N\) alone. First fix an arbitrary \(\varepsilon>0\). Then identify an estimate that applies to every input, or divide the domain into finitely many sets and find an index for each set. Take the maximum of those finitely many indices. Finally, verify that every input belongs to one of the sets and that the estimate is strict at the chosen tolerance.
A common pitfall is to establish, for each \(x\), an index \(N_x\) and then treat those indices as though they had a finite maximum. On an infinite domain, they may grow without bound. Another is to take a limit in a strict inequality and assume the inequality remains strict at the same tolerance. Using a smaller intermediate tolerance avoids that error, as in the proof of the uniform Cauchy criterion.
Check Your Understanding
Use the arguments in this tutorial to answer the following questions.
- Why does the maximum of finitely many local indices work in the finite-patching theorem?
- In the example \(f_n(x)=x/(n+x^2)\), which nonnegative square gives an estimate independent of \(x\)?
- For \(g_n(x)=x^n\) on \([0,1)\), what input \(x_n\) gives an error of exactly \(1/2\) at index \(n\)?
- Why can one not generally take a maximum of indices \(N_x\) when \(x\) ranges over an infinite domain?
- In the reverse direction of the uniform Cauchy criterion, why is it useful to apply the pairwise estimate with \(\varepsilon/2\) rather than \(\varepsilon\)?