First look at the statement in the
Intermediate Value Theorem
writeup.
Since we are going to use the fact that
f is
continuous at a point
p in the proof twice
let us restate the definition here.
Given any e>0 there exists a d>0 such that
|f(x)-f(p)|<e for all x such that |x-p|<d.
Consider the set X={x in [a,b] : f(x)<=0}.
Now X is nonempty (since a is in it)
and b is an upper bound. Thus, if we define
c=sup X
then we know that c exists and is finite.
So our aim is to prove that f(c)=0.
Suppose that f(c) > 0. Continuity at c tells us
that, given some e > 0 we have a d > 0 such that
f(x) > f(c)-e for all x with x > c-d and
x < c-d.
There are two things to note, firstly we can choose e as small
as we like, so f(x) > 0 in this range. Second, by the definition
of c we have f(x) > 0, as soon as x > c. Thus,
we have f(x) > 0 for all x with x > c-d.
It follows that c is not the supremum after all, a contradiction.
Likewise suppose that f(c) < 0. This time continuity tells
us that for any e > 0 we can choose a d > 0 such that
f(c+d) < f(c)+e. Choosing e small enough, we have
f(c+d) < 0. This again contradicts the choice of c.
Thus we have f(c)=0. Finally, c really is in the open interval
since f(a) and f(b) are nonzero, by assumption.
If one knows something about the connectedness property then
one can give a rather shorter proof. But this relies on proving things
about connectedness which again use similar arguments to the above.