Exercise 1: Prove that
Q(x) = P(f(x)).Thus, m-reduction does not allow for composition outside:
ØK(x) = -sg(K(x)).
k = 0 Þ f[A,
n,
k]
= n;
k > 0 Þ
lh(n) = 0 Þ f[A, n, k] = C(o, p1,k);Now define
lh(n) = 1 Þ f[A, n, k] = C(s, p1,k);
lh(n) = 2 Þ f[A, n, k] = pmin(d(n, 0), k), k;
lh(n) = 3 Þ f[A, n, k] = C(f[d(n, 0), lh(d(n,1))], f[d(d(n, 1), 0), k], ..., f[d(d(n, 1), lh(d(n, 1)) -.1), k]);
lh(n) = 4 Þ f[A, n, k] = R(f[d(n, 0), k -. 1], f[d(n, 1), k + 1]);
lh(n) = 5 Þ f[A, n, k] = M(f[d(n, 0), k + 1]);
lh(n) = 6 Þ f[A, n, k] = C(cA, p1,k);
lh(n) > 6 Þ f[A, n, k] = C(o, p1,k).
y is partial recursive in A Û $n, k, y = f[A, n, k];Proposition 1: All our earlier results relativize to A in the natural way.
W[A, n] = dom(f[A, n, 1]);
E[A, n] = rng(f[A, n, 1]).
B is recursive in A Û the characteristic function of B is partial recursive in A.
B is r.e. in A Û B = Æ Ú $ total f partialrecursive in A such that B = rng(f).
Exercise 2: Convince yourself of this by stating
and sketching the proof of the A-relativized universal theorem.
Let U[A] denote the A-relativized Kleene universal
predicate.
Important:
we will need the property that the "resource bound" also bounds all the
inputs for which values are queried in the computation.
A £ B Û A is recursive in B;Proposition 2:
The last clause of the proposition shows that Turing reduction is also somewhat strange, for we can no longer rely on Turing computability to preserve one-sided notions of success. Can you think of a notion of reduction that does not restrict the use of subroutines but that would preserve r.e.?
By proposition 2.1, the usual mathematical habits yield Turing-equivalence and Turing-degrees:
A º B Û A £BÙ B £ A;Turing degrees (or simply "degrees") are conventionally denoted by bold-faced letters: a, b, c, ...
[A] = {B Í N: AºB}:
[A] £ [B] Û A £ B;
a is a G-degree Û a Ç G ¹ ÆImportant: an r.e. degree is also a co-r.e. degree and not every element of an r.e. degree is r.e.
a is G-hard Û"b, b £ a.
a is G-complete Û a Ç G ¹ Æ Ù "b, b £ a.
Corollary 3:
T[x, y] = W[x](y).That is,
ØK(x) = -sg(T[x, x]) = -sg(W[x](x)).We could do the same thing for the table of sets r.e. in A:
ØK[A](x) = -sg(W[A, x](x)).Then we know (by exactly the same argument) that ØK[A](x) is not r.e. in A, so K is not recursive in A. The usual notation is:
A' = K[A] = {x: f[A, x](x)¯}.In our new notation, we have:
a' = [A'], for some A Î a.
0' = [K].The following records that jumps are essentially like the halting problem.
f[A, z, 1](x) » myU[A](x, d(y, 0), d(y, 1), <x>).Then A' = W[A, z].
y(x) » my U[A](x, d(y, 0), d(y, 1), <x>).In the derivation tree for y, we may replace each occurrence of cAwith f[B, z].
a is r.e.,Simple sets determine incomplete r.e. m-degrees as we have seen, but Turing degrees are coarser (since Turing reducibility is more lenient) so it doesn't follow that simple sets determine incomplete r.e. degrees. The worry is justified.
a is not r.e. complete.
a is not recursive.
Proposition 5: Every r.e. degree (e.g., the complete one) contains a simple set.
Exercise 4: Prove it. Big hint:
Suppose B is r.e. but not recursive.
Construct a total recursive, bijective f such that B
= rng(f).
Define
A(x) Û $y>x (f(y) < f(x)).A is r.e. by the projection theorem.
Thus, a new technique is required to construct an incomplete r.e. Turing degree.
It suffices to find two non-recursive r.e. degrees such that neither is Turing reducible to the other, for an r.e.-complete degree is comparable with every r.e. degree.
The construction of such a degree was called Post's problem. The solution was discovered independently by Friedburg and Muchnik. The proof is called a "priority argument". The priority technique was applied to a number of problems in degree theory, leading to a renaissance in recursion theory in the 1960s and 1970s.
Proposition 6 (Friedburg-Muchnik 1956): There exist r.e. degrees a, b such that neither a£b nor b£ a.
Idea(following Soare's theorem 2.1): Here's the intuitive idea. An even requirement is a statement of form:
even(z) Ù cA¹ f[B, z/2].An odd requirement is a statement of form:
odd(z) Ù cB¹ f[A, (z - 1)/2].Clearly, satisfying all the requirements would make A and B Turing irreducible to one another.
Even requirement z can be satisfied by adding to A a witness
x
on which f[B,
z/2] halts with 0 or never adding x to A if f[B,
z/2] halts with 0.
Odd requirement z can be satisfied by adding to B
a witness x on which f[A,
(z - 1)/2] halts with 0 or never adding x to A
if f[B,
z/2] halts with 0. .
We can therefore use halting with 0 as an effective sign to add the witness to the appropriate set and rest smugly until the condition arises.
The trouble is that requirements we thought were "passively" satisfied may halt with 0 later. Such a requirement is said to require attention. Then we have to add the witness to the appropriate set to keep the requirement satisfied.
But this may screw up other computations witnessing other requirements, since these computations depend on the sets in question. We say that these requirements are injured.
To make progress, we have to protect more and more witnessing computations from injury. We do this by enumerating the requirements (a priori ranking) and protect higher priority witnessing computations from lower priority requirements by requiring that witnesses for fresh requirements be selected beyond a protective wall we build around the members of the sets queried in computations of higher priority.
Each requirement is injured only by requirements of higher prioriy. There are only finitely many of these. So each requirement is injured only finitely often. In the limit, every requirement is satisfied.
Since we never had to decide which way the requirements are satisfied, the sets constructed by adding witnesses are r.e.
This is called a priority or finite injury argument.
Proof: We need to construct r.e. sets A, B such that both are r.e. and neither is Turing-reducible to the other. We construct A, B in stages:
A(x) Û $nA[n](x).Each stage results from possibly adding something new.
B(x) Û $nB[n](x).
A[n](x) Û$m£ n, add-to-A(m, x);We begin the construction by searching for the highest priority requirement that needs attention, if any.
B[n](x) Û $m£ n, add-to-B(m, x).
attend-to(n) =
mz £ nwall(0, z) = 0;(even(z)Ù wall(n, z/2) = 0 Ù U[A[n]]( z/2, n, 0, <try( z/2, n)>)) Úif there is one;
(odd(z)Ù wall(n, (z - 1)/2) = 0 Ù U[A[n]]((z - 1)/2, n, 0, <try((z - 1)/2, n)>))
Seek the highest priority requirement whose protective wall is retracted and whose program has halted in the required number of steps with output 0.
n + 1 otherwise.
wall(n, z) if z <attend-to(n) Ú attend-to(n) > n;Keep old witnesses unless a higher priority requirement gets attention. Then increment lower priority witnesses to a safe place.
(keep protecting higher-priority witnesses; do nothing if nothing is attended to)
n + 1 if z = attend-to(n);
(establish wall protecting currently attended to requirement)
0 if z > attend-to(n).
(drop protection on injured requirements indicating that they may again require attention)
try(0, z)
= <0, z>;
try(n + 1,
z) =
try(n, z) if z £attend-to(n) Ú attend-to(n) > n; (keep high priority witnesses).
mw d(w, 1) = z ÙØA[n](w) ÙØB[n](w) Ù"k< z, wall(n, z) < z otherwise. (injured witnesses should be selected so as not to disturb higher priority requirements).
add-to-A(n, x) Ûeven(attend-to(n))
Ù
attend-to(n)
£
n
Ùx
= try(n, attend-to(n)).
add-to-B(n, x) Ûodd(attend-to(n))
Ù
attend-to(n)
£
n
Ù
x
= try(n, attend-to(n)).
Fact a: all the component functions are total recursive,
so by the projection theorem A and B are r.e.
Fact b: every requirement is injured only finitely often.
Fact c: after it stops being injured, each requirement
is eventually satisfied.
Hence, A and B are Turing-incomparable.
-|
A is low Û A' º K.Proposition 7: A is low Þ A is not r.e.-complete.
Proof: Suppose A is r.e. complete.
So A ºK.
So A' ºK'.
K' is not reducible to K by proposition 4.2 above.
So A' is not reducible
to K.
So A is not low.
-|
Define the join operation on sets and degrees as follows
(A + B)(x) = (A(d(x, 0)) Ù d(x, 1) = 0) Ú (B(d(x, 0)) Ù d(x, 1) = 1).Proposition 8: The meet operation is the greatest lower bound operation corresponding to the Turing reducibility order.
a È b = [A + B], for a(A), b(B).
Proof: In fact, A, B are both m-reducible
to A + B, by means of the m-reductions d(x, 0) and
d(x, 1).
For minimality, suppose that S also Turing-reduces both A
and B.
Then A + B is reducible to S as well:
for a given x, d(x, 1) tells you whether to feed d(x,
0) through the reduction of A or the reduction of B.
-|
The importance of the low degrees is that they generate all the r.e. degrees when we close under join.
Proposition 8 (Sacks' splitting theorem 1963):
For each r.e. a > 0, there are incomparable, low r.e.
degrees b, c such that a = bÈc.
-|
The r.e. degrees have many entertaining properties including the following:
(Lachlan 66) There is a minimal pair
of r.e. degree above 0.
(Sacks 1964) The r.e. degrees are
densely ordered.
(Shoenfield) Every countable partial
order can be embedded in the r.e. degrees in a manner that preserves sups.
E.g., each countable ordinal is embeddable.
(Yates 1966) Every incomplete r.e.
degree is incomparable with some other r.e. degree.