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`: