CS154
Chris Pollett
May 6, 2020
Theorem (Post 1946). PCP is undecidable.
Proof. We show via computation histories that if PCP is decidable so is A_{TM}, thus giving a contradiction. Given an input langle M, w rangle for A_{TM} we will construct an instance of PCP which will have a match iff M accepts w. Further, the string of the match which be an accepting computation history of M on w. To simplify our problem we will consider the following modifications to A_{TM} and PCP:
Call the instance of PCP that we are building P.
1. Put [#| #q_0 w_1 ldots w_n #] as the first domino of the PCP instance. Playing this domino first will force the string to look like an initial configuration of M on w.
Next we add dominos to handle the part of the configuration where that the TM might change.
2. For every a, b in the tape alphabet, and every states q, r of M where q ne q_{mbox{reject}}, if delta(q, a) = (r, b, R), we put [qa | br] into P.
3. For every a, b, c in the tape alphabet and every states q, r in M where q ne q_{mbox{reject}}, if delta(q, a) = (r, b, L), we put [cqa | rcb] into P.
Next we add dominos to copy the unchanged parts of configurations and to copy the end of configuration markers
4. For every a in the tape alphabet, we put [a | a] into P.
5. Put [#|#] and [#|square #] into P. (The second is to simulate the case where the size of a configuration grows).
Lastly, we add dominos so that once we get to an accept state, we have a sequence of configurations with an ever smaller number of squares so we can catch up the top row with the bottom row:
6. For every tape symbol a we have dominos [aq_{mbox{accept}} | q_{mbox{accept}} ] and [q_{mbox{accept}}a | q_{mbox{accept}} ] and to complete the match we have [q_{mbox{accept}}## |#]
Rice's theorem (Transactions AMS, 1953) shows that almost any problem one could come up with connected to Turing Machines is undecidable.
Theorem. Let P be a language such that there exists TM descriptions langle M rangle in P and langle M' rangle !in P. Further assume that whenever we have two machines M_1 and M_2 such that L(M_1) = L(M_2), then we have langle M_1 rangle in P iff langle M_2 rangle in P. Then P is undecidable.
Proof. Suppose we had a decider R for P. We show how to use R to build a decider for A_{TM}. Let T_{emptyset} be a TM which always rejects, so L(T_{emptyset}) = emptyset. We may assume T_{emptyset} !in P; otherwise, we carry out our argument using bar P. Because P is not trivial there exists a TM T with T in P. Using this machine consider the following decider S for A_{TM}:
S = "On input langle M, w rangle: