Analysis

Limits (Formal Definition)

What "approaches" actually means, written down precisely

The formal ε-δ definition of a limit says limx→c f(x) = L if for every ε > 0 there exists δ > 0 such that 0 < |x − c| < δ implies |f(x) − L| < ε. The deleted-neighbourhood condition 0 < |x − c| means the value f(c) is irrelevant — limits only care about behaviour near c, not at c. This definition is the foundation of calculus and the gateway to real analysis.

  • Formal statement∀ ε > 0, ∃ δ > 0 : 0 < |x − c| < δ ⇒ |f(x) − L| < ε
  • Why 0 < |x − c|Excludes x = c — limit ignores the value at c
  • Two-sidedApproach from both directions, same L
  • Sequential equivalenceLimit ⇔ f(x_n) → L for every sequence x_n → c
  • OriginCauchy 1821, Weierstrass 1860s
  • Direct usesDerivatives, integrals, infinite series, continuity

Watch the 60-second explainer

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

What "approaches" formally means

Newton and Leibniz wrote calculus in the 1600s using language like "infinitely small" and "vanishing quantities." Critics pointed out that an infinitesimal which is sometimes nonzero (so you can divide by it) and sometimes zero (so you can throw it away) is not a coherent mathematical object. The repair, due to Cauchy and made airtight by Weierstrass, was to replace the metaphor with a quantifier game.

The statement limx→c f(x) = L unpacks as:

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

Read it as: no matter how tight a tolerance ε around L you demand, I can guarantee f(x) lies inside that tolerance by restricting x to within δ of c (excluding c itself). The 0 < |x − c| is the only thing distinguishing this from the continuity definition — limits never look at f(c).

This subtlety is the whole point. A function can have a perfectly good limit at a point where it is undefined (like sin(x)/x at 0), or where its value disagrees with the limit (a removable discontinuity). The limit captures "what value does the function trend toward," independent of any value it actually takes at the destination.

Worked example — proving limx→0 (sin x)/x = 1 by squeeze

This limit is famous because it cannot be evaluated by direct substitution (you get 0/0) and is the entry point to the derivative of sin. The standard proof uses a geometric inequality and the squeeze theorem.

Step 1 — geometry. For 0 < x < π/2, draw a unit-circle sector subtending angle x at the origin. Comparing areas:

area of triangle(O, (1,0), (cos x, sin x)) ≤ area of sector ≤ area of triangle(O, (1,0), (1, tan x))

Computing each area: ½ sin x ≤ ½ x ≤ ½ tan x.

Step 2 — algebra. Multiply through by 2 and divide by sin x (positive for x ∈ (0, π/2)):

1 ≤ x/sin x ≤ 1/cos x

Take reciprocals (inequalities flip):

cos x ≤ (sin x)/x ≤ 1

Step 3 — squeeze. Both bounds tend to 1 as x → 0⁺ (since cos is continuous and cos 0 = 1). The squeeze theorem forces (sin x)/x → 1 as x → 0⁺. Symmetry of sin and x under x ↦ −x gives the same limit from the left. ∎

Every clean limit proof has this same shape: bound the expression of interest between two simpler expressions whose limits you already know, then squeeze.

One-sided vs two-sided limits

Limits come in several flavours, and they are not interchangeable. The differences sit inside the inequality on x.

Two-sided limx→cOne-sided limx→c⁺One-sided limx→c⁻
Domain restriction on x0 < |x − c| < δ0 < x − c < δ0 < c − x < δ
Direction of approachBothFrom the rightFrom the left
Existence relationshipExists iff both one-sided exist and agreeIndependent of left limitIndependent of right limit
Jump discontinuity behaviourDoes not existExists (one value)Exists (different value)
Used to defineContinuityRight-continuity, CDFs in probabilityLeft-continuity, càglàd processes
Example: sign(x) at 0Does not exist+1−1
Example: √x at 0Only well-defined as one-sided (domain x ≥ 0)0Not defined

Cumulative distribution functions in probability are right-continuous by convention (so that P(X ≤ x) is well-behaved at jumps). Càdlàg ("continuous from the right with left limits") processes are the standard model for stochastic processes with jumps.

Limits at and to infinity

The ε-δ pattern adapts to limits at infinity by replacing "near c" with "far out" and limits to infinity by replacing "near L" with "exceeding any bound."

  • limx→∞ f(x) = L: ∀ ε > 0, ∃ M such that x > M ⇒ |f(x) − L| < ε. Example: 1/x → 0 as x → ∞.
  • limx→c f(x) = ∞: ∀ N, ∃ δ > 0 such that 0 < |x − c| < δ ⇒ f(x) > N. Example: 1/x² → ∞ as x → 0.
  • limx→∞ f(x) = ∞: ∀ N, ∃ M such that x > M ⇒ f(x) > N. Example: x² → ∞ as x → ∞.

The pattern: replace each "absolute value < ε" by "> N" when the value is going to infinity, and replace each "|x − c| < δ" by "x > M" when the input is going to infinity.

Sequential characterisation

An equivalent — and often more practical — version of the limit definition uses sequences. limx→c f(x) = L if and only if for every sequence xn → c with xn ≠ c, we have f(xn) → L.

This is the easiest way to disprove a limit. To show limx→0 sin(1/x) does not exist, pick:

  • xn = 1/(nπ) → 0, with sin(1/xn) = sin(nπ) = 0,
  • yn = 1/((2n + ½)π) → 0, with sin(1/yn) = sin((2n + ½)π) = 1.

Two sequences both go to 0 but produce different limits, so no single L works.

Classical applications

  • Derivative. f′(c) = limh→0 (f(c + h) − f(c)) / h. The whole differential calculus rests on this single limit.
  • Definite integral.ab f = lim of Riemann sums as the partition mesh shrinks — a limit of a sequence of finite sums.
  • Infinite series. Σ an = limN→∞ Σn≤N an. Convergence of series is reduced to convergence of partial sums.
  • Continuity. f continuous at c ⇔ limx→c f(x) = f(c). Continuity is just "limit exists and matches the value."
  • Asymptotic analysis. Big-O, big-Θ, and big-Ω notation in computer science are all defined via limits at infinity.

Common mistakes

  • Treating "limit exists" as "function is continuous." A removable discontinuity has a perfectly good limit but the function is not continuous there. Continuity needs the extra agreement lim = f(c).
  • Forgetting the strict inequality 0 < |x − c|. Without it the definition collapses into continuity. Many introductory texts gloss over the difference.
  • Using a single sequence to prove a limit. One sequence xn → c with f(xn) → L is not enough; the sequential characterisation requires every such sequence.
  • Algebraic manipulation across a limit without justification. Limits respect sums, products, and quotients (when denominators are nonzero), but not arbitrary operations. lim (fg) often needs separate care; "0/0" and "∞ − ∞" are not numbers.
  • Computing the limit by plugging in c. Plugging in works only when f is continuous at c. For a 0/0 form like (sin x)/x, plugging in produces nonsense — you need a real argument.
  • Quantifier order reversed. Writing "∃ δ ∀ ε" instead of "∀ ε ∃ δ" makes the statement vacuous or false; only the latter captures "approaches."

Frequently asked questions

Why is the condition 0 < |x − c|, not just |x − c| < δ?

The strict inequality 0 < |x − c| excludes x = c itself. Limits describe what f(x) approaches as x gets near c, regardless of what f does at c. A function can have limx→c f(x) = L with f(c) undefined, or with f(c) ≠ L. Continuity is the extra requirement that the limit and the value match.

What is the difference between a one-sided and two-sided limit?

A two-sided limit limx→c f(x) requires f(x) → L as x approaches c from both directions. A one-sided limit only restricts approach from the left (limx→c⁻, requires c − δ < x < c) or from the right (limx→c⁺, requires c < x < c + δ). The two-sided limit exists iff both one-sided limits exist and agree.

How do you prove a limit does not exist?

Show two sequences xn → c and yn → c with f(xn) and f(yn) approaching different values. By the sequential characterisation of limits, if the limit existed both sequences would have to give the same answer. For sin(1/x) at 0 you can take xn = 1/(nπ) (gives 0) and yn = 1/((2n+½)π) (gives 1).

Why is limx→0 (sin x)/x = 1?

Geometric proof: for small x > 0, sin x < x < tan x. Dividing by sin x gives 1 < x/sin x < 1/cos x. Taking reciprocals and the squeeze theorem as x → 0⁺ pins (sin x)/x between cos x and 1, both of which tend to 1. The limit at 0⁻ is the same by symmetry. This limit is the first non-trivial calculus computation and underpins the derivative of sin.

What is limx→∞ f(x) formally?

limx→∞ f(x) = L means: for every ε > 0 there exists M such that x > M implies |f(x) − L| < ε. The closeness in the input is replaced by "far enough out." Similarly, limx→c f(x) = ∞ means for every N there exists δ such that 0 < |x − c| < δ implies f(x) > N.

How do limits of sequences relate to limits of functions?

For sequences an, the formal definition is: lim an = L if for every ε > 0 there exists N such that n ≥ N implies |an − L| < ε. The bridge: limx→c f(x) = L if and only if for every sequence xn → c (with xn ≠ c), we have f(xn) → L. This sequential characterisation is often the easiest way to disprove a limit.