The halting set is not computable, but membership in it can be confirmed: if , simulating the computation eventually establishes it. Sets with this property are the computably enumerable sets. They are the sets that an algorithm can list, the domains of partial computable functions, and the projections of computable relations. Examples outside computability theory include the set of theorems of a computably axiomatized theory, and the set of solvable Diophantine equations. This lesson proves the equivalence of these descriptions, the closure properties of the class, and the fact that the halting set is the hardest computably enumerable set.
4.1 Definition and characterizations
The -th computably enumerable set is . A set is computably enumerable, or c.e., if for some . Its approximation at stage is .
Older texts say recursively enumerable, or r.e. By the conventions on stages (Definition 1.3), is a finite subset of , computable from and , and with .
A c.e. approximation of a set is a uniformly computable sequence of sets with .
A relation is c.e. if the set is.
For every , the following are equivalent.
- is computably enumerable.
- for some computable relation .
- , or is the range of a total computable function.
- is the range of a partial computable function.
- has a c.e. approximation.
Moreover, in item 2 the relation can be taken primitive recursive.
(1 ⇒ 2) If , then , and the relation of and is primitive recursive (Proposition 1.4).
(2 ⇒ 3) Suppose and fix . Let if , and otherwise. This is total computable, its values lie in , and every is a value: if , then .
(3 ⇒ 4) A total function is partial, and is the range of the nowhere defined function.
(4 ⇒ 1) Let be the range of . The partial function is partial computable, by Proposition 1.6 and Proposition 1.4. It is defined if and only if for some , that is, if and only if . So is c.e.
(1 ⇒ 5) If , the sequence is a c.e. approximation.
(5 ⇒ 2) If is a c.e. approximation, then , and the relation is computable.
Item 2 says that the c.e. sets are the sets definable by an existential quantifier over a computable relation: they are the sets of the arithmetic hierarchy. Item 3 justifies the name: a non-empty c.e. set is listed, possibly with repetitions, by an algorithm . The proof of (2 ⇒ 3) runs through all pairs in the order of the pairing function, which interleaves the searches for witnesses of all at once. This technique is called dovetailing: running the searches one after the other would fail, since the search for a witness of some never ends.
An infinite set is computably enumerable if and only if it is the range of an injective total computable function.
The range of a total computable function is c.e. by Theorem 4.3. Conversely, let be total computable with range . Define , and , where is the least with . The search terminates since is infinite, so is total computable, and it is injective by construction. Let . By induction on , : the values for are already listed, by minimality of . Hence , and every value of is a value of .
4.2 Closure properties
- If and are c.e., so are and .
- If is c.e., so is its projection .
- If is c.e., so is .
- If is c.e. and is partial computable, then and are c.e.
By Theorem 4.3, write each c.e. set or relation as the projection of a computable relation, using a c.e. approximation for item 3.
- If and , then , and .
- If , then .
- Let be a c.e. approximation of . Then holds if and only if . Indeed, if each has a stage with , then works since the approximation is increasing; the converse is clear. The relation of is computable, by bounded quantification (Proposition 1.6).
- Let and let be a c.e. approximation of . Then , and ; both are projections of computable relations.
The c.e. sets are not closed under complement, and the relations they define are not closed under unbounded universal quantification: , and the next section shows that is not c.e.
4.3 The graph and selection theorems
For every c.e. relation , there is a partial computable function with and for every .
Write with computable, and let . The search terminates exactly when some pair satisfies , that is, when , and then for such a pair, so that .
The function selects a witness for each , namely the first one found by the dovetailed search. In general, it is not the least witness: finding the least with would require knowing that smaller are not witnesses, which is not confirmed at any finite stage.
A partial function is partial computable if and only if its graph is c.e.
If , its graph is , c.e. by Theorem 4.3. Conversely, if the graph of is c.e., apply Proposition 4.6 to : the function has domain and satisfies , that is, , since is the graph of a function.
4.4 Computable and c.e. sets
A set is computable if and only if both and are computably enumerable.
If is computable, is the projection of a computable relation (with a dummy variable), hence c.e.; and is computable as well.
Conversely, let and . On input , search for the least such that or , and output in the first case, in the second. The search terminates, since belongs to one of the two sets and hence appears in its approximation at some stage; the two cases do not overlap, since the sets are disjoint. So this algorithm computes .
The halting set is computably enumerable, and its complement is not.
is c.e. If its complement were c.e., then would be computable by Proposition 4.8, contradicting Theorem 3.2.
So the computable sets form a proper subclass of the c.e. sets, and the c.e. sets are not closed under complement. A set whose complement is c.e. is called co-c.e.
4.5 The halting set is m-complete
If and is c.e., then is c.e.
If reduces to , then , which is c.e. by Proposition 4.5.
A c.e. set is m-complete if for every c.e. set .
The halting set is m-complete.
Let . By Corollary 2.3, there is a total computable such that for all and : the program ignores its input and runs on . Then
so reduces to .
- A c.e. set is m-complete if and only if . The sets , and are m-complete.
- Neither nor its complement is c.e.
- If is m-complete, then since is c.e. (Theorem 4.9). Conversely, if , every c.e. set reduces to by Theorem 4.12, hence to by transitivity. The three sets are c.e., since and , and reduces to them by Proposition 3.5.
- By Proposition 3.5, , and , which gives . If or its complement were c.e., then would be c.e. by Proposition 4.10, contradicting Theorem 4.9.
Post asked in 1944 whether every c.e. set that is not computable is m-complete, or at least as hard as in a weaker sense. For m-reducibility he answered negatively himself, with the simple sets; for Turing reducibility the question, known as Post’s problem, was solved by Friedberg and Muchnik with the priority method. These results are the subject of later courses.
4.6 Exercises
An infinite set is enumerable in increasing order if for some total computable with for all . Show that an infinite set is computable if and only if it is enumerable in increasing order.
Solution
If is infinite and computable, its principal function (Lemma 3.2 of “Countable sets”) is computable, by and , and it enumerates in increasing order. Conversely, to decide whether , compute until a value greater than appears, which happens since ; then if and only if is among the values computed, since later values are larger.
Show that every infinite c.e. set contains an infinite computable subset.
Solution
Let be a total computable function with range . Let , and for the least with , which exists since is infinite. Then is total computable and strictly increasing, and its range is an infinite subset of , computable by the previous exercise.
(Reduction principle.) Show that for all c.e. sets and , there are disjoint c.e. sets and with .
Solution
Fix c.e. approximations and . For , let be the least with . Let and : an element is assigned to the set in which it appears first, with priority to in case of a tie. Both sets are c.e., since , and similarly for . They are disjoint, contained in and respectively, and every belongs to one of them.
Show that the set is neither c.e. nor co-c.e.
Hint
Use the two reductions of Exercise 3.8.
Solution
By Exercise 3.8, and both reduce to this set. As in the proof of Corollary 4.13, if the set or its complement were c.e., then would be c.e.
4.7 Notes and references
Computably enumerable sets were introduced in the 1930s, in the work of Church, Kleene and Post on recursive functions; Post’s paper of 1944 made them a subject of study in their own right, introduced many-one and one-one reducibility, the notion of complete set, and simple sets. The selection theorem is due to Kleene. Soare’s textbook is the standard reference for the theory of c.e. sets.
- E. L. Post, Recursively enumerable sets of positive integers and their decision problems, Bulletin of the American Mathematical Society 50 (1944), 284–316.
- S. C. Kleene, Introduction to Metamathematics, North-Holland, 1952.
- R. I. Soare, Recursively Enumerable Sets and Degrees, Springer, 1987.