0

I am trying to understand why this "proof" of Etm undecidability is wrong.

ALLtm={ < M >|M is a TM, L(M)=∑*}

ETM={< M >|M is a TM, L(M)=∅}

We know that ALLTM is undecidable, lets assume ETM is decidable (T is a TM that decides ETM) and get a contradiction.

 S= "On input < M >, M is a TM:

    1.Construct the following TM M1,

      M1=" On input x:

         1.Run M on x, if M accepts x, reject. otherwise, accept x."

    2.Run T on input < M1 >.

    3.If T accepts, accept, if T rejects, reject.

Why this reduction doesn't prove that Etm is undecidable?

(If w∈L(M) M1 rejects it, so if L(M)=∑*, L(M1)=∅.

If w∉L(M) (M doesn't stop on w or rejects) M1 accepts w, so if L(M)≠∑*, L(M1)≠∅).

Dan
  • 43
  • 5
  • Possible problem: if M doesn't halt on x, then M1 won't halt, and it looks like ETM treats that situation as a rejection? Which means that ETM is deciding whether M1 halts, which is itself impossible, but your proof isn't accounting for that. – Welbog Nov 22 '20 at 16:46
  • If M doesn't halt on x, then M1 accepts (M1 is only a description, S doesn't actually run M1 so S can't get into a loop if M1 doesn't halt). T runs on , and T is a decider so its ok. (according to the assumption, in order to get a contradiction). – Dan Nov 22 '20 at 17:28
  • If M1 always halts, then it's not possible to construct M1 from M, because M isn't guaranteed to halt. – Welbog Nov 22 '20 at 20:55

0 Answers0