CS 381 Homework #13 Problem 1
Question 9.3.7
Since we are trying to prove the following to be non-RE, we reduce a known problem which is non-
RE to the given problems.
a)
http://www-db.stanford.edu/~ullman/ialcsols/sol9.html#sol93
We reduce the complement of
L
u
to this problem, which is the complement of the halting problem
for Turing Machines. The crux of the argument is that we can convert any TM
M
into another TM
M'
, such that
M'
halts on input
w
if and only if
M
accepts
w
. The construction of
M'
from
M
is as
follows:
1.
Make sure that
M'
does not halt unless
M
accepts. Thus, add to the states of
M
a new state
p
,
in which
M'
runs right, forever; i.e.,
(p,X) = (p,X,R)
for all tape symbols
X
. If
M
would halt
without accepting, say
(q,Y)
is undefined for some nonaccepting state
q
, then in
M'
, make
(q,Y) = (p,Y,R)
; i.e., enter the right-moving state and make sure
M'
does not halt.
2.
If
M
accepts, then
M'
must halt. Thus, if
q
is an accepting state of
M
, then in
M'
,
(q,X)
is
made undefined for all tape symbols
X
.
3.
Otherwise, the moves of
M'
are the same as those of
M
.
The above construction reduces the complement of
L
u
to the complement of the halting problem.
That is, if
M
accepts
w
, then
M'
halts on
w
, and if not, then not. Since the complement of
L
u
is non-
RE, so is the complement of the halting problem.
b)
Solution is similar in spirit to 9.3.4(d), proving
L(M)
=
L(M)
R
is non-RE
We reduce the problem
L
e
(does a TM accept the empty language?) to the problem
L(M
1
)
L(M
2
)
=
0. Given any TM
M
, we convert it into 2 other TMs
M
1
M
2
(with
M
1
being nondeterministic),
such that
L(M
1
)
L(M
2
)
= 0 if and only if
M
accepts the empty language. If
M
accepts the empty
language, we make
M
1
M
2
accept the empty language as well (giving
L(M
1
)
L(M
2
)
= 0). Else if
L(M)
±
0, then we make