Skip to content
Math Analysis 1

The intermediate zero theorem (Bolzano): statement and proof by bisection

A continuous function that changes sign on a closed interval has a zero: proof by bisection, a numerical example, applications and what the theorem does not say.

The intermediate zero theorem (also called Bolzano’s theorem) looks obvious at first sight: if a continuous function starts below the x axis and ends above it, it has to cross it somewhere. Proving it properly, though, requires a property of the real numbers that is usually taken for granted, completeness. That is exactly why the proof is worth studying.

The statement

Let f be a continuous function on the closed and bounded interval [a, b], and suppose that f(a) and f(b) have opposite signs, that is f(a)\cdot f(b) < 0. Then there is at least one point c \in (a, b) such that

    \[ f(c) = 0. \]

Every hypothesis matters. If the interval is not closed, or if the function has even a single jump, the zero can be missing: the function equal to -1 for x < 0 and to +1 for x \ge 0 changes sign on [-1, 1] but never vanishes.

Do not go round in circles

You will often see this theorem “proved” by quoting the intermediate value theorem. The argument is not wrong in itself, but in most first-year calculus courses the order is the other way round: the zero theorem comes first, and the intermediate value theorem is derived from it by applying it to f(x) - y_0. Using the second to prove the first means assuming what you want to show. The classic proof, which we follow here, uses bisection.

The proof by bisection

Without loss of generality assume f(a) < 0 < f(b) (in the opposite case work with -f). Set a_0 = a, b_0 = b and build a sequence of smaller and smaller intervals.

  1. Take the midpoint m_n = \frac{a_n + b_n}{2}.
  2. If f(m_n) = 0 we have found the zero and we stop.
  3. If f(m_n) < 0 set a_{n+1} = m_n, b_{n+1} = b_n; if instead f(m_n) > 0 set a_{n+1} = a_n, b_{n+1} = m_n.

If the procedure never stops, we get intervals [a_n, b_n] with three properties:

  • a_0 \le a_1 \le a_2 \le \dots (the left ends never decrease) and b_0 \ge b_1 \ge b_2 \ge \dots (the right ends never increase);
  • the length halves at every step: b_n - a_n = \dfrac{b - a}{2^n};
  • at every step f(a_n) < 0 < f(b_n) still holds, because we always keep the half where the sign changes.

The sequence a_n is increasing and bounded above by b. This is where completeness comes in: in the real numbers a monotone bounded sequence has a limit. Call c the limit of a_n. Since b_n - a_n \to 0, b_n tends to c as well, and clearly c \in [a, b].

Now use the continuity of f at c:

    \[ f(c) = \lim_{n\to\infty} f(a_n) \le 0, \qquad f(c) = \lim_{n\to\infty} f(b_n) \ge 0. \]

The first inequality holds because all the values f(a_n) are negative, and the limit of negative numbers is less than or equal to zero (sign is only preserved in the weak sense); the second comes in the same way from the positive values f(b_n). The only number that is both \le 0 and \ge 0 is zero, so f(c) = 0. Finally c cannot be a or b, because f does not vanish there: hence c \in (a, b). ∎

A worked example

Take f(x) = x^3 - 2 on [1, 2]: f(1) = -1, f(2) = 6. The theorem guarantees a zero, which we know to be \sqrt[3]{2} \approx 1.2599. Here are the first bisection steps:

nanbnmnf(mn)
0121.5+1.375
111.51.25−0.047
21.251.51.375+0.600
31.251.3751.3125+0.261
41.251.31251.28125+0.103

After n steps the error is at most (b-a)/2^n: about ten iterations give three correct decimals. This is exactly the bisection method taught in numerical analysis: the proof of the theorem is also an algorithm, slow but impossible to break.

Where it is used

  • Existence of solutions. The equation \cos x = x has a solution in [0, 1]: apply the theorem to g(x) = \cos x - x, which is 1 at 0 and \cos 1 - 1 < 0 at 1.
  • Odd-degree polynomials. Every polynomial of odd degree has at least one real root, because as x \to \pm\infty it takes values of opposite sign.
  • Intermediate value theorem. If f is continuous on [a, b], it takes every value between f(a) and f(b): apply the zero theorem to f(x) - y_0.
  • Electronics. Finding the operating point of a non-linear circuit (a diode in series with a resistor, for example) leads to an equation g(V) = 0. Knowing that a solution exists in a given interval is the first step before looking for it with a numerical method.

What the theorem does not say

It guarantees at least one zero, not exactly one: \sin x on [-1, 10] changes sign between the endpoints and has four zeros. Uniqueness needs extra information, for instance that f is strictly monotone. And the converse is false: a function can vanish without changing sign, like x^2 at 0, and there the theorem is of no help.

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x
()
x