A set computable in can be computed by an algorithm that is allowed to change its mind finitely many times on each input: it produces guesses which are eventually correct, but without ever knowing that the last change has occurred. This is Shoenfield’s limit lemma. It gives the sets below a concrete description by computable approximations, and it is the basis of most constructions of sets below , notably by the priority method. This lesson proves the lemma and studies how fast an approximation settles.
4.1 Limit computable sets
A approximation of a set is a uniformly computable sequence of sets such that for every , for all sufficiently large . A set is limit computable if it has a approximation.
Equivalently, is limit computable if there is a total computable function with for every , where the limit of a sequence of integers is the value it eventually takes. A c.e. approximation (Definition 4.2 of “Computably enumerable sets”) is a approximation in which elements may enter but never leave; so c.e. sets are limit computable. In a general approximation, may change any finite number of times.
A set is computable in if and only if it is limit computable. More generally, for every , a set is computable in if and only if it has an -computable approximation.
We prove the unrelativized statement; the proof relativizes. Fix a c.e. approximation of , for instance .
() Let . Define if this computation converges with a value in , and otherwise. The sequence is uniformly computable, by Proposition 1.5. Fix , and let be the use of the computation and a stage at which it converges. Since only finitely many elements below enter , there is with for all . For , the computation with oracle agrees with the computation with oracle on all the cells it reads, so by monotonicity and the use principle , and .
() Let be a approximation of . The relation
is c.e., hence computable in (Proposition 2.7). To compute with oracle , search for the least with , that is, such that the approximation of does not change after stage , and output . Such a exists since the approximation of eventually stabilizes, and then .
The two directions use differently. In the first, the oracle is replaced by its approximations, and the use principle guarantees that the computation eventually sees a correct prefix of the oracle. In the second, the oracle is asked a single question for each : “will change again after stage ?”, a c.e. question.
- If is -c.e., then .
- The relation “is c.e. relative to” is not transitive: is -c.e., is c.e., and is not c.e.
- An -c.e. approximation of is an -computable approximation; apply the relativized limit lemma.
- If were c.e., it would be computable in by item 1, contradicting .
4.2 Moduli and computation functions
A approximation does not tell when it has settled. How long one must wait is measured by the following functions.
Let be a approximation of .
- Its modulus is the function the least such that for every .
- Its computation function is the least such that .
Both are total, since each of the finitely many bits below eventually settles. Clearly . The computation function may be much smaller than the modulus: may be correct at some stage and change later. A function dominates if for every .
Let be a approximation of with modulus .
- Every function dominating computes .
- If is a c.e. approximation, then is computable in , so that .
- , since and the bits below do not change after stage .
- For a c.e. approximation, once , no element below enters later, since all elements of below are already in and elements never leave. So is the least with , which is found with oracle by testing . Conversely by item 1.
Let be the modulus of the approximation . A set computes if and only if computes a function dominating .
If , then computes by Proposition 4.5. Conversely, a function dominating computes by the same proposition, and if computes it, so does .
So the sets that compute are exactly the sets that compute sufficiently fast-growing functions, as already observed in Example 1.3. For general approximations, the modulus is usually not computable in , but the computation function is, and the following result shows that it carries the same information.
Let be a approximation of with computation function . Then , and every function dominating computes .
To compute from , read and search for the least with .
Let dominate . For each , let be the largest such that for every with . The function is -computable: it only involves the finitely many sets , .
Claim 1: . Since , the stage is among those considered, and . With , we get .
Claim 2: . Fix , and let be such that for all . For , all with agree with below , so .
To decide whether with oracle , search for with , which exists by Claim 2, and answer , which is correct by Claim 1.
The condition in the definition of the computation function is used in Claim 1: it guarantees that the stages include a correct stage.
4.3 Exercises
A set is d.c.e. if for c.e. sets and . Show that every d.c.e. set has a approximation in which each changes at most twice, and is therefore computable in .
Solution
Let and be c.e. approximations, and . The value starts at , may become when enters , and may become again when enters ; once it stays . So it changes at most twice, and converges to . Apply Theorem 4.2.
Let be the modulus of the approximation . Show that no computable function dominates , and that for every computable there are infinitely many with .
Solution
A computable function dominating would compute by Proposition 4.5, so would be computable. If for all but finitely many , modify at these finitely many points to obtain a computable function dominating , which is impossible.
Let be a approximation of such that, for every , the number of with is at most , for a computable function . Show that there are an index and a computable function such that and for every .
Solution
For each and , let be an index, computable from , of the machine which halts on its own index if and only if the approximation of changes at least times; then if and only if changes at least times. To compute , query at the positions , let be the number of changes found, and run the approximation until changes of have been observed; the value reached is . Only the positions , , are queried, so the use is bounded by , up to the cells the oracle head crosses to reach them, which are below this bound.
4.4 Notes and references
The limit lemma is due to Shoenfield (1959), and was also observed by Gold and by Putnam (1965), in connection with learning in the limit and trial-and-error predicates. The result on computation functions is due to Martin and Miller (1968). The d.c.e. sets and the hierarchy of -c.e. sets were introduced by Putnam and by Ershov.
- J. R. Shoenfield, On degrees of unsolvability, Annals of Mathematics 69 (1959), 644–653.
- H. Putnam, Trial and error predicates and the solution to a problem of Mostowski, Journal of Symbolic Logic 30 (1965), 49–57.
- E. M. Gold, Limiting recursion, Journal of Symbolic Logic 30 (1965), 28–48.
- W. Miller and D. A. Martin, The degrees of hyperimmune sets, Zeitschrift für mathematische Logik und Grundlagen der Mathematik 14 (1968), 159–166.