In mathematics, constructive analysis is mathematical analysis done according to the principles of constructivist mathematics. This contrasts with classical analysis, which (in this context) simply means analysis done according to the (ordinary) 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.

Table of contents
1 Attitude of mathematicians
2 Examples

Attitude of mathematicians

Traditionally, mathematicians have been suspicious, if not downright antagonistic, towards mathematical constructivism, largely because of the limitations that it poses for constructive analysis. These views were forcefully expressed by David Hilbert in 1928, when he wrote in Die Grundlagen der Mathematik, "Taking the principle of excluded middle from the mathematician would be the same, say, as proscribing the telescope to the astronomer or to the boxer the use of his fists" [1]. (The law of excluded middle is not valid in constructivist logic.) Errett Bishop, in his 1967 work Foundations of Constructive Analysis, worked to dispel these fears by developing a great deal of traditional analysis in a constructive framework. Nevertheless, not every mathematician accepts that Bishop did so successfully, since his book is necessarily more complicated than a classical analysis text would be. In any case, most mathematicians see no need to restrict themselves to constructivist methods, even if this can be done.

[1] Translation from the Stanford Encyclopedia of Philosophy, http://plato.stanford.edu/entries/mathematics-constructive/.

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 intervalss 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.