PCP, Rice's Theorem




CS154

Chris Pollett

May 6, 2020

Outline

Post Correspondence Problem

In-Class Exercise

Undecidability of PCP.

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

  1. We assume `M` on input `w` never tries to move left off the tape.
  2. If `w = epsilon`, we use the string `square` in place of `w` in the construction.
  3. We modify `PCP` to require that a match starts with the first domino.

More Undecidability of 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}}## |#]`

Examples of these Dominos

Eliminating the First Domino Condition

End of the PCP reduction

PCP Remarks

Rice's Theorem

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

  1. Use `M` and `w` to construct the following TM `M_w` :
    `M_w =` "On input `x`:
    1. Simulate `M` on `w`. If it halts and reject, reject. If it accepts, proceed to Stage 2.
    2. Simulate `T` on `x`. If it accepts, accept."
  2. Use TM `R` to determine whether `langle M_w rangle in P`. If yes, accept. If no, reject."

Example Use of Rice's Theorem

Rice's Theorem Remarks