Two Ways to Express Local Control
Continuity at a point can be expressed in two forms. The epsilon-delta definition asks for direct control of output differences whenever inputs are sufficiently close. The sequential formulation asks what happens to output values along every sequence of inputs approaching the point. The Sequential Criterion for Continuity, proved in the previous tutorial, establishes that these conditions are equivalent.
The formulations organize the same local information differently. Epsilon-delta reasoning starts with a desired output tolerance and finds a suitable input radius. Sequential reasoning starts with an arbitrary sequence approaching the point and proves that its outputs approach the function value. One form often makes a proof shorter than the other, but neither permits changing the quantifiers: a sequential proof of continuity must handle every sequence in the domain that converges to the point.
The Sequential Criterion for Continuity says that these two definitions are equivalent. This tutorial focuses on how to use that equivalence, including two refinements: testing with sequences that approach at a prescribed rate, and measuring the variation of \(f\) on shrinking neighborhoods.
Choosing a Formulation for a Proof
An epsilon-delta proof is useful when an algebraic estimate directly bounds \(|f(x)-f(a)|\) in terms of \(|x-a|\). A sequential proof is often effective when the inputs already come in a naturally chosen sequence, or when familiar sequence limit laws handle the outputs immediately. The choice is strategic: the underlying claim has not changed, but the convenient route may have.
Worked Example: A Direct Estimate for the Square Function
Let \(f(x)=x^2\) and consider continuity at \(a=2\). Given \(\varepsilon>0\), choose
If \(|x-2|<\delta\), then \(|x-2|<1\), so \(1<x<3\) and therefore \(|x+2|<5\). Factoring the difference gives
Thus the epsilon-delta definition proves continuity at \(2\). The same result can be seen sequentially: if \(x_n\to2\), then \(x_n+2\to4\), and the sequence limit laws give \(x_n^2\to4=f(2)\). The direct proof displays an explicit radius; the sequential proof uses the behavior of a general convergent sequence and familiar limit laws.
The sequential version is not a license to test just one convenient sequence. A single sequence whose outputs do not approach \(f(a)\) proves discontinuity, as expressed by the Sequential Witness for Discontinuity. But for continuity, the hypothesis concerns every sequence in \(E\) converging to \(a\). An arbitrary-sequence proof should begin by taking such a sequence and then establish the required output limit.
Worked Example: A Sequence Test for an Affine Function
Let \(f(x)=3x+1\), and consider \(a=-1\). In epsilon-delta form, for any \(\varepsilon>0\), take \(\delta=\varepsilon/3\). Whenever \(|x+1|<\delta\),
For the sequential form, let \((x_n)\) be any sequence with \(x_n\to-1\). Then \(x_n+1\to0\), so
Hence \(f(x_n)\to f(-1)\). The epsilon-delta calculation gives an exact relation between the tolerances: an input distance less than \(\varepsilon/3\) gives an output distance less than \(\varepsilon\). The sequential calculation packages the same relation into the limit laws for scalar multiples and sums.
Testing Sequences at a Prescribed Rate
The Sequential Criterion quantifies over all sequences approaching \(a\). Surprisingly, it is enough to test sequences that approach at any one fixed positive rate tending to zero. This can be useful when a particular scale is natural for a problem, or when a construction already controls the distance to \(a\) at each index.
Proof. Suppose first that \(f\) is continuous at \(a\). Any sequence satisfying \(|x_n-a|<r_n\) also converges to \(a\), because \(r_n\to0\). The Sequential Criterion for Continuity therefore gives \(f(x_n)\to f(a)\).
For the converse, suppose that the stated test holds, but \(f\) is not continuous at \(a\). By the Sequential Witness for Discontinuity, there is a sequence \((z_j)\) in \(E\) such that \(z_j\to a\) and \(f(z_j)\) does not converge to \(f(a)\). The definition of failure of convergence supplies an \(\varepsilon_0>0\) such that, for every positive integer \(J\), some \(j\geq J\) satisfies
We now choose indices \(j_k\) recursively. Once \(j_{k-1}\) has been chosen, convergence \(z_j\to a\) gives an index \(J_k>j_{k-1}\) such that \(j\geq J_k\) implies \(|z_j-a|<r_k\). By the defining property of \(\varepsilon_0\), choose \(j_k\geq J_k\) with \(|f(z_{j_k})-f(a)|\geq\varepsilon_0\). This constructs a strictly increasing sequence of indices for which both inequalities hold at every \(k\). Set \(x_k=z_{j_k}\). Then \(x_k\in E\), \(|x_k-a|<r_k\), and \(|f(x_k)-f(a)|\geq\varepsilon_0\) for every \(k\). Thus \(f(x_k)\) does not converge to \(f(a)\), contradicting the assumed prescribed-scale test. Therefore \(f\) is continuous at \(a\). \(\square\)
The point of the theorem is not that the scale must be \(1/n\). Any positive sequence tending to zero works. If a continuity proof is being organized around a different scale, the test remains valid, provided that scale actually shrinks to zero.
Worked Example: Using the Scale One Over the Index
For \(f(x)=3x+1\) at \(a=-1\), take \(r_n=1/n\). If \((x_n)\) lies in the domain and satisfies \(|x_n+1|<1/n\), then
Since \(3/n\to0\), it follows that \(f(x_n)\to f(-1)\). The Prescribed-Scale Sequential Test consequently proves continuity at \(-1\). This test does not require every sequence approaching \(-1\) to satisfy the particular bound \(1/n\); it says that checking all sequences satisfying this one bound is enough. Its proof works because any failing sequence has a subsequence that can be selected to meet the chosen scale while retaining a fixed output error.
Measuring Variation in Shrinking Neighborhoods
There is another way to compare the formulations: instead of following one input sequence at a time, examine the full range of output values on a neighborhood. For \(r>0\), let \(E_r=E\cap(a-r,a+r)\). Since \(a\in E_r\), this set is nonempty. Define the local oscillation at radius \(r\) by taking the supremum of all pairwise output differences on \(E_r\). If those differences become arbitrarily small as the radius shrinks, then nearby inputs have nearly equal outputs.
Proof. Suppose \(f\) is continuous at \(a\), and fix \(\varepsilon>0\). By the epsilon-delta definition, choose \(r>0\) such that \(x\in E\) and \(|x-a|<r\) imply \(|f(x)-f(a)|<\varepsilon/3\). If \(x,y\in E_r\), then the triangle inequality gives
Every pairwise difference in the defining set for \(\omega_f(a,r)\) is therefore at most \(2\varepsilon/3\), so \(\omega_f(a,r)\leq2\varepsilon/3<\varepsilon\).
Conversely, suppose that for every \(\varepsilon>0\) there is an \(r>0\) with \(\omega_f(a,r)<\varepsilon\). Fix such an \(\varepsilon\) and \(r\). For any \(x\in E\) with \(|x-a|<r\), both \(x\) and \(a\) belong to \(E_r\). Thus
This is exactly the epsilon-delta condition at \(a\), with \(\delta=r\). Hence \(f\) is continuous at \(a\). \(\square\)
The criterion uses pairwise differences rather than comparing every output directly with \(f(a)\). The two viewpoints are compatible because \(a\) itself belongs to each neighborhood, while the triangle inequality controls differences between any two nearby outputs.
Worked Example: Local Oscillation of the Identity
Let \(E=\mathbb{R}\), \(f(x)=x\), and \(a=0\). If \(|x|<r\) and \(|y|<r\), then
Consequently \(\omega_f(0,r)\leq2r\). In fact, the supremum is \(2r\): for each integer \(n\geq2\), take \(x_n=r(1-1/n)\) and \(y_n=-r(1-1/n)\). Both lie in \((-r,r)\), and
Thus \(\omega_f(0,r)=2r\), which tends to zero as \(r\) tends to zero. The Local Oscillation Criterion proves continuity at \(0\). This calculation measures the largest possible variation across the neighborhood, not just the distance from one selected output to \(f(0)\).
What Each Formulation Makes Visible
The epsilon-delta form makes the order of control explicit: first an output tolerance is specified, then an input radius is chosen. The sequential form emphasizes behavior along arbitrary approaches to the point. The prescribed-scale test narrows that sequential check without changing its force, while local oscillation records the range of all nearby output values at once.
A common pitfall is to mistake a useful sequence for a complete continuity test. Showing that one sequence has outputs converging to \(f(a)\) does not establish continuity. Another is to use a scale that does not tend to zero: the prescribed-scale theorem requires \(r_n\to0\), since otherwise the constrained inputs need not approach \(a\). Finally, in the oscillation criterion, the supremum concerns pairs of points in the same neighborhood; it is not generally an attained maximum, so the proof must work with the supremum rather than assume a pair realizes it.
Check Your Understanding
Use the definitions and results in this tutorial to answer the following questions.
- Which theorem established earlier in the course equates epsilon-delta continuity with sequential continuity?
- Why does a sequence satisfying \(|x_n-a|<r_n\) for a positive sequence \(r_n\to0\) necessarily converge to \(a\)?
- In the proof of the Prescribed-Scale Sequential Test, why can the selected subsequence retain a fixed output error?
- Why does the Local Oscillation Criterion use pairwise output differences rather than only differences from \(f(a)\)?
- For the identity function at zero, what is \(\omega_f(0,r)\), and why need the supremum not be attained?
- Why does checking one sequence with convergent outputs not prove continuity at the point?