Constructions in computability theory manipulate sets through finite descriptions: an index of a program computing the set, or enumerating it, or deciding it relative to . The same set has descriptions of several kinds, and they carry different amounts of information. An index of the characteristic function of a computable set tells more than an index of an enumeration of it; the list of the elements of a finite set tells more than an index of its characteristic function. This lesson defines the usual kinds of indices and proves, by fixed point arguments, that the passage from the poorer to the richer kinds is not uniform. Choosing the right kind of index is often the first decision in a construction.
5.1 Kinds of indices
- A index of a set is an such that is the characteristic function of .
- A index of is an such that .
- The canonical index of a finite set is . The finite set with canonical index is written .
- More generally, a index of is an such that is the characteristic function of , and a index is an with .
By Theorem 2.2, a set has a index if and only if it is , and a index if and only if it is . Every integer is a index of some set, but not every integer is a index: the set of indices is -complete (see the exercises). The notion of uniformity of the course on fundamentals can be expressed with indices.
A sequence of sets is uniformly computable if and only if there is a computable function such that is a index of for every . Similarly, is uniformly c.e., that is, is c.e., if and only if for some computable .
If is the computable function deciding , the parameter form of SMN gives a computable with . Conversely, if is computable and each is a index of , then is computable by the universal function, and total. The c.e. case is the same, with domains in place of characteristic functions.
The relations , , and are computable. From the canonical index of a finite set one computes a index and a index of it.
if and only if the binary digit of at position is , that is, is odd; and all elements of are smaller than , so the other relations are obtained by bounded quantification over . The indices are obtained by the parameter form of SMN, applied to the computable functions and to the partial function that converges on exactly when .
5.2 What cannot be recovered
The converse passages are not uniform. The proofs all have the same structure: a program, built with the fixed point theorem, waits for the alleged conversion procedure to answer about the program itself, and then behaves so as to make the answer wrong.
There is no partial computable function such that, for every with computable, and is a index of .
Suppose exists. By Corollary 5.2 of “Kleene's fixed point theorem”, there is such that converges if and only if , , and ; the description is uniform in , since and the universal function are partial computable. Then is or , hence computable, so and is the characteristic function of . If , then by construction, while the characteristic function says . If , then , while the characteristic function says . Both cases are contradictory.
There is no partial computable function such that, for every index of a finite set , .
Suppose exists. By Corollary 5.2 of “Kleene's fixed point theorem”, there is such that for every ,
The conditions are decidable for each , so is total, with values in , and it is the characteristic function of a set with at most one element. So is a index of a finite set, and . If , then contains the stage at which converges, and . If , then and . Both cases contradict .
5.3 Lowness indices
A low set is , so it has indices. But lowness says more: computes . An index carrying this information is a lowness index: an such that is the characteristic function of . From a lowness index, a index is computable: by Theorem 3.2 of “The Turing jump” there is a computable , independent of the set, with for every , so if then computes , with an index computable from . The converse fails. Its proof uses the fixed point theorem for oracle machines.
For every total computable , there is such that for every oracle . Consequently, for every oracle machine computing a partial function , there is with for every and .
The proof of Fixed point theorem uses only the universal function and the SMN theorem, which hold for oracle machines uniformly in the oracle (Relativized universal function and Relativized SMN theorem). The same construction, with the functions and computable and independent of the oracle, gives a fixed point valid for every oracle. The second statement follows as Corollary 5.2 of “Kleene's fixed point theorem” follows from the theorem.
There is no partial computable function such that, for every index of a low set , and is a lowness index of .
Suppose exists. By Theorem 3.2 of “The Turing jump” applied to the uniformly -c.e. set , there is such that for every . By Lemma 5.6, there is such that for every oracle and every ,
With , the function is total with values in ; let be the set it computes. By monotonicity of stages, once the condition holds at some , it holds at all larger . So is empty or cofinite, hence computable and low, and is a index of it. Hence is defined and is a lowness index of : , and if and only if . If , then the condition holds for all large , so and . If , the condition never holds, so and . Both cases are contradictory.
The information that distinguishes a lowness index from a index is used in constructions that need to answer questions about with the oracle while is being built, for instance to iterate the construction of low sets.
5.4 Exercises
Show that from a index of one computes a index of and a index of .
Solution
By the parameter form of SMN, there are computable and such that converges if and only if . If is a index of , then and .
Show that the set is -complete.
Solution
is a index if and only if , a condition. For completeness, let with computable, and let be computable with if , the program searching for and diverging if there is none. Then is total, with values in , if and only if .
Show that there is no partial computable function such that, for every index of a finite set , and .
Solution
Suppose exists. By Corollary 5.2 of “Kleene's fixed point theorem”, there is such that converges if and only if , and . Then is finite, so with . If , then , so . If , then , so . Both cases are contradictory.
5.5 Notes and references
Canonical indices of finite sets are standard since Rogers’ book. Lowness indices are used systematically in the constructions of low sets and low degrees, for instance in the proofs of the low basis theorem and of the Sacks splitting theorem; the examples of this lesson follow the presentation in Monin and Patey’s book. Soare’s textbook discusses the various kinds of indices.
- H. Rogers, Theory of Recursive Functions and Effective Computability, McGraw-Hill, 1967.
- R. I. Soare, Turing Computability: Theory and Applications, Springer, 2016.