Search code examples
computation-theoryturing-machinescomputationtableofcontents

L = { <M> : TM does not accept any thing }


L = { <M> : TM does not accept any thing }      

We can feed strings to TM one by one as long as TM will accept. If there are no such strings , then this process will go infinite time so we can not decide. Hence Recursive Enumerable.

P = { <M> : TM accept atleast one string }         

We can say it is Semi decidable. We can feed strings to TM one by one as long as it will accept at least one string. But this process can go infinite time and no guarantee that TM will halt , hence Recursive Enumerable.
If above both logics are correct then how can L and P ( both are complement to each other) Recursive Enumerable at the same time.

If L and P are complement to each other and both are Recursive Enumerable then L must be Recursive. 

where am I wrong ??


Solution

  • Short answer: L isn't RE.

    For it to be RE, you have to be able to determine that a string/TM IS in the language in finite time. Your technique for determining that does not satisfy this requirement; it allows you determine that a string/TM is NOT in the language in finite time (by finding an input the TM will accept), but because a TM is not required to stop on a string that won't be accepted, it may never stop for ANY unaccepted string. Thus, it is co-RE, which is why its compliment is RE ("co"is short for "complementary").

    Note that it IS possible for a language and its complement to both be RE: that intersection would be a decidable language.