0% found this document useful (0 votes)
148 views

Posts Theorem PDF

The document summarizes lectures 18-19 on Post's theorem for semi-decidable sets. It introduces Post's theorem, which states that there exists an undecidable language L that is semi-decidable but not SD-hard. The proof strategy is outlined, which involves showing that no "simple set" can be SD-hard, and that a simple set exists. Key definitions like simple sets and productive sets are introduced. It is shown that complements of simple sets cannot be productive, and that complements of SD-hard sets are productive, proving that no simple set can be SD-hard and establishing Post's theorem.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
148 views

Posts Theorem PDF

The document summarizes lectures 18-19 on Post's theorem for semi-decidable sets. It introduces Post's theorem, which states that there exists an undecidable language L that is semi-decidable but not SD-hard. The proof strategy is outlined, which involves showing that no "simple set" can be SD-hard, and that a simple set exists. Key definitions like simple sets and productive sets are introduced. It is shown that complements of simple sets cannot be productive, and that complements of SD-hard sets are productive, proving that no simple set can be SD-hard and establishing Post's theorem.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

CS6014: Computability and Complexity

Sep 1-2, 2016

Lecture 18-19 : Posts Theorem for Semi-decidable Sets


Lecturer: Jayalal Sarma

Scribe: Krishnamoorthy Dinesh, Jayalal Sarma

Contents
1 Introduction and Statement of Posts Theorem

18-19-1

2 Proof Strategy

18-19-2

3 There exists a Simple Set

18-19-3

4 No Simple Set can be SD-hard

18-19-4

4.1

Prodcutive Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-19-5

4.2

Complements of Simple Sets cannot be Productive. . . . . . . . . . . . . . . 18-19-6

4.3

Complements of SD-hard Sets are Productive. . . . . . . . . . . . . . . . . . 18-19-7

Introduction and Statement of Posts Theorem

We saw the class SD (semi-decidable), which is the set of all languages for which there is
a Turing machine accepting it. We also saw languages that are hard for SD (via many-one
(m ) reductions). By definition, languages that are hard for SD and lying in SD becomes
SD-complete.
We know of languages that are not SD-hard and not in SD (for example HP ). We also
know that Decidable SD-complete is empty.
So how does the landscape of SD languages look like ? Is it that class SD is a union of
Decidable and SD-complete languages (figure 1(a)) or is there something apart from these
two (figure 1(b))? In other words, we ask : is there a language L SD that is not SD-hard
and not decidable ? The answer turns out to be yes and it was shown by Emil Leon Post
in 1944. Following is the theorem by Post and we shall see a complete proof of it in this
lecture.

18-19-1

HP

HP

SD

SD

SD-hard

SD-hard

SD-complete

SD-complete

L?
Figure 1(b)

Figure 1(a)

Figure 1: Landscape of Semi-decidable sets


Theorem 1. (Post, 1944) There exists an undecidable language L such that,
1. L is semi-decidable and,
2. L is not SD-hard

Proof Strategy

Interestingly, the requirements are a bit contradictory. We want the language L to be


undecidable (hence harder than decidable languages), but not so hard that the language
becomes as hard as the Halting problem (and hence SD-complete).
The idea is to consider the language which intersects with every semi-decidable language.
In particular, it will not miss the complements of a decidable language (and hence cannot
be decidable by itself).
We start by making a formal definition of such sets.
Definition 2. A set L is called simple if :
1. L is semi-decidable
2. L is infinite
3. L intersects with every infinite SD language.

18-19-2

We quickly note that simple sets, indeed are undecidable.


Lemma 3. L is simple L is undecidable.
Proof. (By contradiction) Suppose L were decidable, then L would be decidable. Hence
L would be semi-decidable and also infinite (as L is simple). But then L must intersect
with all infinite semi-decidable languages. In particular, L must intersect with L which is
a contradiction. Hence it must be the case that L is undecidable.
To prove part 2 of the theorem, we need to prove the following two theorems,
Theorem 1 No simple set is SD-hard
Theorem 2 There exists a simple set
Combining these two, we can say that there is a simple set that is not SD-hard thereby
proving part 2. We prove theorem 1 and 2 in the next two sections (Section 4, 3).

There exists a Simple Set

We need to construct an A such that,


A SD
A is infinite
A intersects with every infinite SD set.
We will ensure that A is semi-decidable by construction, by defining A via an enumerator Turing machine for it. Consider the encodings of all enumerator Turing machines.
Enumerator for A, say N , does the following.
1. Run the enumeration machines in a time shared manner. First run one step of enumeration TM Mx1 , then run one step of Mx1 , Mx2 . Then run one step of Mx1 , Mx2 , Mx3
as shown in figure 3.
2. If machine Mx enumerates a string1 y with y > 2x then enumerate y and remove Mx
from the simulation list.
1

viewed as a number

18-19-3

M1

M2

M3

M4

M5

M6

M1

M2

M3

M4

M5

M6

M1

M2

M3

M4

M5

M6

M1

M2

M3

M4

M5

M6

M1

M2

M3

M4

M5

M6

M1

M2

M3

M4

M5

M6

Figure 2: Time shared run of all enumeration TMs by N


Clearly in N is an enumerator for A = L(N ). Hence A is semi-decidable.
Claim 4. A intersects with every infinite SD language.
Proof. For any L SD, there exists an enumeration Turing machine, Mz which enumerates
L. Since L is infinite, there exists a step n where Mz enumerates a string y L with y > 2z.
Now, N must also enumerate y. So y L(N ) also. Hence,
y L L(N )
y LA

Claim 5. A is infinite.
Proof. (By contradiction) If A were finite, there exists a k N such that |A| = k. For any
x, let g(x) be the string output by the machine Mx that caused it to be removed from the
simulation list of N . Consider any set of size 2k + 4 with elements say, {0, 1, . . . , 2k + 3}.
Note that this set can contain only k + 2 elements {g(0), g(1), . . . , g(k), g(k + 1)}2 . Hence
only k + 2 elements will be enumerated. Hence k + 1 elements will not be enumerated and
they must be in A. But this contradicts |A| = k.

No Simple Set can be SD-hard

We apply a natural strategy : identify a property of the SD-complete sets and argue that
simple sets do not have that property. The property of any SD-complete set is simply that
2

g(k + 2) is not present since, 2(k + 2) > 2k + 3

18-19-4

A has a property P. We will argue that complements of simple sets cannot have property
P. To get to the property P formally in the next section, we need a few notations.
For every x , let Mx denote the Turing Machine whose description is x. Consider the
following languages,
Definition 6.
Wx = {y | Mx halts on x}
K = {x | Mx halts in x}
Recall that K is the diagonal language that we used in proving undecidability of halting
problem (HP ). By the same proof, K is undecidable. Indeed, K is semi-decidable too, as
the universal Turing machine can simply simulate the Turing machine Mx on x. We argue
that it is hard for SD too.
Homework 7. Argue that the language K is complete for SD.
Wx is interesting because of the following lemma.
Lemma 8. Every semi-decidable set is equal to Wx for some x .
Proof. Let L be a SD set. Hence, there exists a TM M such that L = L(M ) = {y
| M accepts y}. We construct a TM M 0 which on input y runs M and halts if and only
if M accepts. Hence, y ,
y L M accepts y
M 0 halts on y
Mx halts on y where x = code(M 0 )
y Wx
Hence L = Wx for x =code(M 0 ).

4.1

Prodcutive Sets

Now we are ready to state the property P. Consider the following definition,
Definition 9. A set C is said to be productive if there exists : such that
1. is total3 (also called effective)
2. x , Wx C (x) C Wx

18-19-5

C
(x) C Wx
Wx

Figure 3: (x) can be thought of as a dart that always misses Wx


The map manages to produce strings from x which are guaranteed to be outside
Wx and hence the name productive set. See figure 4.1. We shall refer to such as production
function.
The proof idea is as follows. Firstly, we show that complement of a productive set cannot
be simple.
Claim 10. L is productive L is not simple
Then, we show that if L is SD-hard then L is productive.
Claim 11. L is SD-hard L is productive
Combining the two, we have
L is SD-hard L is productive
L is not simple
Taking contrapositive,
L is simple L is not SD-hard
proving theorem 1. Now we prove both claims.

4.2

Complements of Simple Sets cannot be Productive.

We prove claim 10 which is the contrapositive of the title of this subsection. We argue that
the complements of productive sets cannot be simple.
3

A map is total if there is a total Turing machine computing it.

18-19-6

Given a productive set L, to show that L is not simple, it suffices to argue that there exists
an L0 L such that,
1. L0 is infinite
2. L0 is semi-decidable
This is because, if L contains an infinite semi-decidable set L0 then L cannot intersect with
L0 and hence L cannot be simple.
To show that L contains an infinite semi-decidable subset L0 , we give an enumerator E for
L04 .
The enumerator E does the following. Start with , the empty language. Get the code of the
Turing machine that accepts and let it be i0 . Hence we have by definition, Wi0 = L.
Now since L is productive and Wi0 L, (i0 ) L Wi0 . Also since is total, (i0 ) can
be effectively computed by the enumerator. Observe that (i0 ) is a string that lies outside
Wi0 . Now, add it to Wi0 and look at the description of Turing machine, say i1 that accepts
Wi0 {(i0 )}. Hence Wi1 = Wi0 {(i0 }. Now that we have Wi1 which is a subset of L, we
can again apply to i1 and get (i1 ) LWi1 . Again there is a Turing machine description
i2 such that Wi2 = Wi1 {(i1 )} = {(i0 ), (i1 )}. In general Win = Win1 {(in1 )}.
This process isSrepeated indefinitely and enumerator E enumerates {(i0 ), (i1 ), . . .}. Hence
L0 = L(E) = k0 {(ik )}.
Clearly L0 is semi-decidable. In n 1th iteration, by productivity property, there is always
a string that lies outside Win1 which upon adding to Win1 gives a larger set. Hence each
iteration increases the size of the set by 1 and also E runs infinitely. Hence L0 is infinite.
Remark 12. Why do we need the third condition of simple sets to be : L intersecting every
infinite semi-decidable set? Note that the proof of Lemma 3 works even if L is defined
to intersect just every infinite decidable set. Then why do you need a stronger condition?
Notice that this stronger condition is crucially used in the above proof. We do not know if
L0 is decidable.

4.3

Complements of SD-hard Sets are Productive.

We prove claim 11. That is, complements of SD-hard sets are indeed productive. That is,
L is SD-hard L is productive
Before proceeding to prove this, let us try to gain some intuition by proving this for K (the
diagonal language) which is SD-hard (by homework 7).
4

Recall, any language L SD there exists an enumerating Turing machine which enumerates all
strings in L but none other.

18-19-7

Claim 13. K is productive with (x) = x as the productive function.


Proof. Enough to show that the identity map (x) = x satisfies the requirement.
x , Wx K (x) K Wx
Before proceeding, we can make the following simple observation.
Observation 14. x , x Wx x K
Now, for an x such that Wx K, we must have x 6 Wx . This is because, if x Wx ,
then x K also by previous observation. But we know Wx K. Hence no element of Wx
can be in K and in particular x cannot be in K which leads to a contradiction.
Hence x 6 Wx . Also x 6 K (since x 6 Wx x 6 K). Hence (x) = x K Wx .
Now, we are ready to prove that A ,
A is SD-hard A is productive via a 0
So, let A be SD-hard. Since K is also SD-hard, K m A via a total : such that
x K (x) A. To make our life easier, let us define the following.
Definition 15. Let be as defined before. Then define,
1 (A) = {x | (x) A}
Hence, 1 (A) can be seen as the pre-image of the set A defined by the map . So 1 (A) =
K. We can make a quick observations and a lemma about 1 .
Observation 16. 1 is monotone, meaning for L1 L2 , 1 (L1 ) 1 (L2 ).
This is because, adding more strings to a set does not decrease the size of its pre-image.
Hence, we can never have 1 (L1 ) 1 (L2 ) for L1 L2 . Hence the observation follows.
Lemma 17. For A, B , 1 (A) 1 (B) = 1 (A B)
Proof. For all x ,
x 1 (A) 1 (B)
x {y | (y) A} {y | (y) B}
x {y | (y) A but (y) 6 B}
x {y | (y) A B}
x 1 (A B)

18-19-8

To prove A is productive, we need to come up with a total 0 such that i ,


Wi A 0 (i) A Wi
Intuition: Assume that Wi A. We have to use the fact that K is productive. In order
to arrive at the function 0 , let us consider what is 1 (A). It is easy to observe that, by
the property of the reduction, it is exactly K. For the same reason, 1 (A) = K. We have
a Wi which is contained in A. In order to use the production function for K, a natural
attempt is to construct a set W(i) such that5 1 (Wi ) = W(i) and W(i) K. If this is
done, then notice that (i) is precisely the element in K W(i) (since K has identity as
the production function.). Thus, applied to the LHS and RHS gives us - ((i)) is an
element in (K) (W(i) ) = A Wi .
Now we will make this intutition formal. Define 0 as follows.
Definition 18. 0 = where,6
(i) = Code of the Turing machine Mi composed with the machine computing .
As a Turing machine description,
M(i) = On input x
1. Compute (x).
2. Run Mi on (x) and accept if Mi accepts.
is the map due to which K m A.
Observe that given an i , can be computed by a total Turing machine. Since is
also total, 0 is also total.
Claim 19. 0 = is the production function for which A satisfies for all i ,
Wi A 0 (i) A Wi
Proof. It suffices to argue that for any i
(i) 1 (A Wi )
Now,
W(i) = {y | M(i) halts on y}
= {y | Mi halts on (y)}

[By construction of M(i) ]

= {y | (y) Wi }

[By definition of Wi ]

= 1 (Wi )

[By definition 15]

the task is to obtain (i) from i, or in other words, the task is to design the function . The idea is
simple, (i) is simply the code of the Turing machine which on input x applies first and runs the machine
Mi on input (x).
6
For any x , 0 (x) = ((x))

18-19-9

Observation 20. Wi A 1 (Wi ) 1 (A). This holds since 1 is monotone


(observation 16).
But 1 (A) = K and 1 (Wi ) = W(i) . Hence, W(i) K. Let j = (i). Now Wj K and
since K is productive with identity function (x) = x (via claim 13),
(j) K Wj
j K Wj

[Since is identity map]

(i) K W(i)
(i)

(A)

[Since j = (i)]
1

(i) 1 (A Wi )

(Wi )

[Since 1 (A) = K, 1 (Wi ) = W(i) ]


[By lemma 17]

Hence 0 (i) = (i) A Wi which completes the proof.

18-19-10

You might also like