The Intermediate Value Theorem

A function continuous on \([a, b]\) can't skip values: on its way from \(f(a)\) to \(f(b)\) it must pass through every height in between. The famous payoff: if a continuous f changes sign on an interval, a root is hiding inside.

By the end you'll be able to use the IVT to prove a root exists on an interval by checking continuity plus a sign change — and state precisely what the theorem does not tell you (how many roots, or where).

Predict: if k sits between \(f(a)\) and \(f(b)\), must the continuous curve cross the line \(y = k\) somewhere on \([a, b]\)? Drag k to check — then flip to the jumpy function and see the guarantee break.

The curve is \(f(x) = x^3 + x - 1\) on \([0, 1]\), with endpoint heights \(f(0) = -1\) and \(f(1) = 1\) marked by dashed guides. The solid target line \(y = k\) is yours to move; wherever the curve meets it, a crossing dot appears with the guaranteed \(c\). Hover or focus any dot for exact values.

k = 0.00 lies between f(a) = −1 and f(b) = 1 → guaranteed crossing at c ≈ 0.68 — and since k = 0, that crossing is a root.

f(x) = x³ + x − 1 on [0, 1] — endpoint guides, the movable target y = k, and the crossing the theorem promises
f(x) f(a), f(b) guides target y = k guaranteed crossing

The Intermediate Value Theorem says a function continuous on \([a, b]\) takes every value between \(f(a)\) and \(f(b)\) — which guarantees a root exists whenever f changes sign on the interval.

Formal

If f is continuous on the closed interval \([a, b]\) and \(N\) is any number strictly between \(f(a)\) and \(f(b)\), then there exists at least one \(c\) in \((a, b)\) with \(f(c) = N\). Two things to keep straight. First, the theorem asserts existence of \(c\) — it does not say where \(c\) is or how many such \(c\) there are. Second, continuity is an essential hypothesis: you saw in the previous lesson that a function with a jump fails the definition of continuity at that point, and such a function can leap clean over values — flip the jump toggle above and watch \(y = k\) go unmet even though k sits between the endpoint heights.

Applied

The workhorse application is the root-finding corollary: if f is continuous on \([a, b]\) and \(f(a)\), \(f(b)\) have opposite signs, then 0 lies between them, so some \(c\) in \((a, b)\) has \(f(c) = 0\) — a root, proven without ever solving the equation. This is the theoretical basis of the bisection method: keep the half-interval where the sign still changes, and the IVT re-guarantees a root inside every time you halve.

Worked example

Show that \(f(x) = x^3 + x - 1\) has a root in \([0, 1]\). f is a polynomial, hence continuous on \([0, 1]\). Check the endpoints: \(f(0) = 0 + 0 - 1 = -1 < 0\) and \(f(1) = 1 + 1 - 1 = 1 > 0\). f changes sign and \(N = 0\) lies between \(-1\) and \(1\), so the IVT guarantees some \(c\) in \((0, 1)\) with \(f(c) = 0\). (Numerically \(c \approx 0.682\) — but the theorem only promises existence.)

Your turn

Show that \(p(x) = x^3 - 3x + 1\) has a root in \([0, 1]\). p is a polynomial, hence continuous. Endpoints: \(p(0) = 1 > 0\) and \(p(1) = 1 - 3 + 1 = -1 < 0\). Since p changes sign on \([0, 1]\) and 0 lies between \(1\) and \(-1\), the IVT guarantees ____

Reveal the answer

…at least one \(c\) in \((0, 1)\) with \(p(c) = 0\). That's the full, correct conclusion — not "the root is at \(c = 0.5\)" and not "exactly one root". The theorem hands you existence; anything about count or location needs more work.

More info — why the continuity hypothesis does all the work

Recall the three-part definition from the previous lesson: f is continuous at a point when f is defined there, the limit exists there, and the two agree. A jump discontinuity breaks the second part — the left and right limits disagree — and that's precisely the escape hatch a discontinuous function uses to skip values. In the demo's jumpy mode the graph climbs to just below \(-0.5\), teleports up to \(0.5\), and keeps going: every target between those two heights, including \(k = 0\), is simply never attained, even though the endpoint values \(-1\) and \(1\) still bracket it. Continuity is what welds the graph into one unbroken curve that must sweep through every intermediate height. The OpenStax section in Dive deeper below gives the formal statement alongside more worked sign-change examples.

Check your understanding

Question 1 of 4

Let \(g(x) = x^2 - 5\). Evaluate \(g(2)\) and \(g(3)\) and use the IVT to decide: does g have a root in \([2, 3]\)?

Question 2 of 4

f is continuous on \([2, 5]\) with \(f(2) = -4\) and \(f(5) = 3\). The IVT guarantees…

Question 3 of 4

g satisfies \(g(0) = -1\) and \(g(1) = 1\), but g has a jump discontinuity inside \([0, 1]\). Why can't you use the IVT to conclude that g has a root?

Question 4 of 4

f is continuous on \([0, 2]\) with \(f(0) = 1\) and \(f(2) = 5\). What does the IVT tell you about roots of f on \([0, 2]\)?

Recap

  • IVT: if f is continuous on \([a, b]\) and \(N\) is between \(f(a)\) and \(f(b)\), then \(f(c) = N\) for at least one \(c\) in \((a, b)\) — a continuous function can't skip values.
  • Root corollary: continuous on \([a, b]\) + opposite signs at the endpoints ⇒ at least one root in \((a, b)\). This underpins the bisection method.
  • The theorem gives existence only — never the number of solutions, never their location.
  • Continuity on the whole interval is essential: a function with a jump can leap over intermediate values, and the conclusion fails.

Dive deeper

Sources

  • The Intermediate Value Theorem