§ 01Why Do We Need a Formal Definition?
Saying "f(x) approaches L" is intuitive but vague. Mathematicians need a definition sharp enough to use in proofs, one that has no wiggle room whatsoever.
When you first encounter limits, the description is usually something like: "as x gets close to a, the function value gets close to L." That phrasing is perfectly fine for building intuition. But it raises immediate questions a working mathematician cannot leave unanswered:
How close is "close"? Does "close to a" mean within 0.1? Within 0.000001? And "close to L": close enough for what purpose?
These are not pedantic quibbles. Entire branches of analysis (continuity, differentiability, integration) rest on limits. If the definition of a limit is fuzzy, everything built on top of it is fuzzy too. The epsilon-delta definition, introduced by Augustin-Louis Cauchy and formalised by Karl Weierstrass in the 19th century, resolves all ambiguity.
§ 02The Formal Statement
Here is the definition in full. Read it carefully, every word matters.
Let us unpack each symbol one by one.
∀ ε > 0 — "For every epsilon"
ε (epsilon) is a positive number representing an allowable error in the output. Someone else (an adversary, a checker, nature itself) gets to choose how close to L they want f(x) to be. They pick any ε > 0, no matter how tiny.
Your job is to respond to their challenge.
∃ δ > 0 — "There exists a delta"
δ (delta) is a positive number representing a restriction on the input. You respond to the ε-challenge by producing a δ > 0 that makes the condition work.
δ can depend on ε, and usually does. Smaller ε typically forces smaller δ.
0 < |x − a| < δ — "x is near a but not equal"
|x − a| < δ means x is within δ of a. The strict inequality 0 < |x − a| explicitly excludes x = a. This is crucial: the limit is about what happens near a, never at a. The function need not even be defined at a.
|f(x) − L| < ε — "f(x) is near L"
|f(x) − L| < ε means the function value is within ε of L. This is the guarantee we must deliver: whenever the input is in the δ-neighbourhood of a (excluding a itself), the output lands in the ε-neighbourhood of L.
§ 03Reading the Definition in Plain English
Mathematical quantifiers can feel backwards. Here is the definition expressed as a game or challenge-response scenario, which many students find easier to internalise.
The Epsilon-Delta Game
- Your opponent serves: They pick any tolerance ε > 0: perhaps ε = 0.001, perhaps ε = 10⁻¹⁰⁰. This is their "precision demand" on the output.
- You respond: You must produce a δ > 0 such that the condition holds for your specific function and limit point.
- The winning condition: Whenever 0 < |x − a| < δ, the output satisfies |f(x) − L| < ε.
- You win the game if you can always respond, i.e., for every ε your opponent throws at you, you have a valid δ.
- lim f(x) = L precisely when you can always win this game.
Notice the order of the quantifiers. ε comes first, then δ. This means δ is allowed to depend on ε, and in practice it almost always does. Larger ε (looser output tolerance) typically allows larger δ (wider input range). Smaller ε forces a tighter δ.
§ 04Geometric Interpretation
Geometry makes the definition concrete. Think of the graph of f in the xy-plane.
Draw two horizontal dashed lines at heights L + ε and L − ε. This creates a horizontal ε-band around L. Now draw two vertical dashed lines at x = a − δ and x = a + δ. This creates a vertical δ-window around a.
The epsilon-delta condition says: the portion of the curve inside the δ-window must lie entirely inside the ε-band (with the possible exception of x = a itself).
If you can always find such a δ-window for every ε-band your opponent names, the limit exists and equals L. If there is even one ε-band for which no valid δ-window exists, the limit either does not equal L or does not exist at all.
As ε → 0, δ → 0 as well (for continuous functions). The limit L is the unique value the function is "forced toward" by this tightening.
§ 05The Proof Strategy — Scratch Work Then Formal Write-Up
Every epsilon-delta proof follows the same two-phase structure. Understanding this structure is more important than memorising any individual proof.
Two-Phase Proof Strategy
- Phase 1, Scratch Work (work backwards): Start from what you want to achieve: |f(x) − L| < ε. Manipulate this algebraically until you can express it in terms of |x − a|. This tells you how to choose δ. This phase is private: it does not appear in the final proof.
- Phase 2: Formal Write-Up (work forwards): State "Let ε > 0 be given." Define δ (using what you found in scratch work). Then verify: assume 0 < |x − a| < δ and show |f(x) − L| < ε by direct computation. This phase is the proof.
§ 06Worked Proofs — Linear to Quadratic
Scratch work: We want |f(x) − L| = |(2x + 1) − 7| = |2x − 6| = 2|x − 3| < ε. This gives |x − 3| < ε/2. So choose δ = ε/2.
- Given ε > 0, let δ = ε/2.
- Assume 0 < |x − 3| < δ.
- |(2x + 1) − 7| = |2x − 6| = 2|x − 3| < 2δ = 2(ε/2) = ε.
Scratch work: |(4 − x) − (−1)| = |5 − x| = |x − 5| < ε. Choose δ = ε directly.
- Given ε > 0, let δ = ε.
- Assume 0 < |x − 5| < δ.
- |(4 − x) − (−1)| = |5 − x| = |x − 5| < δ = ε.
Scratch work: |x² − 4| = |x + 2||x − 2|. We need to bound the factor |x + 2|. If we first restrict δ ≤ 1, then |x − 2| < 1, so 1 < x < 3, hence |x + 2| < 5. Then |x² − 4| < 5|x − 2| < 5δ. We need 5δ ≤ ε, so δ ≤ ε/5. Choose δ = min(1, ε/5).
- Given ε > 0, let δ = min(1, ε/5).
- Assume 0 < |x − 2| < δ.
- Since δ ≤ 1, we have |x − 2| < 1, so 1 < x < 3, giving |x + 2| ≤ |x| + 2 < 3 + 2 = 5.
- |x² − 4| = |x + 2||x − 2| < 5 · δ ≤ 5 · (ε/5) = ε.
Scratch work: |(x² + 3x) − 4| = |x² + 3x − 4| = |(x − 1)(x + 4)|. Restrict δ ≤ 1: then 0 < x < 2, so |x + 4| < 6. Then |(x−1)(x+4)| < 6|x − 1| < 6δ. Choose δ = min(1, ε/6).
- Given ε > 0, let δ = min(1, ε/6).
- Assume 0 < |x − 1| < δ. Since δ ≤ 1: |x − 1| < 1 → 0 < x < 2 → |x + 4| < 6.
- |(x² + 3x) − 4| = |(x−1)(x+4)| < 6|x−1| < 6δ ≤ 6(ε/6) = ε.
Note: f(x) = (x² − 9)/(x − 3) is undefined at x = 3. But the limit still exists, the definition uses 0 < |x − 3|, so x = 3 is excluded.
Scratch work: For x ≠ 3, simplify: (x² − 9)/(x − 3) = (x + 3)(x − 3)/(x − 3) = x + 3. So |f(x) − 6| = |x + 3 − 6| = |x − 3|. Choose δ = ε.
- Given ε > 0, let δ = ε.
- Assume 0 < |x − 3| < δ. Since x ≠ 3, we may cancel (x − 3): (x² − 9)/(x − 3) = x + 3.
- |(x² − 9)/(x − 3) − 6| = |(x + 3) − 6| = |x − 3| < δ = ε.
Scratch work: |√x − 2| = |√x − 2| · (√x + 2)/(√x + 2) = |x − 4|/(√x + 2). If we restrict δ ≤ 4, then x > 0 and √x > 0, so √x + 2 > 2, meaning 1/(√x + 2) < 1/2. Therefore |√x − 2| < |x − 4|/2 < δ/2. We need δ/2 ≤ ε, so δ ≤ 2ε. Choose δ = min(4, 2ε).
- Given ε > 0, let δ = min(4, 2ε).
- Assume 0 < |x − 4| < δ. Since δ ≤ 4: |x − 4| < 4 → 0 < x < 8, so √x > 0 and √x + 2 > 2.
- |√x − 2| = |x − 4|/(√x + 2) < |x − 4|/2 < δ/2 ≤ (2ε)/2 = ε.
§ 07Using ε-δ to Prove a Limit Does Not Exist
The definition also tells us when a limit fails. To show limx→a f(x) ≠ L, we negate the definition:
There is some bad ε > 0 that cannot be satisfied by any δ: we can always find a "bad x" near a where f(x) is not near L.
No matter how small δ > 0 is, within (−δ, δ) \ {0} the function sin(1/x) still oscillates between −1 and 1 infinitely often. For ε = 1/2, for any proposed limit L there will always be an x with |x| < δ such that |sin(1/x) − L| ≥ 1/2. Therefore no limit value L can satisfy the ε-δ condition, and the limit does not exist.
§ 08Common Mistakes in ε-δ Proofs
| Mistake | Why It's Wrong | Fix |
|---|---|---|
| Choosing δ first, before ε is given | Reverses the quantifier order. δ must respond to ε, not pre-exist it. | Always open: "Let ε > 0 be given." Then define δ in terms of ε. |
| Writing δ = ε in every proof | Works for |x − a| < ε functions, but fails for quadratics, roots, and others. | Do the scratch work each time. Use min(1, ε/M) when bounding a variable factor. |
| Forgetting to verify 0 < |x − a| | The definition excludes x = a. Some functions are undefined or discontinuous there. | Check whether the strict inequality matters for your simplification step. |
| Not bounding |x + c| before dividing by it | |x + c| could be zero or very small unless x is bounded away from −c. | Restrict δ ≤ some positive constant first, then bound |x + c| from below. |
| Circular reasoning — using the limit to prove the limit | The proof must proceed from 0 < |x − a| < δ to |f(x) − L| < ε directly. | Work through the algebra of |f(x) − L| without substituting the limit conclusion. |
§ 09Quick Reference — Standard δ Choices
| Function / Limit | δ Choice | Bounding Factor |
|---|---|---|
| mx + b → ma + b | δ = ε / |m| | No bounding needed |
| x² → a² | δ = min(1, ε / (2|a| + 1)) | |x + a| < 2|a| + 1 |
| √x → √a (a > 0) | δ = min(a, ε√a) | Rationalise with conjugate |
| 1/x → 1/a (a ≠ 0) | δ = min(|a|/2, a²ε/2) | |x| > |a|/2 so 1/|x| < 2/|a| |
| Polynomial p(x) → p(a) | δ = min(1, ε / M) where M bounds |p'(x)| near a | Mean Value Theorem estimate |
§ 10Practice Quiz — Epsilon-Delta Definition
Test your understanding with 10 questions spanning the definition, notation, proof structure, and computation. Immediate feedback is given after each answer.
In the statement ∀ ε > 0, ∃ δ > 0 such that 0 < |x − a| < δ ⟹ |f(x) − L| < ε, what does ε control?
ε is the output tolerance, it controls how close f(x) must be to L. δ controls the input (how close x must be to a).
Why does the definition require 0 < |x − a| rather than simply |x − a| < δ?
The limit describes what happens as x approaches a, never at x = a. This allows limits to exist even when f(a) is undefined or has the wrong value.
To prove limx→4 (3x − 2) = 10, what is the correct choice of δ in terms of ε?
|(3x − 2) − 10| = |3x − 12| = 3|x − 4|. For this to be < ε, we need |x − 4| < ε/3. So δ = ε/3.
Scratch work for proving limx→0 (5x) = 0 gives: |5x − 0| = 5|x| < ε when |x| < ε/5. Enter the numerical multiplier in δ = ε/___.
δ = ε/5. Then |5x| = 5|x| < 5(ε/5) = ε. ✓
When proving limx→2 x² = 4, why do we choose δ = min(1, ε/5) rather than just δ = ε/5?
The factor |x + 2| is variable. By first requiring δ ≤ 1 (i.e., |x − 2| < 1), we pin x in (1, 3) where |x + 2| < 5. This gives |x² − 4| < 5|x − 2|. The ε/5 then delivers the final bound.
Which statement correctly negates the epsilon-delta definition (i.e., states that limx→a f(x) ≠ L)?
To negate "∀ε ∃δ …", flip all quantifiers and negate the conclusion: ∃ε ∀δ ∃x with 0 < |x − a| < δ and |f(x) − L| ≥ ε. There is one bad ε that no δ can handle.
For limx→−1 (2 − 3x), the limit value L equals ___.
L = 2 − 3(−1) = 2 + 3 = 5. With δ = ε/3 we can verify: |(2 − 3x) − 5| = |−3x − 3| = 3|x + 1| < 3δ = ε.
A student begins their proof with "Let δ = 0.01 and suppose ε > 0." What is wrong?
ε is the challenge from the adversary, it is given first. δ is your response, and must depend on ε. Pre-fixing δ = 0.01 means you only handle the special case ε ≥ something, not all ε > 0.
To prove limx→3 (x² − 9)/(x − 3) = 6, the simplification (x² − 9)/(x − 3) = x + 3 is valid because:
Because the definition uses 0 < |x − 3|, we only consider x ≠ 3. With x ≠ 3, dividing by (x − 3) is legal: (x² − 9)/(x − 3) = x + 3 exactly.
In the geometric interpretation, the ε-δ condition means the graph of f must:
The geometric picture: x in the δ-window forces f(x) into the ε-band. The function need not even be defined at x = a (there may be a hole in the graph). What matters is the behaviour for x near but not equal to a.
Quiz complete!