-1

enter image description here

Acoordind to paragraph shown, how decider D uses H as a subroutine and how it is behaving the opposite ?

It would be very useful if someone clarify this ?

Garrick
  • 677
  • 4
  • 15
  • 34
  • _In an abstract way._ Because TM is an abstract concept. It's not that it is a strictly defined programming language or something. This statement only says that D can do the same as H, and that it reverts the output. The actual notion of that depends on your preffered notion of TM, and what H does. – Gasper Oct 04 '16 at 18:31
  • so, output can even be same ? – Garrick Oct 04 '16 at 18:36
  • No, of course not, it's opposite _by definition_. – Gasper Oct 04 '16 at 18:40
  • This is actually the thing which confuses me . Can you please elaborate, if possible ? – Garrick Oct 04 '16 at 18:42
  • Careful! Rejecting does not only mean stopping in non-accepting state but also running forever. For these non-ending computations the machine D should accept because H rejects. However, the subroutine H will not stop, thus D will not stop and be considered to reject. Thus the machine D cannot actually exist/work. This would work only for recursive languages, not for all recursively enumerable ones. – Peter Leupold Oct 06 '16 at 05:05

1 Answers1

1

Turing machine is said to accept the input, if it ends in the accepting state(s) given that input. It rejects, if it ends in any other state.

So, if we have a machine H that takes input <M, <M>>, we then can enhance it, by adding new starting point, taking as input <M>, constructing <M, <M>> and then feeding this to the rest of the H. This new machine H* will be same as H, but with different input. If we now switch accepting and rejecting states we will have machine, that takes as input <M> and returns result opposite to H, which coinsidentally is D.

Gasper
  • 2,752
  • 1
  • 12
  • 16