# Computation in the limit

In computability theory, a function is called limit computable if it is the limit of a uniformly computable sequence of functions. The terms computable in the limit, limit recursive and recursively approximable are also used. One can think of limit computable functions as those admitting an eventually correct computable guessing procedure at their true value. A set is limit computable just when its characteristic function is limit computable.
If the sequence is uniformly computable relative to D, then the function is limit computable in D.

## Formal definition

A total function $r(x)$ is limit computable if there is a total computable function ${\hat {r}}(x,s)$ such that
    $\displaystyle r(x)=\lim _{s\to \infty }{\hat {r}}(x,s)$
The total function $r(x)$ is limit computable in D if there is a total function ${\hat {r}}(x,s)$ computable in D also satisfying
    $\displaystyle r(x)=\lim _{s\to \infty }{\hat {r}}(x,s)$
A set of natural numbers is defined to be computable in the limit if and only if its characteristic function is computable in the limit. In contrast, the set is computable if and only if it is computable in the limit by a function $\phi (t,i)$ and there is a second computable function that takes input i and returns a value of t large enough that the $\phi (t,i)$ has stabilized.

## Limit lemma

The limit lemma states that a set of natural numbers is limit computable if and only if the set is computable from $0'$ (the Turing jump of the empty set). The relativized limit lemma states that a set is limit computable in $D$ if and only if it is computable from $D'$. Moreover, the limit lemma (and its relativization) hold uniformly. Thus one can go from an index for the function ${\hat {r}}(x,s)$ to an index for ${\hat {r}}(x)$ relative to $0'$. One can also go from an index for ${\hat {r}}(x)$ relative to $0'$ to an index for some ${\hat {r}}(x,s)$ that has limit ${\hat {r}}(x)$.

### Proof

As $0'$ is a [computably enumerable] set, it must be computable in the limit itself as the computable function can be defined
    $\displaystyle {\hat {r}}(x,s)={\begin{cases}1&{\text{if by stage }}s,x{\text{ has been enumerated into }}0'\\0&{\text{if not}}\end{cases}}$
whose limit $r(x)$ as $s$ goes to infinity is the characteristic function of $0'$.
It therefore suffices to show that if limit computability is preserved by Turing reduction, as this will show that all sets computable from $0'$ are limit computable. Fix sets $X,Y$ which are identified with their characteristic functions and a computable function $X_{s}$ with limit $X$. Suppose that $Y(z)=\phi ^{X}(z)$ for some Turing reduction $\phi$ and define a computable function $Y_{s}$ as follows
    $\displaystyle Y_{s}(z)={\begin{cases}\phi ^{X_{s}}(z)&{\text{if }}\phi ^{X_{s}}{\text{ converges in at most }}s{\text{ steps.}}\\0&{\text{otherwise }}\end{cases}}$
Now suppose that the computation $\phi ^{X}(z)$ converges in $s$ steps and only looks at the first $s$ bits of $X$. Now pick $s'>s$ such that for all $z<s+1$ $X_{s'}(z)=X(z)$. If $t>s'$ then the computation $\phi ^{X_{t}}(z)$ converges in at most $s'<t$ steps to $\phi ^{X}(z)$. Hence $Y_{s}(z)$ has a limit of $\phi ^{X}(z)=Y(z)$, so $Y$ is limit computable.
As the $\Delta _{2}^{0}$ sets are just the sets computable from $0'$ by Post's theorem, the limit lemma also entails that the limit computable sets are the $\Delta _{2}^{0}$ sets.
An early result foreshadowing the equivalence of limit-computability with $\Delta _{2}^{0}$-ness was anticipated by Mostowski in 1954, using a hierarchy $\mathbf {P} _{2}^{(1)}$ and formulas $\exists y(\lim _{x\to \infty }10^{-x}\gamma (x,y)<1)$, where $\gamma (x,y)$ is a function obtained from an arbitrary primitive recursive function $\varrho$ such that $\exists p\forall s(\varrho (p,s,y)=0)$ is equivalent to $\exists x_{0}\forall x(x>x_{0}\implies \gamma (x,y)=0)$.

### Extension

Iteration of limit computability can be used to climb up the arithmetical hierarchy. Namely, an $m$-ary function $f(x_{1},\ldots ,x_{m})$ is $\Delta _{k+1}^{0}$ iff it can be written in the form $\lim _{n_{k}}\lim _{n_{k-1}}\ldots \lim _{n_{1}}g(x_{1},\ldots ,x_{m},n_{k},\ldots ,n_{1})$ for some $m+k$-ary recursive function \(g\), under the assumption that all limits exist.

## Limit computable real numbers

A real number x is computable in the limit if there is a computable sequence $r_{i}$ of rational numbers (or, which is equivalent, computable real numbers) which converges to x. In contrast, a real number is computable if and only if there is a sequence of rational numbers which converges to it and which has a computable modulus of convergence.
When a real number is viewed as a sequence of bits, the following equivalent definition holds. An infinite sequence $\omega$ of binary digits is computable in the limit if and only if there is a total computable function $\phi (t,i)$ taking values in the set $\{0,1\}$ such that for each i the limit $\lim _{t\rightarrow \infty }\phi (t,i)$ exists and equals $\omega (i)$. Thus for each i, as t increases the value of $\phi (t,i)$ eventually becomes constant and equals $\omega (i)$. As with the case of computable real numbers, it is not possible to effectively move between the two representations of limit computable reals.

## Examples

* The real whose binary expansion encodes the halting problem is computable in the limit but not computable.
* The real whose binary expansion encodes the truth set of first-order arithmetic is not computable in the limit.
* Chaitin's constant.

## Set-theoretic extension

There is a modified version of the limit lemma for α-recursion theory via functions in the $\alpha$-arithmetical hierarchy, which is a hierarchy defined relative to some admissible ordinal $\alpha$.
For a given admissible ordinal $\alpha$, define the $\alpha$-arithmetical hierarchy:
* A relation $R$ on $\alpha$ is ${\boldsymbol {\Sigma }}_{0}$ if it is $\alpha$-recursive.
* $R$ is ${\boldsymbol {\Sigma }}_{n+1}$ if it is the projection of a ${\boldsymbol {\Pi }}_{n}$ relation.
* $R$ is ${\boldsymbol {\Pi }}_{n}$ if its complement is ${\boldsymbol {\Sigma }}_{n}$.
Let $f$ be a partial function from $\alpha$ to $\alpha$. The following are equivalent:
* (The graph of) $f$ is ${\boldsymbol {\Sigma }}_{2}$.
* $f$ is weakly $\alpha$-recursive in ${\boldsymbol {0}}^{\prime }$, the $\alpha$-jump of $\emptyset$ using indices of $\alpha$-computable functions.
* There is an $\alpha$-recursive function $f':\alpha \times \alpha \to \alpha$ approximating $f$ such that $f(\gamma )\simeq \lim _{\sigma \to \alpha }f'(\sigma ,\gamma )$.
$f\simeq g$ denotes that either $f(x)$ and $g(x)$ are both undefined, or they are both defined and equal.