Functions without breaks. Limit equals function value.
Self-serve tutorial - low prerequisites, straightforward concepts.
Calculus only works when “nearby inputs give nearby outputs” in a predictable way. Continuity is the rule that formalizes that idea: no surprise jumps at the point you care about.
A function f is continuous at x = a when (1) f(a) is defined, (2) lim₍ₓ→ₐ₎ f(x) exists, and (3) lim₍ₓ→ₐ₎ f(x) = f(a). Continuity is a local property (point-by-point) that lets you safely evaluate limits by substitution and is the gateway to derivatives and integrals behaving nicely.
When you use a function to model something real—position over time, temperature over distance, probability over a parameter—you often assume there are no “teleportations.” If you nudge the input slightly, the output shouldn’t suddenly jump to a completely different value.
Continuity captures this “no breaks” idea at a specific point. Importantly, continuity is not about what happens far away; it’s about what happens arbitrarily close to a point.
A function f(x) is continuous at x = a if all three of the following are true:
1) Function value exists: f(a) is defined.
2) Limit exists: lim₍ₓ→ₐ₎ f(x) exists (the left-hand and right-hand limits agree).
3) They match: lim₍ₓ→ₐ₎ f(x) = f(a).
Written compactly, continuity at a is:
lim₍ₓ→ₐ₎ f(x) = f(a)
…but only after you’ve checked that both sides actually exist.
Think of lim₍ₓ→ₐ₎ f(x) as the value the function is trying to take as x gets close to a. Think of f(a) as the value the function actually takes at x = a.
Continuity says: the “trying” and the “actually” are the same.
A function can be continuous at some points and not others. For example, piecewise functions often behave well on each piece, but fail at the boundaries.
Later in calculus you’ll study vector-valued functions like r(t). Continuity extends naturally: r(t) is continuous at t = a if each component is continuous at a. We won’t need vector techniques here, but the concept scales.
Continuity depends on a limit, so the first thing to check is whether lim₍ₓ→ₐ₎ f(x) exists. Many discontinuities are simply cases where the function approaches different values from the left and right.
We define:
The two-sided limit exists exactly when:
lim₍ₓ→ₐ⁻₎ f(x) = lim₍ₓ→ₐ⁺₎ f(x)
If they are unequal, the two-sided limit does not exist, and continuity is impossible at that point.
| Pattern | What you see near x = a | What it means for lim₍ₓ→ₐ₎ f(x) | Typical name |
|---|---|---|---|
| Jump | Approaches L from left, R from right, L ≠ R | Does not exist | Jump discontinuity |
| Infinite blow-up | Values grow without bound (→ ∞ or → −∞) | Does not exist as a finite number | Infinite discontinuity |
| Wild oscillation | Values keep oscillating, never settling | Does not exist | Oscillatory discontinuity |
At Difficulty 2, the most common is the jump created by a piecewise definition.
Even when lim₍ₓ→ₐ₎ f(x) exists, the function may still not be continuous if:
That leads to a very important type: a removable discontinuity, where the graph has a “hole” that could be fixed by redefining f(a).
To decide if f is continuous at a, don’t jump straight to substitution. Instead, mentally run a checklist:
1) Can I compute lim₍ₓ→ₐ₎ f(x)?
2) Is f(a) actually defined?
3) Do those two numbers match?
This checklist is the backbone of everything that follows.
The definition lim₍ₓ→ₐ₎ f(x) = f(a) is elegant, but it hides “existence checks.” If f(a) doesn’t exist, the equation is meaningless. If the limit doesn’t exist, you can’t compare.
So we use the practical three-condition test:
f is continuous at a ⇔
1) f(a) exists
2) lim₍ₓ→ₐ₎ f(x) exists
3) lim₍ₓ→ₐ₎ f(x) = f(a)
Let’s label the values:
Continuity at a means: both exist and L = A.
If continuity fails, it’s because at least one of these is true:
This is the situation:
You can “remove” the discontinuity by defining a new function g that matches f everywhere except at a, where you set g(a) = L.
This is the situation:
lim₍ₓ→ₐ⁻₎ f(x) ≠ lim₍ₓ→ₐ⁺₎ f(x)
The graph has a step/jump. There is no single value L for the two-sided limit, so continuity is impossible.
The function grows without bound near a (often due to division by zero):
lim₍ₓ→ₐ₎ f(x) = ∞ or −∞ (not a finite limit)
At this level, the key idea is: if the output “blows up,” it does not settle to a finite real number, so continuity fails.
You don’t need heavy formalism here, but it’s useful vocabulary because many calculus theorems assume continuity on a closed interval.
If f is continuous at a, then:
lim₍ₓ→ₐ₎ f(x) = f(a)
So you can evaluate the limit by direct substitution. This is one of the main reasons continuity is so valuable: it converts a “nearby behavior” question (a limit) into an “at the point” computation.
Continuity is the quiet assumption behind many “nice” behaviors in calculus.
1) Derivatives require continuity (in most standard settings)
If f is differentiable at a, then f is continuous at a. (The converse is not always true: continuous does not imply differentiable.)
This matters because it sets expectations:
2) Integrals behave well for continuous functions
Continuous functions on [a, b] are guaranteed to be integrable (in the Riemann sense). This is a major reason textbooks love continuous examples.
3) The Intermediate Value Theorem (IVT)
A famous theorem (you’ll likely learn soon) says: if f is continuous on [a, b], then f takes every value between f(a) and f(b).
Intuitively: you can’t go from one height to another without passing through all intermediate heights—if there are no breaks.
This powers root-finding logic: if f(a) and f(b) have opposite signs and f is continuous, then there exists c ∈ (a, b) such that f(c) = 0.
A major theme in calculus is: certain operations preserve continuity.
So if you build a function from continuous pieces using addition, multiplication, and composition, you often inherit continuity automatically—meaning you can evaluate limits by substitution at most points.
Loss functions and activation functions are often designed to be continuous (and preferably differentiable), because optimization methods like gradient descent rely on smooth local behavior. Discontinuities can cause unstable training dynamics or undefined gradients.
Even when models include non-smooth parts (like ReLU), continuity is still often preserved (ReLU is continuous, though not differentiable at 0). That’s a practical example of “continuous but not differentiable,” which mirrors the theoretical distinction.
Continuity is a promise:
As x approaches a,
f(x) approaches f(a).
It’s the bridge between “nearby” and “at the point,” and that bridge is what makes the rest of calculus work.
Let f(x) = { x + 1 if x < 2; 5 if x ≥ 2 }. Determine whether f is continuous at x = 2.
Step 1: Compute the left-hand limit.
For x < 2, f(x) = x + 1.
So:
lim₍ₓ→2⁻₎ f(x) = lim₍ₓ→2⁻₎ (x + 1)
= 2 + 1
= 3
Step 2: Compute the right-hand limit.
For x ≥ 2, f(x) = 5 (a constant).
So:
lim₍ₓ→2⁺₎ f(x) = lim₍ₓ→2⁺₎ 5
= 5
Step 3: Compare left and right limits.
We have:
lim₍ₓ→2⁻₎ f(x) = 3
lim₍ₓ→2⁺₎ f(x) = 5
Since 3 ≠ 5, the two-sided limit lim₍ₓ→2₎ f(x) does not exist.
Step 4: Apply the continuity test.
Because lim₍ₓ→2₎ f(x) does not exist, f cannot be continuous at x = 2.
(We don’t even need f(2), but for completeness: f(2) = 5.)
Insight: Continuity fails immediately if the left and right limits disagree. Piecewise functions often create jump discontinuities at boundary points.
Define f(x) = (x² − 1)/(x − 1) for x ≠ 1, and suppose f(1) is not defined. Is f continuous at x = 1? If not, how can we redefine it to make it continuous?
Step 1: Identify the issue at x = 1.
At x = 1, the denominator x − 1 = 0, so the given formula does not define f(1). Thus condition (1) fails: f(1) does not exist.
Step 2: Compute the limit lim₍ₓ→1₎ f(x).
Start by factoring the numerator:
x² − 1 = (x − 1)(x + 1)
So for x ≠ 1:
f(x) = (x² − 1)/(x − 1)
= ((x − 1)(x + 1))/(x − 1)
= x + 1
Step 3: Now take the limit using the simplified expression.
lim₍ₓ→1₎ f(x) = lim₍ₓ→1₎ (x + 1)
= 1 + 1
= 2
Step 4: Classify the discontinuity.
The limit exists and equals 2, but f(1) is undefined.
So this is a removable discontinuity (a “hole” at x = 1).
Step 5: Redefine the function to make it continuous.
Define a new function g such that:
Then lim₍ₓ→1₎ g(x) = 2 and g(1) = 2, so g is continuous at x = 1.
Insight: A removable discontinuity happens when the limit exists but the function value is missing (or wrong). Continuity can often be restored by redefining the function at a single point to match the limit.
Let f(x) = 3x³ − 2x + 7. Evaluate lim₍ₓ→−1₎ f(x) and justify using continuity.
Step 1: Recognize the function type.
f(x) is a polynomial. Polynomials are continuous for all real x.
Step 2: Use the continuity rule.
Because f is continuous at x = −1:
lim₍ₓ→−1₎ f(x) = f(−1)
Step 3: Compute f(−1).
f(−1) = 3(−1)³ − 2(−1) + 7
= 3(−1) + 2 + 7
= −3 + 2 + 7
= 6
Step 4: Conclude.
Therefore:
lim₍ₓ→−1₎ (3x³ − 2x + 7) = 6
Insight: Continuity often turns a limit problem into straightforward evaluation. Knowing which function families are continuous saves time and reduces errors.
Continuity at x = a means: f(a) exists, lim₍ₓ→ₐ₎ f(x) exists, and lim₍ₓ→ₐ₎ f(x) = f(a).
The two-sided limit exists only if lim₍ₓ→ₐ⁻₎ f(x) = lim₍ₓ→ₐ⁺₎ f(x).
If the limit exists but f(a) is missing or not equal to the limit, the discontinuity is removable (a “hole”).
Jump discontinuities come from mismatched left/right limits; they cannot be fixed by redefining a single point.
Polynomials are continuous everywhere; rational functions are continuous wherever the denominator ≠ 0.
If f is continuous at a, you can evaluate lim₍ₓ→ₐ₎ f(x) by direct substitution: f(a).
Differentiability implies continuity, so any discontinuity rules out a derivative at that point.
Assuming lim₍ₓ→ₐ₎ f(x) exists without checking left-hand and right-hand limits separately for piecewise functions.
Thinking “f(a) is defined” automatically implies continuity; you still need the limit to exist and to match f(a).
Canceling factors like (x − 1) and then plugging in x = 1 into the original function (which was undefined there) without stating the domain restriction x ≠ 1.
Believing continuous ⇒ differentiable; many functions are continuous but have corners/cusps where the derivative does not exist.
Determine whether f(x) = { 2x if x ≤ 1; x + 1 if x > 1 } is continuous at x = 1.
Hint: Compute lim₍ₓ→1⁻₎ f(x), lim₍ₓ→1⁺₎ f(x), and compare them to f(1).
Left-hand limit: for x ≤ 1, f(x) = 2x, so lim₍ₓ→1⁻₎ f(x) = 2·1 = 2.
Right-hand limit: for x > 1, f(x) = x + 1, so lim₍ₓ→1⁺₎ f(x) = 1 + 1 = 2.
Thus lim₍ₓ→1₎ f(x) exists and equals 2.
Function value: f(1) = 2·1 = 2.
Since lim₍ₓ→1₎ f(x) = f(1) = 2, f is continuous at x = 1.
Let f(x) = (x² − 4)/(x − 2) for x ≠ 2, and define f(2) = 10. Is f continuous at x = 2? If not, what value should f(2) be to make it continuous?
Hint: Factor x² − 4 and simplify for x ≠ 2, then compute lim₍ₓ→2₎ f(x).
For x ≠ 2:
(x² − 4)/(x − 2) = ((x − 2)(x + 2))/(x − 2) = x + 2.
So lim₍ₓ→2₎ f(x) = lim₍ₓ→2₎ (x + 2) = 4.
But f(2) is defined as 10, so lim₍ₓ→2₎ f(x) = 4 ≠ 10 = f(2).
Therefore f is not continuous at x = 2.
To make it continuous, redefine f(2) = 4.
Find all values of k such that f(x) = { kx + 3 if x < 0; x² + 3 if x ≥ 0 } is continuous at x = 0.
Hint: Continuity at 0 requires lim₍ₓ→0⁻₎ f(x) = lim₍ₓ→0⁺₎ f(x) and both equal f(0).
Compute the left-hand limit:
For x < 0, f(x) = kx + 3.
lim₍ₓ→0⁻₎ f(x) = lim₍ₓ→0⁻₎ (kx + 3) = k·0 + 3 = 3.
Compute the right-hand limit:
For x ≥ 0, f(x) = x² + 3.
lim₍ₓ→0⁺₎ f(x) = lim₍ₓ→0⁺₎ (x² + 3) = 0² + 3 = 3.
They already match (both are 3) for any k.
Now check f(0): since 0 ≥ 0, f(0) = 0² + 3 = 3.
Thus lim₍ₓ→0₎ f(x) = 3 = f(0) regardless of k.
So f is continuous at x = 0 for all real k.
Next nodes you’ll likely want: