The intermediate value theorem (IVT) is a fundamental principle of analysis which allows one to find a desired value by interpolation?. Roughly speaking, it says that if Papa Bear's porridge is too hot and Mama Bear's porridge is too cold, then there must be some temperature of porridge which is just right.
The IVT in its general form was not used by Euclid. Although it is hard to doubt that Euclid believed that, for any given angle, there was an angle with one-third the measure, this angle cannot be constructed by the methods available to Euclid, so he would never refer to it. In contrast, Archimedes? made general arguments in which a quantity is approached from above and below, allowing him not only to trisect the angle but also to calculate π.
As normally stated, the IVT is not valid in constructive mathematics, although there are constructively valid versions.
I've decided that I don't really like how I've been writing this, and I'm working on a new version. (Aside from its intrinsic interest and practical usefulness, this is such a classic example of the differences between classical and constructive analysis that I want to get it right.) That shouldn't stop anybody from putting here what they find useful, but I thought that a warning might be in order. —Toby Bartels
(classical IVT, assuming excluded middle)
(constructive IVT with weakened conclusion)
(constructive IVT with strengthened hypothesis, assuming weak countable choice)
Let be a uniformly continuous function from the unit interval to the real line, and suppose that while . Suppose further that, for any points in the unit interval with , there exists a point such that and . (In other words, the non-zero set is dense.) Then there exists a point in the unit interval such that .
In the constructive versions, we have changed from a continuous function to a uniformly continuous one just to be safe; while some varieties of constructive analysis accept the theorem that any continous function on is uniformly continous, others do not, and some even refute it. In any case, even the classical version only applies to uniformly continuous functions, even though the classical mathematician is free to leave out the word ‘uniformly’ and so usually does. The more significant change is to either weaken the conclusion to an approximate zero, or to strengthen the hypothesis to forbid functions that ‘hover’ near zero on some subinterval; even interpreted classically, these are prima facie weaker results.
There are obvious generalisations in which the domain is generalised to any compact interval, in which the signs of and are swapped, and in which the desired value is generalised to any real number. They may be proved either by modifying a proof of the main theorem or as a corollary by linearly transforming the input and output of .
We will prove Theorem 2 in a constructive manner, which (besides satisfying the constructive mathematicians) demonstrates an algorithm for approximating the point as closely as desired. Theorems 1 and 3 are then easy to prove (the latter constructively, the former not) as corollaries.
Since is uniformly continuous, there exists a positive number such that whenever . Since is positive, there exists a natural number such that . We will approximate in steps.
We will define finite sequences , , and such that at each stage. To begin with, let and . At each stage, let be the arithmetic mean of and . By the comparison property of the linear order , either or ;
Either way, we have , so we can continue.
At each stage, we have
Therefore, , so is the desired.
This is the bisection algorithm in numerical analysis?. Note that this algorithm always chooses to be a dyadic rational?. Slight variations will allow to be drawn from any previously chosen dense subspace of (or this can be proved as a corollary).
Suppose that satisfies the additional hypothesis (and assume weak countable choice).
I'm not sure how to finish this, and maybe it's a mistake! Certainly the result follows from countable choice, but I had thought that it followed from weak countable choice. (The proof from countable choice is to continue the bisection algorithm for infinitely many steps and take .) There certainly ought to be a proof that uses only excluded middle (which implies ), since Theorem 1 needs only that.
By way of contradiction (applying the double negation law of classical logic), suppose that for every in . Then the extra hypothesis of Theorem 3 is certainly satisfied, so there exists some such that after all. (Constructively, this is enough to show that the classical theorem has no counterexample.)
Other ways to identify (in Theorem 1 or 3) are as the supremum of and as the point (guaranteed by the extreme value theorem) where the minimum of is attained. (After accepting these non-constructive results, the proof that the value so found satisfies , while perhaps non-trivial, is constructive without choice, given uniform continuity, or in the first case given only continuity at .)