1

I am trying to prove that the language L = {w ∈ {0, 1} ∗ | Mw(x) ↓ for an input x} is partially decidable but not decidable. Mw is an encoding of M, thus the language L is such that all encodings of machine M halt on some input x.

I have two ideas:

  1. reduce this to the halting problem using some decider TM
  2. use Post's Theorem and somehow prove that the complement of L is undecidable but L is partially decidable

However, I'm having trouble deciding which of these two would actually be correct and how to write it with correct notation. Can anyone offer some hints?

Ponsietta
  • 315
  • 6
  • 17
  • I am not sure, but maybe you could find https://cs.stackexchange.com to be a better venue for this question? – lukeg Oct 30 '18 at 21:09
  • @lukeg I agree, but unfortunately no one replied there – Ponsietta Oct 30 '18 at 21:55
  • Found your post over on cs.stackexchange.com... You asked it only 9 minutes ago... Give it some time man. – Ryan Pierce Williams Oct 30 '18 at 22:07
  • 1
    @RyanPierceWilliams I added it and deleted it there before I posted here haha it's a repost – Ponsietta Oct 30 '18 at 22:09
  • 1
    lolz, kk :P You'll definitely have more luck over there though. I'd have to go review language theory before attempting to answer this myself - been too long. – Ryan Pierce Williams Oct 30 '18 at 22:17
  • Is L the language of all encodings of Turing machines that halt on some input? That's how I am parsing the notation but not what you seem to say in your description. I'll tentatively answer assuming the answer is yes. – Patrick87 Oct 31 '18 at 18:42

1 Answers1

0

This answer assumes that L is the language of all representations of Turing machines which halt on some input.

First, this language must be semi-decidable, or recursively enumerable, because we can enumerate Turing-machine encodings that halt on some input. To accomplish this, begin enumerating all binary strings. At each stage, begin a new TM which begins simulating execution of the machine encoded by the string just generated on all possible inputs. Continue on so that all possible TM encodings are being simulated on all possible inputs. Dovetail the executions of these machines so that each one gets its next time quantum within finite time so that every possible input is simulated on every possible TM in finite time. If any of the simulations ever halt, then we print out the encoding that halted on the input and we can stop simulating that encoding. This must eventually print out any encoding in the language, so the language is enumerated. This means we can answer the question, "is this TM in the language?" for any provided TM given that the answer is yes (since we will eventually encounter it).

Second, the language cannot be decidable, or recursive, because this gives us a clear method of deciding the halting problem: ask whether the TM in question in in the language, and get a yes or no answer back as to whether it halts on some input. We can always modify the TM of interest so that it can only possibly halt on whatever input is of interest and then feed it into our decider if we have a specific input in mind.

Third, these facts imply that the language is not co-recursively enumerable, since its being both recursively enumerable and co-recursively enumerable would imply it is recursive, which is not the case.

Patrick87
  • 27,682
  • 3
  • 38
  • 73