There are incomparable Turing degrees strictly between the computable degree and the degree of the diagonal halting set. An oracle-assisted finite-extension construction alternately defeats each Turing functional in the two directions. Since the sets are computable in the halting oracle, their degrees are at most ; incomparability makes them nonzero and strictly below . This theorem does not require the constructed sets to be computably enumerable. The Friedberg–Muchnik theorem supplies that stronger conclusion.
For subsets , a many-one reduction is a total computable function such that
A Turing reduction is an oracle machine that, using membership queries to , halts on every input and computes the indicator function of . It may make several adaptive queries, and need not preserve the yes/no answer to a single query. A many-one reduction yields a Turing reduction by computing and querying once. Two sets have the same Turing degree when each is Turing reducible to the other. Write for the degree of the diagonal halting set .
We prove the Kleene–Post incomparability theorem by an oracle-assisted finite-extension construction. Fix an effective list of all Turing functionals. We shall build increasing finite binary strings whose unions are the indicator functions of . A finite oracle computation means that the computation halts with output and every oracle query is strictly below . Its answers are supplied by . By the finite oracle use property, every infinite oracle extending preserves this computation.
Here is the decision available from . Given and a finite string , consider
This predicate is semidecidable: enumerate all finite extensions of and dovetail their finite oracle simulations, stopping at the first halting binary output. There is a computably produced program which, on its own index as well as on every other input, performs this search and halts exactly if it succeeds. Membership of its code in therefore decides . In a yes case, running the search finds an actual witness . The decision oracle is essential in a no case; merely waiting would not produce a terminating construction.
Start with empty strings. At stage first ensure
Choose , which is not yet assigned in . Ask whether holds. If yes, find a witness , extend the current string to , and append the bit to the current string. If no, leave the current string unchanged and append to the current string. The yes case permanently forces disagreement at , since later strings extend both commitments. In the no case no final oracle extending the current string can give a binary output at : any such convergent computation would use finitely many bits and hence supply a forbidden finite witness. Thus it cannot be the indicator function of either, regardless of whether it diverges or returns a nonbinary value.
Next, using the strings just obtained, ensure
by the same procedure with the roles reversed. Choose equal to the current length of the string, ask the analogous extension question about the current string, and, if it has witness output , extend to that witness and append to . Otherwise append to . Finally pad both strings with zeros if necessary so that each length is at least , and call the resulting strings . Every operation is computable using the membership oracle and terminates. Earlier disagreements remain protected because no already fixed bit is ever changed.
Set and . The length condition makes these total binary functions. To compute either bit with oracle , run the construction through stage , when both strings have length at least , and read that bit. Consequently . Every Turing functional has been defeated in both directions, so
Neither set is computable, since a computable set is Turing reducible to every oracle. Neither can have degree : if , then , contrary to incomparability; the other case is symmetric. Therefore
This proves the requested theorem. The argument does not claim or is computably enumerable; it constructs sets computable in . Obtaining incomparable computably enumerable degrees is the stronger Friedberg–Muchnik theorem, which is not needed for the printed request.