Limits and Continuity

Limits and Continuity

Definition: The limit of a function f(x) as x approaches a value c, written lim x→c f(x) = L, describes the value f(x) gets arbitrarily close to as x gets arbitrarily close to c — a statement about the function’s behavior near c that holds whether or not f is actually defined at c itself.

How It Works

  • The notation lim x→c f(x) = L means f(x) gets arbitrarily close to L as x gets arbitrarily close to c — a statement about behavior near c, not about any single value of f.
  • Critically, the limit says nothing about f(c) itself: it can exist at a point where f is undefined, or where f(c) has a completely different value than the limit — that gap is exactly what a removable discontinuity is.
  • The left-hand limit, written lim x→c⁻ f(x), only considers x-values approaching c from below (x < c); the right-hand limit, lim x→c⁺ f(x), only considers x-values approaching from above (x > c).
  • A full (two-sided) limit lim x→c f(x) exists only when both one-sided limits exist and agree with each other; if they disagree, or either one fails to exist, the two-sided limit does not exist.
  • A function f is continuous at c only if all three hold at once: lim x→c f(x) exists, f(c) is defined, and the two are equal. Failing any single condition makes f discontinuous there.
  • A removable (point) discontinuity is a single missing or misplaced point: the limit exists, but f(c) is either undefined or doesn’t match it — visually, one lone hole in an otherwise unbroken curve.
  • A jump discontinuity is a genuine step in the function’s value: both one-sided limits exist, but they disagree, so no single value at c could ever make the function continuous there.
  • An infinite (asymptotic) discontinuity happens when f(x) grows without bound as x approaches c from one or both sides — a vertical asymptote, where no finite limit exists at all.
  • Limits at infinity, lim x→∞ f(x) or lim x→-∞ f(x), describe end behavior: what value (if any) f(x) settles toward as x grows without bound, often producing a horizontal asymptote.
  • Limits obey ordinary algebra when the pieces involved have limits of their own: the limit of a sum, difference, product, or quotient (nonzero denominator) is just the sum, difference, product, or quotient of the individual limits, which is why direct substitution works at all for well-behaved functions.
  • Limits are not an isolated topic — they are the rigorous foundation both derivatives and integrals are formally defined on top of: a derivative is the limit of a difference quotient as an interval shrinks to zero, and an integral is the limit of a sum of ever-thinner rectangles.

Illustration

x y -6 6 -6 6 (2, 4)

f(x) = (x² - 4)/(x - 2) x = 0.50 f(x) = 2.50 |x - 2| = 1.50

Drag the slider to move x from 0 to 4. The marker traces (x, f(x)) along y = x + 2, the simplified form of f(x) = (x² - 4)/(x - 2). As x approaches 2 from either side, the marker approaches the open circle at (2, 4) — but f(x) is never actually evaluated at x = 2 itself, since the original expression is 0/0 there. That gap between "gets arbitrarily close to" and "equals" is the entire idea of a limit.

var xIn = document.getElementById(‘lim-x’); var xOut = document.getElementById(‘lim-x-out’); var resetBtn = document.getElementById(‘lim-reset’);

function fmt(n) { return (Math.round(n * 100) / 100).toFixed(2).replace(/.00$/, ‘.0’); }

// f(x) = (x²-4)/(x-2) simplifies to x+2 everywhere except x=2, so the // line itself never moves. Draw it once, then punch a visible hole where // the original expression is actually undefined. var p1 = toPx(-6.3, -4.3); var p2 = toPx(4.3, 6.3); curve.setAttribute(‘d’, ‘M’ + p1[0].toFixed(1) + ’,’ + p1[1].toFixed(1) + ’ L’ + p2[0].toFixed(1) + ’,’ + p2[1].toFixed(1)); var hp = toPx(2, 4); hole.setAttribute(‘cx’, hp[0]); hole.setAttribute(‘cy’, hp[1]);

function update() { var x = parseFloat(xIn.value); xOut.textContent = fmt(x);

// Evaluated via the simplified x+2 form so the slider can move right up
// to (and through) x=2 without a real 0/0 division happening in JS.
var fx = x + 2;
var dist = Math.abs(x - 2);

var mp = toPx(x, fx);
marker.setAttribute('cx', mp[0]); marker.setAttribute('cy', mp[1]);

var gx1 = toPx(x, 0);
guideX.setAttribute('x1', gx1[0]); guideX.setAttribute('y1', gx1[1]);
guideX.setAttribute('x2', mp[0]); guideX.setAttribute('y2', mp[1]);
var gy1 = toPx(0, fx);
guideY.setAttribute('x1', gy1[0]); guideY.setAttribute('y1', gy1[1]);
guideY.setAttribute('x2', mp[0]); guideY.setAttribute('y2', mp[1]);

xTxt.textContent = 'x = ' + fmt(x);
distTxt.textContent = '|x - 2| = ' + fmt(dist);

if (dist < 0.0001) {
  marker.setAttribute('fill', 'var(--bg-elevated)');
  fxTxt.textContent = 'f(x) = 4.0 (limit only - original is 0/0, undefined)';
} else {
  marker.setAttribute('fill', 'var(--brass-bright)');
  fxTxt.textContent = 'f(x) = ' + fmt(fx);
}

}

xIn.addEventListener(‘input’, update); resetBtn.addEventListener(‘click’, function () { xIn.value = 0.5; update(); });

update(); })();

Under the Hood

The formal definition that finally made “arbitrarily close” mathematically precise, developed roughly 150 years after calculus itself (see History below):

For every ε > 0, there exists a δ > 0 such that:
    0 < |x - c| < δ   implies   |f(x) - L| < ε
  • ε (epsilon) is a tolerance you challenge the limit with — how close to L you demand f(x) be. δ (delta) is the response — how close x must stay to c to guarantee that tolerance is met.
  • The definition must hold for every ε > 0, no matter how tiny; a limit only counts as proven if a valid δ can always be found, however small a tolerance someone throws at it. That is what makes “arbitrarily close” a precise mathematical statement instead of a vague description.

Worked Example 1: Direct substitution. Given: lim x→3 (x² + 2x - 1). Step 1: this is a polynomial, and polynomials are continuous everywhere, so the limit equals the function’s value at x = 3. Step 2: substitute x = 3: 3² + 2(3) - 1 = 9 + 6 - 1. Answer: lim x→3 (x² + 2x - 1) = 14.

Worked Example 2: Algebraic simplification (removable discontinuity). Given: lim x→2 (x² - 4)/(x - 2) — the exact function from the illustration above. Step 1: try direct substitution first: (2² - 4)/(2 - 2) = 0/0, an indeterminate form. That means “try a different method,” not “no limit.” Step 2: factor the numerator as a difference of squares: x² - 4 = (x - 2)(x + 2). Step 3: cancel the common (x - 2) factor, valid for every x ≠ 2, which is all a limit ever examines anyway: (x² - 4)/(x - 2) = x + 2. Step 4: substitute x = 2 into the simplified form: 2 + 2 = 4. Answer: lim x→2 (x² - 4)/(x - 2) = 4, even though the original expression itself is undefined at x = 2 — exactly the hole the illustration draws.

Worked Example 3: A limit that does not exist (jump discontinuity). Given: f(x) = x² for x < 1, and f(x) = x + 3 for x ≥ 1. Find lim x→1 f(x). Step 1: left-hand limit, using the x² branch: lim x→1⁻ f(x) = 1² = 1. Step 2: right-hand limit, using the x + 3 branch: lim x→1⁺ f(x) = 1 + 3 = 4. Step 3: compare the two: 1 ≠ 4, so the one-sided limits disagree. Answer: lim x→1 f(x) does not exist — even though f(1) = 4 is perfectly well-defined, the jump means the two-sided limit never settles on one value.

History

  • Isaac Newton and Gottfried Leibniz independently developed the core methods of calculus in the 1660s-80s, both leaning on an intuitive notion of “infinitesimals”: infinitely small quantities treated as nonzero for some steps of a calculation and zero for others.
  • Bishop George Berkeley’s 1734 essay “The Analyst” attacked that inconsistency directly, mocking infinitesimals as “the ghosts of departed quantities” — a critique calculus had no fully rigorous answer to for another century.
  • Through the 18th century, mathematicians including Euler and the Bernoulli family produced an enormous body of correct, useful calculus despite the shaky foundation, since the intuitive infinitesimal approach usually gave the right answer even without rigorous justification.
  • Augustin-Louis Cauchy, in the 1820s, was among the first to define limits in terms of quantities approached arbitrarily closely rather than infinitesimals treated as real numbers, laying the groundwork for the modern approach.
  • Karl Weierstrass finished the job in the 1850s-70s, formalizing the precise epsilon-delta definition still taught today and finally putting calculus on fully rigorous logical footing.
  • The roughly 150-200 year gap between calculus’s invention and its rigorous foundation is a famous illustration that mathematics can be practically useful and correct long before it is fully logically justified.

Why It Matters

  • Limits are the rigorous foundation both derivatives and integrals are formally built on: a derivative is defined as the limit of a difference quotient, an integral as the limit of a Riemann sum, so neither has a precise meaning without limits underneath it.
  • Physics defines instantaneous velocity and acceleration as limits: average velocity over a shrinking time interval, taken to its limit as the interval approaches zero, is what “velocity at this exact instant” actually means.
  • Engineers use limit-based stability analysis to determine whether a system’s response settles down (converges) or grows unbounded (diverges) over time — control systems, circuit transients, and structural vibration all depend on this.
  • Computer science’s Big-O notation for algorithm efficiency is fundamentally a limit statement: it describes how a function behaves as input size grows without bound, the same idea as a limit at infinity.
  • Continuity assumptions justify most numerical methods — root-finding, interpolation, and numerical integration all explicitly require, or implicitly rely on, the function being continuous for their guarantees to hold.
  • Fields from economics to biology use limits at infinity to model long-run or steady-state behavior: what a system settles toward after a very long time, independent of its exact starting conditions.

Common Pitfalls

  • Assuming a limit exists, and equals f(c), just because plugging c into the function doesn’t error out — that shortcut only works for functions already known to be continuous there, and it silently misses removable discontinuities.
  • Confusing “the limit as x approaches c” with “the value at c.” They agree for continuous functions, but a removable discontinuity is exactly the case where they differ.
  • Forgetting to check that both one-sided limits agree before declaring a two-sided limit exists; a jump discontinuity has two perfectly well-defined one-sided limits that simply disagree with each other.
  • Treating “the limit is infinity” as though infinity were an ordinary number the limit equals. An infinite limit is really a precise statement that the function grows without bound, not a numeric answer you can add or multiply like any other limit value.
  • Assuming a function is continuous everywhere it “looks smooth” on a quick graph; a single missing or misplaced point can be invisible at a normal zoom level but still breaks continuity there.
  • Canceling a common factor algebraically (like (x - 2) from (x² - 4)/(x - 2)) and then forgetting the simplification is only valid for x ≠ 2 — silently erasing the very discontinuity the original expression had.

Comparison

TypeWhat Causes ItDoes the Limit Exist?
Removable (point)A single point is missing or misdefined; both one-sided limits exist and agreeYes — equals the common one-sided value, even if it doesn’t match f(c)
JumpThe function genuinely steps to a different value; one-sided limits exist but disagreeNo — the two-sided limit fails to exist, though both one-sided limits do
Infinite (asymptotic)f(x) grows without bound near c, producing a vertical asymptoteNo — neither the two-sided limit nor either one-sided limit is a finite number

FAQ

If a function is undefined at x = c, can the limit at c still exist? Yes — that is exactly what a removable discontinuity is. (x² - 4)/(x - 2) is undefined at x = 2 (division by zero), yet lim x→2 (x² - 4)/(x - 2) = 4, because a limit only examines values near x = 2, never x = 2 itself.

What’s the difference between “the limit does not exist” and “the limit is infinite”? Both technically mean no finite limit exists, but they describe different behavior. Saying a limit “is infinity” (like 1/x² as x→0) tells you the function grows without bound in a specific, predictable way. Saying a limit merely “does not exist” (like a jump discontinuity, or a function that oscillates near the point) means it doesn’t even settle into that predictable a pattern.

Do I need derivatives or integrals to understand limits? No — direct substitution, factoring, and one-sided reasoning only require algebra. It runs the other direction: derivatives and integrals are both defined using limits, so this note is a prerequisite for both, not the reverse.

Example

A car’s speedometer reading at one exact instant is a limit in disguise: average speed over an interval from t to t+h is easy to define for any h ≠ 0 (distance traveled divided by h), but “speed at this exact instant” only makes sense as the limit of that average as h shrinks toward zero. Apply that same idea systematically at every instant, and the result is the derivative, covered next.

Dig deeper