Computable number
   HOME

TheInfoList



OR:

In mathematics, computable numbers are the real numbers that can be computed to within any desired precision by a finite, terminating
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
. They are also known as the recursive numbers, effective numbers or the computable reals or recursive reals. Equivalent definitions can be given using
μ-recursive function In mathematical logic and computer science, a general recursive function, partial recursive function, or μ-recursive function is a partial function from natural numbers to natural numbers that is "computable" in an intuitive sense – as well as i ...
s,
Turing machines A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algor ...
, or
λ-calculus Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation tha ...
as the formal representation of algorithms. The computable numbers form a
real closed field In mathematics, a real closed field is a field ''F'' that has the same first-order properties as the field of real numbers. Some examples are the field of real numbers, the field of real algebraic numbers, and the field of hyperreal numbers. D ...
and can be used in the place of real numbers for many, but not all, mathematical purposes.


Informal definition using a Turing machine as example

In the following,
Marvin Minsky Marvin Lee Minsky (August 9, 1927 – January 24, 2016) was an American cognitive and computer scientist concerned largely with research of artificial intelligence (AI), co-founder of the Massachusetts Institute of Technology's AI laboratory, ...
defines the numbers to be computed in a manner similar to those defined by
Alan Turing Alan Mathison Turing (; 23 June 1912 – 7 June 1954) was an English mathematician, computer scientist, logician, cryptanalyst, philosopher, and theoretical biologist. Turing was highly influential in the development of theoretical co ...
in 1936; i.e., as "sequences of digits interpreted as decimal fractions" between 0 and 1: The key notions in the definition are (1) that some ''n'' is specified at the start, (2) for any ''n'' the computation only takes a finite number of steps, after which the machine produces the desired output and terminates. An alternate form of (2) – the machine successively prints all ''n'' of the digits on its tape, halting after printing the ''n''th – emphasizes Minsky's observation: (3) That by use of a Turing machine, a ''finite'' definition – in the form of the machine's state table – is being used to define what is a potentially ''infinite'' string of decimal digits. This is however not the modern definition which only requires the result be accurate to within any given accuracy. The informal definition above is subject to a rounding problem called the
table-maker's dilemma Rounding means replacing a number with an approximate value that has a shorter, simpler, or more explicit representation. For example, replacing $ with $, the fraction 312/937 with 1/3, or the expression with . Rounding is often done to obt ...
whereas the modern definition is not.


Formal definition

A
real number In mathematics, a real number is a number that can be used to measure a ''continuous'' one-dimensional quantity such as a distance, duration or temperature. Here, ''continuous'' means that values can have arbitrarily small variations. Every ...
''a'' is computable if it can be approximated by some
computable function Computable functions are the basic objects of study in computability theory. Computable functions are the formalized analogue of the intuitive notion of algorithms, in the sense that a function is computable if there exists an algorithm that can do ...
f:\mathbb\to\mathbb in the following manner: given any positive
integer An integer is the number zero (), a positive natural number (, , , etc.) or a negative integer with a minus sign ( −1, −2, −3, etc.). The negative numbers are the additive inverses of the corresponding positive numbers. In the languag ...
''n'', the function produces an integer ''f''(''n'') such that: : \leq a \leq . There are two similar definitions that are equivalent: *There exists a computable function which, given any positive rational error bound \varepsilon, produces a
rational number In mathematics, a rational number is a number that can be expressed as the quotient or fraction of two integers, a numerator and a non-zero denominator . For example, is a rational number, as is every integer (e.g. ). The set of all rat ...
''r'' such that , r - a, \leq \varepsilon. *There is a computable sequence of rational numbers q_i converging to a such that , q_i - q_, < 2^\, for each ''i''. There is another equivalent definition of computable numbers via computable
Dedekind cut In mathematics, Dedekind cuts, named after German mathematician Richard Dedekind but previously considered by Joseph Bertrand, are а method of construction of the real numbers from the rational numbers. A Dedekind cut is a partition of the r ...
s. A computable Dedekind cut is a computable function D\; which when provided with a rational number r as input returns D(r)=\mathrm\; or D(r)=\mathrm\;, satisfying the following conditions: :\exists r D(r)=\mathrm\; :\exists r D(r)=\mathrm\; :(D(r)=\mathrm) \wedge (D(s)=\mathrm) \Rightarrow r :D(r)=\mathrm \Rightarrow \exist s>r, D(s)=\mathrm.\; An example is given by a program ''D'' that defines the cube root of 3. Assuming q>0\; this is defined by: :p^3<3 q^3 \Rightarrow D(p/q)=\mathrm\; :p^3>3 q^3 \Rightarrow D(p/q)=\mathrm.\; A real number is computable if and only if there is a computable Dedekind cut ''D'' corresponding to it. The function ''D'' is unique for each computable number (although of course two different programs may provide the same function). A
complex number In mathematics, a complex number is an element of a number system that extends the real numbers with a specific element denoted , called the imaginary unit and satisfying the equation i^= -1; every complex number can be expressed in the fo ...
is called computable if its real and imaginary parts are computable.


Properties


Not computably enumerable

Assigning a Gödel number to each Turing machine definition produces a subset S of the natural numbers corresponding to the computable numbers and identifies a
surjection In mathematics, a surjective function (also known as surjection, or onto function) is a function that every element can be mapped from element so that . In other words, every element of the function's codomain is the image of one element of ...
from S to the computable numbers. There are only countably many Turing machines, showing that the computable numbers are
subcountable In constructive mathematics, a collection X is subcountable if there exists a partial surjection from the natural numbers onto it. This may be expressed as \exists (I\subseteq).\, \exists f.\, (f\colon I\twoheadrightarrow X), where f\colon I\twohe ...
. The set S of these Gödel numbers, however, is not
computably enumerable In computability theory, a set ''S'' of natural numbers is called computably enumerable (c.e.), recursively enumerable (r.e.), semidecidable, partially decidable, listable, provable or Turing-recognizable if: *There is an algorithm such that the ...
(and consequently, neither are subsets of S that are defined in terms of it). This is because there is no algorithm to determine which Gödel numbers correspond to Turing machines that produce computable reals. In order to produce a computable real, a Turing machine must compute a
total function In mathematics, a partial function from a set to a set is a function from a subset of (possibly itself) to . The subset , that is, the domain of viewed as a function, is called the domain of definition of . If equals , that is, if is de ...
, but the corresponding
decision problem In computability theory and computational complexity theory, a decision problem is a computational problem that can be posed as a yes–no question of the input values. An example of a decision problem is deciding by means of an algorithm wheth ...
is in
Turing degree In computer science and mathematical logic the Turing degree (named after Alan Turing) or degree of unsolvability of a set of natural numbers measures the level of algorithmic unsolvability of the set. Overview The concept of Turing degree is fund ...
0′′. Consequently, there is no surjective
computable function Computable functions are the basic objects of study in computability theory. Computable functions are the formalized analogue of the intuitive notion of algorithms, in the sense that a function is computable if there exists an algorithm that can do ...
from the natural numbers to the computable reals, and
Cantor's diagonal argument In set theory, Cantor's diagonal argument, also called the diagonalisation argument, the diagonal slash argument, the anti-diagonal argument, the diagonal method, and Cantor's diagonalization proof, was published in 1891 by Georg Cantor as a m ...
cannot be used constructively to demonstrate uncountably many of them. While the set of real numbers is
uncountable In mathematics, an uncountable set (or uncountably infinite set) is an infinite set that contains too many elements to be countable. The uncountability of a set is closely related to its cardinal number: a set is uncountable if its cardinal num ...
, the set of computable numbers is classically
countable In mathematics, a set is countable if either it is finite or it can be made in one to one correspondence with the set of natural numbers. Equivalently, a set is ''countable'' if there exists an injective function from it into the natural numbers ...
and thus almost all real numbers are not computable. Here, for any given computable number x, the well ordering principle provides that there is a minimal element in S which corresponds to x, and therefore there exists a subset consisting of the minimal elements, on which the map is a bijection. The inverse of this bijection is an
injection Injection or injected may refer to: Science and technology * Injective function, a mathematical function mapping distinct arguments to distinct values * Injection (medicine), insertion of liquid into the body with a syringe * Injection, in broadca ...
into the natural numbers of the computable numbers, proving that they are countable. But, again, this subset is not computable, even though the computable reals are themselves ordered.


Properties as a field

The arithmetical operations on computable numbers are themselves computable in the sense that whenever real numbers ''a'' and ''b'' are computable then the following real numbers are also computable: ''a + b'', ''a - b'', ''ab'', and ''a/b'' if ''b'' is nonzero. These operations are actually ''uniformly computable''; for example, there is a Turing machine which on input (''A'',''B'',\epsilon) produces output ''r'', where ''A'' is the description of a Turing machine approximating ''a'', ''B'' is the description of a Turing machine approximating ''b'', and ''r'' is an \epsilon approximation of ''a''+''b''. The fact that computable real numbers form a
field Field may refer to: Expanses of open ground * Field (agriculture), an area of land used for agricultural purposes * Airfield, an aerodrome that lacks the infrastructure of an airport * Battlefield * Lawn, an area of mowed grass * Meadow, a grass ...
was first proved by Henry Gordon Rice in 1954. Computable reals however do not form a computable field, because the definition of a computable field requires effective equality.


Non-computability of the ordering

The order relation on the computable numbers is not computable. Let ''A'' be the description of a Turing machine approximating the number a. Then there is no Turing machine which on input ''A'' outputs "YES" if a > 0 and "NO" if a \le 0. To see why, suppose the machine described by ''A'' keeps outputting 0 as \epsilon approximations. It is not clear how long to wait before deciding that the machine will ''never'' output an approximation which forces ''a'' to be positive. Thus the machine will eventually have to guess that the number will equal 0, in order to produce an output; the sequence may later become different from 0. This idea can be used to show that the machine is incorrect on some sequences if it computes a total function. A similar problem occurs when the computable reals are represented as
Dedekind cut In mathematics, Dedekind cuts, named after German mathematician Richard Dedekind but previously considered by Joseph Bertrand, are а method of construction of the real numbers from the rational numbers. A Dedekind cut is a partition of the r ...
s. The same holds for the equality relation : the equality test is not computable. While the full order relation is not computable, the restriction of it to pairs of unequal numbers is computable. That is, there is a program that takes as input two Turing machines ''A'' and ''B'' approximating numbers a and b, where a \ne b, and outputs whether a < b or a > b. It is sufficient to use \epsilon-approximations where \epsilon < , b-a, /2, so by taking increasingly small \epsilon (approaching 0), one eventually can decide whether a < b or a > b.


Other properties

The computable real numbers do not share all the properties of the real numbers used in analysis. For example, the least upper bound of a bounded increasing computable sequence of computable real numbers need not be a computable real number. A sequence with this property is known as a
Specker sequence In computability theory, a Specker sequence is a computable, monotonically increasing, bounded sequence of rational numbers whose supremum is not a computable real number. The first example of such a sequence was constructed by Ernst Specker (194 ...
, as the first construction is due to
Ernst Specker Ernst Paul Specker (11 February 1920, Zurich – 10 December 2011, Zurich) was a Swiss mathematician. Much of his most influential work was on Quine's New Foundations, a set theory with a universal set, but he is most famous for the Kochen ...
in 1949. Despite the existence of counterexamples such as these, parts of calculus and real analysis can be developed in the field of computable numbers, leading to the study of
computable analysis 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 co ...
. Every computable number is arithmetically definable, but not vice versa. There are many arithmetically definable, noncomputable real numbers, including: *any number that encodes the solution of the
halting problem In computability theory, the halting problem is the problem of determining, from a description of an arbitrary computer program and an input, whether the program will finish running, or continue to run forever. Alan Turing proved in 1936 that a ...
(or any other
undecidable problem In computability theory and computational complexity theory, an undecidable problem is a decision problem for which it is proved to be impossible to construct an algorithm that always leads to a correct yes-or-no answer. The halting problem is an ...
) according to a chosen encoding scheme. *
Chaitin's constant In the computer science subfield of algorithmic information theory, a Chaitin constant (Chaitin omega number) or halting probability is a real number that, informally speaking, represents the probability that a randomly constructed program will ...
, \Omega, which is a type of real number that is Turing equivalent to the halting problem. Both of these examples in fact define an infinite set of definable, uncomputable numbers, one for each
Universal Turing machine In computer science, a universal Turing machine (UTM) is a Turing machine that can simulate an arbitrary Turing machine on arbitrary input. The universal machine essentially achieves this by reading both the description of the machine to be simu ...
. A real number is computable if and only if the set of natural numbers it represents (when written in binary and viewed as a characteristic function) is computable. The set of computable real numbers (as well as every countable,
densely ordered In mathematics, a partial order or total order < on a set X is said to be dense if, for all x and y in X< ...
subset of computable reals without ends) is order-isomorphic to the set of rational numbers.


Digit strings and the Cantor and Baire spaces

Turing's original paper defined computable numbers as follows: (The decimal expansion of ''a'' only refers to the digits following the decimal point.) Turing was aware that this definition is equivalent to the \epsilon-approximation definition given above. The argument proceeds as follows: if a number is computable in the Turing sense, then it is also computable in the \epsilon sense: if n > \log_ (1/\epsilon), then the first ''n'' digits of the decimal expansion for ''a'' provide an \epsilon approximation of ''a''. For the converse, we pick an \epsilon computable real number ''a'' and generate increasingly precise approximations until the ''n''th digit after the decimal point is certain. This always generates a decimal expansion equal to ''a'' but it may improperly end in an infinite sequence of 9's in which case it must have a finite (and thus computable) proper decimal expansion. Unless certain topological properties of the real numbers are relevant, it is often more convenient to deal with elements of 2^ (total 0,1 valued functions) instead of reals numbers in ,1/math>. The members of 2^ can be identified with binary decimal expansions, but since the decimal expansions .d_1d_2\ldots d_n0111\ldots and .d_1d_2\ldots d_n10 denote the same real number, the interval ,1/math> can only be bijectively (and homeomorphically under the subset topology) identified with the subset of 2^ not ending in all 1's. Note that this property of decimal expansions means that it is impossible to effectively identify the computable real numbers defined in terms of a decimal expansion and those defined in the \epsilon approximation sense. Hirst has shown that there is no algorithm which takes as input the description of a Turing machine which produces \epsilon approximations for the computable number ''a'', and produces as output a Turing machine which enumerates the digits of ''a'' in the sense of Turing's definition. Similarly, it means that the arithmetic operations on the computable reals are not effective on their decimal representations as when adding decimal numbers. In order to produce one digit, it may be necessary to look arbitrarily far to the right to determine if there is a carry to the current location. This lack of uniformity is one reason why the contemporary definition of computable numbers uses \epsilon approximations rather than decimal expansions. However, from a computability theoretic or measure theoretic perspective, the two structures 2^ and ,1/math> are essentially identical. Thus, computability theorists often refer to members of 2^ as reals. While 2^ is
totally disconnected In topology and related branches of mathematics, a totally disconnected space is a topological space that has only singletons as connected subsets. In every topological space, the singletons (and, when it is considered connected, the empty set) ...
, for questions about \Pi^0_1 classes or randomness it is easier to work in 2^. Elements of \omega^ are sometimes called reals as well and though containing a homeomorphic image of \mathbb \omega^ in addition to being totally disconnected, \omega^ isn't even locally compact. This leads to genuine differences in the computational properties. For instance the x \in \mathbb satisfying \forall(n \in \omega)\phi(x,n), with \phi(x,n) quantifier free, must be computable while the unique x \in \omega^ satisfying a universal formula may have an arbitrarily high position in the
hyperarithmetic hierarchy In recursion theory, hyperarithmetic theory is a generalization of Turing computability. It has close connections with definability in second-order arithmetic and with weak systems of set theory such as Kripke–Platek set theory. It is an importa ...
.


Use in place of the reals

The computable numbers include the specific real numbers which appear in practice, including all real algebraic numbers, as well as ''e'', ''π'', and many other
transcendental number In mathematics, a transcendental number is a number that is not algebraic—that is, not the root of a non-zero polynomial of finite degree with rational coefficients. The best known transcendental numbers are and . Though only a few classes ...
s. Though the computable reals exhaust those reals we can calculate or approximate, the assumption that all reals are computable leads to substantially different conclusions about the real numbers. The question naturally arises of whether it is possible to dispose of the full set of reals and use computable numbers for all of mathematics. This idea is appealing from a constructivist point of view, and has been pursued by what
Errett Bishop Errett Albert Bishop (July 14, 1928 – April 14, 1983) was an Americans, American mathematician known for his work on analysis. He expanded constructive analysis in his 1967 ''Foundations of Constructive Analysis'', where he Mathematical proof, p ...
and Fred Richman call the ''Russian school'' of constructive mathematics. To actually develop analysis over computable numbers, some care must be taken. For example, if one uses the classical definition of a sequence, the set of computable numbers is not closed under the basic operation of taking the supremum of a
bounded sequence In mathematics, a function ''f'' defined on some set ''X'' with real or complex values is called bounded if the set of its values is bounded. In other words, there exists a real number ''M'' such that :, f(x), \le M for all ''x'' in ''X''. A ...
(for example, consider a
Specker sequence In computability theory, a Specker sequence is a computable, monotonically increasing, bounded sequence of rational numbers whose supremum is not a computable real number. The first example of such a sequence was constructed by Ernst Specker (194 ...
, see the section above). This difficulty is addressed by considering only sequences which have a computable
modulus of convergence In real analysis, a branch of mathematics, a modulus of convergence is a function that tells how quickly a convergent sequence converges. These moduli are often employed in the study of computable analysis and constructive mathematics. If a sequ ...
. The resulting mathematical theory is called
computable analysis 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 co ...
.


Implementations of exact arithmetic

Computer packages representing real numbers as programs computing approximations have been proposed as early as 1985, under the name "exact arithmetic". Modern examples include the CoRN library (Coq), and the RealLib package (C++). A related line of work is based on taking a
real RAM In computing, especially computational geometry, a real RAM (random-access machine) is a mathematical model of a computer that can compute with exact real numbers instead of the binary fixed point or floating point numbers used by most actual com ...
program and running it with rational or floating-point numbers of sufficient precision, such as the iRRAM package.


See also

*
Constructible number In geometry and algebra, a real number r is constructible if and only if, given a line segment of unit length, a line segment of length , r, can be constructed with compass and straightedge in a finite number of steps. Equivalently, r is cons ...
*
Definable number Informally, a definable real number is a real number that can be uniquely specified by its description. The description may be expressed as a construction or as a formula of a formal language. For example, the positive square root of 2, \sqrt, ca ...
* Semicomputable function *
Transcomputational problem In computational complexity theory, a transcomputational problem is a problem that requires processing of more than 1093 bits of information. Any number greater than 1093 is called a transcomputational number. The number 1093, called Bremermann's l ...


Notes


References

* * * * * * *
Computable numbers (and Turing's a-machines) were introduced in this paper; the definition of computable numbers uses infinite decimal sequences. *


Further reading

* This paper describes the development of the calculus over the computable number field. * * * §1.3.2 introduces the definition by nested sequences of intervals converging to the singleton real. Other representations are discussed in §4.1. * {{DEFAULTSORT:Computable Number Computability theory Theory of computation