# Chapter 5: Reducibility

## For Your Enjoyment

## Chapter 5.1, Undecidable Problems from Language Theory

### What is a Reduction?

- A
**reduction** is a way of converting problem A to problem B
in such a way that problem B can be used to solve problem A.
- Could problem A be easier than problem B?
- Could problem A have the same difficulty as problem B?
- Could problem A be more difficult than problem B?
- The previous chapter proved that A
_{TM} =
{ <M, w> | M is a TM and M accepts w} is undecidable.
- A problem can be shown to be undecidable
by reducing a known undecidable problem to it.
- (Also, a problem can be shown to be decidable by
reducing it to a known decidable problem.)

### The Halting Problem is Undecidable

- HALT
_{TM} = { <M, w> | M is a TM and M halts on input w}.
- Proof by Contradiction: Assume HALT
_{TM} is decidable.
If this assumption tells us that A_{TM} is decidable,
we have a contradiction and we would then know that
HALT_{TM} is undecidable.
- If HALT
_{TM} is decidable, we can build TM R that
decides HALT_{TM}.
- How does this help us know if TM S that takes input <M, w>,
an encoding of TM M and string w, will accept or reject?

### E_{TM} is Undecidable

- E
_{TM} = {<M> | M is a TM and L(M) = empty}.
- Assume TM R can decide E
_{TM}.
- The string that encodes the problem, S = <M, w>
- Construct M
_{1} such that it rejects all inputs except for w.
- Where does the argument go from here?

### EQ_{TM} is Undecidable

- EQ
_{TM} = {<M_{1}, M_{2}> | M_{1}
and M_{2} are TMs and L(M_{1}) = L(M_{2})}.
- Assume TM R can decide EQ
_{TM}.
- The string that encodes the problem is S = <M>
- Construct M
_{1} to reject all inputs.
- Run R on <M, M
_{1}>. If R accepts, M is empty.
If R rejects, M is not empty.

### REGULAR_{TM} is Undecidable

- REGULAR
_{TM} = {<M> | M is a TM and L(M) is a regular language}.
- The proof appears on page 219.