In mathematics and computer science, computable analysis is the study of mathematical analysis from the perspective of computability theory. It is concerned with the parts of real analysis and functional analysis that can be carried out in a computable manner. The field is closely related to constructive analysis and numerical analysis.

A notable result is that integration (in the sense of the Riemann integral) is computable.[1] This might be considered surprising as an integral is (loosely speaking) an infinite sum. While this result could be explained by the fact that every computable function from to is uniformly continuous, the notable thing is that the modulus of continuity can always be computed without being explicitly given. A similarly surprising fact is that differentiation of complex functions is also computable,[2] while the same result is false for real functions.[3]

The above motivating results have no counterpart in Bishop's constructive analysis. Instead, it is the stronger form of constructive analysis developed by Brouwer that provides a counterpart in constructive logic.

Basic constructions edit

A popular model for doing computable analysis is Turing machines. The tape configuration and interpretation of mathematical structures are described as follows.

Type 2 Turing Machines edit

A Type 2 Turing machine is a Turing machine with three tapes: An input tape, which is read-only; a working tape, which can be written to and read from; and, notably, an output tape, which is "append-only".

Real numbers edit

In this context, real numbers are represented as arbitrary infinite sequences of symbols. These sequences could for instance represent the digits of a real number. Such sequences need not be computable — this allowance is both important and philosophically unproblematic.[4] Note that the programs that act on these sequences do need to be computable in a reasonable sense.

In the case of real numbers, the usual decimal or binary representations are not appropriate. Instead a signed digit representation first suggested by Brouwer often gets used: The number system is base 2, but the digits are   (representing  ), 0 and 1. In particular, this means   can be represented both as   and  .

To understand why decimal notation is inappropriate, consider the problem of computing   where   and  , and giving the result   in decimal notation. The value of   is either   or  . If the latter result were given for instance, then a finite number   of digits of   would be read before choosing the digit   before the decimal point in   — but then if the  th digit of   were decreased to 2, then the result for   would be wrong. Similarly, the former choice   for   would be wrong sometimes. This is essentially the tablemaker's dilemma.

As well as signed digits, there are analogues of Cauchy sequences and Dedekind cuts that could in principle be used instead.

Computable functions edit

Computable functions are represented as programs on a Type 2 Turing machine. A program is considered total (in the sense of a total function as opposed to partial function) if it takes finite time to write any number of symbols on the output tape regardless of the input. A total programs run forever, generating increasingly more digits of the output.

Names edit

Results about computability associated with infinite sets often involve namings, which are maps between those sets and recursive representations of subsets thereof.

Discussion edit

The issue of Type 1 versus Type 2 computability edit

Type 1 computability is the naive form of computable analysis in which one restricts the inputs to a machine to be computable numbers instead of arbitrary real numbers.

The difference between the two models lies in the fact that a program that is well-behaved over computable numbers (in the sense of being total) is not necessarily well-behaved over arbitrary real numbers. For instance, there are computable functions over the computable real numbers that map some bounded closed intervals to unbounded open intervals.[5] These functions cannot be extended to arbitrary real numbers (without making them partial), as all computable functions   are continuous, and this would then violate the extreme value theorem. Since that sort of behaviour could be considered pathological, it is natural to insist that a function should only be considered total if it is total over all real numbers, not just the computable ones.

Realisability edit

In the event that one is unhappy with using Turing machines (on the grounds that they are low level and somewhat arbitrary), there is a realisability topos called the Kleene–Vesley topos in which one can reduce computable analysis to constructive analysis. This constructive analysis includes everything that is valid in the Brouwer school, and not just the Bishop school.[6] Additionally, a theorem in this school of constructive analysis is that not all real numbers are computable, which is constructively non-equivalent to there exist uncomputable numbers. This school of constructive analysis is therefore in direct contradiction to schools of constructive analysis — such as Markov's — which claim that all functions are computable. It ultimately shows that while constructive existence implies computability, it is in fact unproblematic — even useful — to assert that not every function is computable.

Basic results edit

  • The arithmetic operations on real numbers are computable.
  • While the equality relation is not decidable, the greater-than predicate on unequal real numbers is decidable.
  • The uniform norm operator is also computable. This implies the computability of Riemann integration.

Analogy between general topology and computability theory edit

One of the basic results of computable analysis is that every computable function from   to   is continuous.[7] Taking this further, this suggests that there is an analogy between basic notions in topology and basic notions in computability:

  • Computable functions are analogous to continuous functions.
  • Semidecidable sets are analogous to open sets.
  • Co-semidecidable sets are analogous to closed sets.
  • There is a computable analogue of topological compactness. Namely, a subset   of   is computably compact if it there is a semi-decision procedure " " that, given a semidecidable predicate   as input, semi-decides whether every point in the set   satisfies the predicate  .
  • The above notion of computable compactness satisfies an analogue of the Heine–Borel theorem. In particular, the unit interval   is computably compact.
  • Discrete spaces in topology are analogous to sets in computability where equality between elements is semi-decidable.
  • Hausdorff spaces in topology are analogous to sets in computability where inequality between elements is semi-decidable.

The analogy suggests that general topology and computability are nearly mirror images of each other. The analogy has been made rigorous in the case of locally compact spaces.[9] This has resulted in the creation of sub-areas of general topology like domain theory which study topological spaces very unlike the Hausdorff spaces studied by most people in mathematical analysis — these spaces become natural under the analogy.

See also edit

Notes edit

  1. ^ See Simpson, Alex K. (1998), Brim, Luboš; Gruska, Jozef; Zlatuška, Jiří (eds.), "Lazy functional algorithms for exact real functionals", Mathematical Foundations of Computer Science 1998, Lecture Notes in Computer Science, vol. 1450, Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 456–464, doi:10.1007/bfb0055795, ISBN 978-3-540-64827-7
  2. ^ by Cauchy's integral formula.
  3. ^ because discontinuous operators are automatically uncomputable.
  4. ^ An uncomputable real number can be generated with near certainty by sampling each digit at random in an infinite unending process.
  5. ^ Bauer, Andrej. "Kőnig's Lemma and Kleene Tree" (PDF).
  6. ^ Yumpu.com. "The Realizability Approach to Computable Analysis ... - Andrej Bauer". yumpu.com. Retrieved 2023-08-18.
  7. ^ a b Weihrauch 2000, p. 6.
  8. ^ Myhill, J. (1971). "A recursive function, defined on a compact interval and having a continuous derivative that is not recursive". Michigan Mathematical Journal. 18 (2). doi:10.1307/mmj/1029000631. ISSN 0026-2285.
  9. ^ "abstract Stone duality in nLab". ncatlab.org. Retrieved 2023-07-29.

References edit

External links edit