Analysis

Continuity (ε-δ Definition)

The challenger picks any tolerance — you can always meet it

The ε-δ definition of continuity says a function f is continuous at a point c if for every tolerance ε > 0, there exists a closeness δ > 0 such that whenever |x − c| < δ, we have |f(x) − f(c)| < ε. It is the rigorous foundation underneath the intuitive idea that "a continuous function has no jumps" and is the gateway definition of real analysis.

  • Formal statement∀ ε > 0, ∃ δ > 0 : |x − c| < δ ⇒ |f(x) − f(c)| < ε
  • Quantifier orderε first, δ depends on ε (and on c)
  • Stronger versionUniform continuity — δ depends on ε alone
  • Topological versionPreimage of every open set is open
  • OriginBolzano (1817), Cauchy (1821), formalised by Weierstrass (1860s)
  • ImpliesIntermediate Value Theorem, Extreme Value Theorem on compacts

Watch the 60-second explainer

A condensed visual walkthrough — narrated, captioned, under a minute.

What ε-δ actually says

Forget graphs for a moment. Read the definition as a two-player game. A challenger demands that f(x) stay within ε of f(c) — they pick ε as small as they like. Your job is to respond with a δ small enough that, as long as the input x is within δ of c, the output f(x) is within ε of f(c). If you can always answer the challenger, no matter how tight the ε, the function is continuous at c.

Symbolically, f is continuous at c if

∀ ε > 0, ∃ δ > 0 such that |x − c| < δ ⇒ |f(x) − f(c)| < ε.

Three things are doing the work in that sentence. First, ε is universal — the challenger picks any ε. Second, δ is existential — you only need to find some δ, not the largest possible one. Third, δ is allowed to depend on ε (and on c); a smaller ε will usually force a smaller δ.

The intuitive picture: draw a horizontal band of vertical width 2ε centered on f(c). Continuity says you can always find a vertical band of width 2δ around c such that the graph stays inside the horizontal band whenever x stays inside the vertical one.

Worked example — proving f(x) = x² is continuous at x = 2

We want to show: for every ε > 0, there exists δ > 0 such that |x − 2| < δ implies |x² − 4| < ε.

Scratch work. Factor: |x² − 4| = |x − 2|·|x + 2|. The factor |x − 2| is what we control through δ. The factor |x + 2| we have to bound. If we pre-commit to δ ≤ 1, then |x − 2| < 1 means 1 < x < 3, so |x + 2| < 5. Then |x² − 4| < 5·|x − 2|. To force this below ε, take |x − 2| < ε/5.

Clean proof. Given ε > 0, choose δ = min(1, ε/5). Suppose |x − 2| < δ. Then |x − 2| < 1, so |x + 2| < 5. Therefore

|x² − 4| = |x − 2|·|x + 2| < (ε/5) · 5 = ε. ∎

Notice the structure: scratch work first (find δ that works), then a clean forward proof (verify it works). Almost every ε-δ proof you write follows this two-step pattern.

The three conditions for continuity at a point

A function f is continuous at c if and only if all three of the following hold:

  1. f(c) is defined. The point c is in the domain.
  2. The two-sided limit limx→c f(x) exists.
  3. The limit equals the value: limx→c f(x) = f(c).

Each condition can fail independently, producing different "discontinuity zoos":

  • Removable. The limit exists but f(c) is missing or wrongly defined. Example: g(x) = sin(x)/x at x = 0. Limit is 1 but g(0) is undefined. "Plug the hole."
  • Jump. One-sided limits exist but disagree, so the two-sided limit does not exist. Example: the sign function at 0.
  • Infinite. One or both sides blow up. Example: 1/x at 0.
  • Essential / oscillatory. No reasonable limiting behaviour at all. Example: sin(1/x) at 0 oscillates infinitely fast.

Uniform continuity vs pointwise continuity

There are several flavours of continuity. The differences are in where the quantifiers live.

Pointwise continuityUniform continuity
Quantifier order∀ c ∀ ε ∃ δ∀ ε ∃ δ ∀ c
Does δ depend on c?Yes — δ may shrink as c movesNo — one δ works for the whole domain
StrengthWeakerStronger (implies pointwise)
Example that holdsx² on all of ℝx² on [0, 1]
Example that fails1/x on (0, 1] is pointwise continuous but……not uniformly continuous (δ → 0 as x → 0)
Compactness theoremHeine–Cantor: continuous on a compact set ⇒ uniformly continuous
Preserves Cauchy sequencesNot alwaysAlways

The Heine–Cantor theorem is one of the cleanest payoffs of the ε-δ machinery: closed bounded intervals are compact, and on compact sets, plain continuity automatically upgrades to uniform continuity. That fact is what makes the Riemann integral work.

The topological reformulation

Once you are comfortable with ε-δ, you can throw away distances entirely. A function f: X → Y between topological spaces is continuous if and only if

For every open U ⊆ Y, the preimage f⁻¹(U) is open in X.

This is equivalent to ε-δ in metric spaces (the open sets there are exactly the unions of open balls), but it generalises immediately to settings where there is no notion of distance — quotient spaces, Zariski topologies in algebraic geometry, weak topologies in functional analysis. Most of modern analysis and topology runs on this version.

Classical applications

  • Intermediate Value Theorem. A continuous function on [a, b] hits every value between f(a) and f(b). Used to prove that every odd-degree real polynomial has a real root.
  • Extreme Value Theorem. A continuous function on a closed bounded interval attains its maximum and minimum. The starting gun for optimisation.
  • Fixed point theorems. Brouwer's theorem: every continuous self-map of a closed disk has a fixed point. Used in game theory (Nash equilibrium) and economics (general equilibrium).
  • Riemann integration. Continuous functions on [a, b] are Riemann integrable; the proof uses uniform continuity from Heine–Cantor.
  • Compactness arguments. Continuous image of a compact set is compact — the engine behind countless existence proofs in PDEs and calculus of variations.

Common mistakes

  • Quantifier order reversed. Writing "∃ δ ∀ ε" instead of "∀ ε ∃ δ" breaks the definition. The first version says one fixed δ works for all ε — that would force f(x) = f(c) on a whole neighbourhood, which is much stronger than continuity.
  • Picking δ that depends on x. δ may depend on ε and c, but not on x. x is the variable being constrained.
  • Confusing continuity with differentiability. Continuous does not imply differentiable. The Weierstrass function is the canonical counterexample: continuous everywhere, differentiable nowhere.
  • Confusing "limit exists" with "continuous". sin(x)/x has a limit at 0 but is not defined there, so it is not continuous at 0 until you patch the value.
  • Treating uniform and pointwise continuity as the same. They agree on compact sets but diverge sharply on unbounded or open domains. f(x) = 1/x on (0, ∞) is pointwise but not uniformly continuous.
  • Skipping the scratch work. A clean ε-δ proof comes from working backward to discover δ, then writing the forward proof. Trying to find δ in one pass leads to circular arguments.

Frequently asked questions

Why does the ε come before the δ?

Because the challenger picks ε first, then you must produce δ that works. If you got to pick δ first, every function would be "continuous" — you would just choose δ small enough to make any single output close. The whole point is that no matter how tight a tolerance the challenger demands, you can meet it. The order ∀ε ∃δ is the mathematical content.

What is the difference between continuity and limit existence?

Continuity at c requires three things: f(c) is defined, limx→c f(x) exists, and the limit equals f(c). A removable discontinuity (like sin(x)/x at x = 0) has a limit but no value, so it fails (1). A jump discontinuity has a defined value and one-sided limits but no two-sided limit, so it fails (2).

What is uniform continuity?

Uniform continuity strengthens pointwise continuity by requiring a single δ that works for every point in the domain at the same time. f(x) = x² is continuous on all of ℝ but not uniformly continuous — you need smaller and smaller δ as x grows. f(x) = x² restricted to [0, 1] is uniformly continuous, because the closed bounded interval is compact (Heine–Cantor theorem).

Is every differentiable function continuous?

Yes. Differentiability at c implies continuity at c, because the existence of f'(c) forces f(x) − f(c) → 0 as x → c. The converse fails: f(x) = |x| is continuous at 0 but not differentiable there. Even more dramatically, the Weierstrass function is continuous everywhere on ℝ but differentiable nowhere.

Why is continuity called a "topological" property?

Because it can be restated without distances: f is continuous if the preimage of every open set is open. This formulation generalises beyond metric spaces to any topological space, and it is the version used in algebraic topology, manifold theory, and functional analysis.

What is the Intermediate Value Theorem really saying?

If f is continuous on [a, b] and y is any value between f(a) and f(b), then f hits y somewhere in [a, b]. It is the formal version of "a continuous graph cannot skip values." It guarantees the existence of roots of polynomials, fixed points of certain maps, and a horizontal slice through every continuous arch over an interval.