HO#54
Slides--More on Mapping Reductions
May 24, 2010
1
Mapping Reducibility
Language A is mapping reducible to language B, which is
written A
M
B, if there is a computable function
f:
*
*
where for every w,
w
A
f(w)
B.
The function f is called the
reduction
of A to B.
AB
f
To test whether
w
A, we use the
reduction f and test
whether f(w)
B.
Mapping Reducibility
Language A is mapping reducible to language B, which is
written A
M
B, if there is a computable function
f:
*
*
where for every w,
w
A
f(w)
B.
w
A
f(w)
B
f(w)
B
w
A
f(w)
B
w
A
w
A
f(w)
B
To test whether w
A, we use the
reduction f and test whether f(w)
B.
Note that A
M
B
A
M
B
Mapping Reducibility
Theorem 5.22:
If A
M
B and B is decidable, then A is decidable.
Corollary 5.23:
If A
M
B and A is undecidable, then B is undecidable.
B decidable means we
can always tell whether
f(w)
B.
That means we can tell
whether w
A, i.e.,
we can decide A.
AB
f
f
Proving Theorems Using Mapping Reductions
maps to
solves
A
B
Solvable(B)
Solvable(A)
¬ Solvable(A)
¬ Solvable(B)
Map the
problem to
B
Problem
for A
Solver
for
B
Accept
Solver for A
Problem
for B
Reject
Proving Theorems Using Mapping Reductions
maps to
solves
A
B
¬Dec
idab
le(A
TM
)
¬ Decidable(HALT
TM
)
f
M, w
Decider
for
HALT
TM
Accept
Decider for A
TM
M', w'
Reject
Proving Theorems Using Mapping Reductions
To show that
A
TM
M
HALT
TM
we need a function f such that
M, w
A
TM
if and only if
M', w'
HALT
TM
where f(
M, w
) =
M', w'
.
f
uses
M, w
to build M' and w' as follows:
M' : On input x, run M on x.
If M accepts, then M' accepts.
If M rejects, then M' enters a loop.
(and if M loops, M' loops)
w' = w
For improper inputs, f
outputs
M', w'
HALT
TM
.
So if M accepts w, M' halts, and