# Constructive analysis

In mathematics, constructive analysis is mathematical analysis done according to some principles of constructive mathematics. This contrasts with classical analysis, which (in this context) simply means analysis done according to the (more common) principles of classical mathematics.

Generally speaking, constructive analysis can reproduce theorems of classical analysis, but only in application to separable spaces; also, some theorems may need to be approached by approximations. Furthermore, many classical theorems can be stated in ways that are logically equivalent according to classical logic, but not all of these forms will be valid in constructive analysis, which uses intuitionistic logic.

## Examples

### The intermediate value theorem

For a simple example, consider the intermediate value theorem (IVT). In classical analysis, IVT says that, given any continuous function f from a closed interval [a,b] to the real line R, if f(a) is negative while f(b) is positive, then there exists a real number c in the interval such that f(c) is exactly zero. In constructive analysis, this does not hold, because the constructive interpretation of existential quantification ("there exists") requires one to be able to construct the real number c (in the sense that it can be approximated to any desired precision by a rational number). But if f hovers near zero during a stretch along its domain, then this cannot necessarily be done.

However, constructive analysis provides several alternative formulations of IVT, all of which are equivalent to the usual form in classical analysis, but not in constructive analysis. For example, under the same conditions on f as in the classical theorem, given any natural number n (no matter how large), there exists (that is, we can construct) a real number cn in the interval such that the absolute value of f(cn) is less than 1/n. That is, we can get as close to zero as we like, even if we can't construct a c that gives us exactly zero.

Alternatively, we can keep the same conclusion as in the classical IVT — a single c such that f(c) is exactly zero — while strengthening the conditions on f. We require that f be locally non-zero, meaning that given any point x in the interval [a,b] and any natural number m, there exists (we can construct) a real number y in the interval such that |y - x| < 1/m and |f(y)| > 0. In this case, the desired number c can be constructed. This is a complicated condition, but there are several other conditions which imply it and which are commonly met; for example, every analytic function is locally non-zero (assuming that it already satisfies f(a) < 0 and f(b) > 0).

For another way to view this example, notice that according to classical logic, if the locally non-zero condition fails, then it must fail at some specific point x; and then f(x) will equal 0, so that IVT is valid automatically. Thus in classical analysis, which uses classical logic, in order to prove the full IVT, it is sufficient to prove the constructive version. From this perspective, the full IVT fails in constructive analysis simply because constructive analysis does not accept classical logic. Conversely, one may argue that the true meaning of IVT, even in classical mathematics, is the constructive version involving the locally non-zero condition, with the full IVT following by "pure logic" afterwards. Some logicians, while accepting that classical mathematics is correct, still believe that the constructive approach gives a better insight into the true meaning of theorems, in much this way.

### The least upper bound principle and compact sets

Another difference between classical and constructive analysis is that constructive analysis does not accept the least upper bound principle, that any subset of the real line R has a least upper bound (or supremum), possibly infinite. However, as with the intermediate value theorem, an alternative version survives; in constructive analysis, any located subset of the real line has a supremum. (Here a subset S of R is located if, whenever x < y are real numbers, either there exists an element s of S such that x < s, or y is an upper bound of S.) Again, this is classically equivalent to the full least upper bound principle, since every set is located in classical mathematics. And again, while the definition of located set is complicated, nevertheless it is satisfied by several commonly studied sets, including all intervals and compact sets.

Closely related to this, in constructive mathematics, fewer characterisations of compact spaces are constructively valid—or from another point of view, there are several different concepts which are classically equivalent but not constructively equivalent. Indeed, if the interval [a,b] were sequentially compact in constructive analysis, then the classical IVT would follow from the first constructive version in the example; one could find c as a cluster point of the infinite sequence (cn)n.

### Uncountability of the real numbers

A constructive version of "the famous theorem of Cantor, that the real numbers are uncountable" is: "Let {an} be a sequence of real numbers. Let x0 and y0 be real numbers, x0 < y0. Then there exists a real number x with x0  x  y0 and x  an (n  Z+) . . . The proof is essentially Cantor's 'diagonal' proof." (Theorem 1 in Errett Bishop, Foundations of Constructive Analysis, 1967, page 25.) It should be stressed that the constructive component of the diagonal argument already appeared in Cantor's work.[1] According to Kanamori, a historical misrepresentation has been perpetuated that associates diagonalization with non-constructivity.