bracketing a sign change
If you hike from a valley below sea level up to a peak above it, then somewhere along the path you must have crossed exactly sea level — you cannot get from below to above without passing through. That common-sense fact, made precise, is the intermediate-value theorem, and it is the foundation under every bracketing root-finder.
Formally: if f is continuous on the interval [a, b] and f(a) and f(b) have opposite signs, then there is at least one point c in (a, b) with f(c) = 0. The pair (a, b) with f(a) * f(b) < 0 is called a BRACKET: it is a certificate that a root is trapped inside. Bracketing methods (bisection, regula falsi, Brent) live or die by maintaining this invariant — every step keeps a sub-interval whose endpoints still straddle zero, so the root can never escape. To find a starting bracket in practice you scan f on a grid of points and watch for the sign to flip between two neighbours.
The honesty here is in the fine print. Continuity is essential: a function with a jump (like 1/x near 0) can switch sign without ever being zero, so an apparent bracket may straddle a pole, not a root. The sign test also misses roots where f only touches zero without crossing — an even-multiplicity root such as (x - 2)^2 keeps the same sign on both sides, so no bracket detects it. And one sign change guarantees an ODD number of roots in the interval, not necessarily exactly one; a finer scan may be needed to separate close roots.
For f(x) = x^3 - x - 1, scan integers: f(1) = -1 (negative), f(2) = 5 (positive). The sign flips between 1 and 2, so a root is bracketed in (1, 2). That bracket is the launch pad for bisection or Brent.
A sign flip across continuous f certifies a trapped root.
A bracket proves a root EXISTS but says nothing about uniqueness or how many. Conversely, no sign change does NOT mean no root — an even-order root, or two roots in one cell, can hide from a coarse scan.