edited by
829 views
2 votes
2 votes

I was Studying About Undecidability on GateCSE. I am facing a doubt that :

  1. L = {<M> | M accepts "1"}
     L is set of String & each String is an Encoding of TM & TM accepts 1
  2. L = {<M> | L(M) = {1}}
    Given a Input Program we have to see it  Accepts 1 & nothing Else.

    What Does this Input Program is ? 
    What does Language here specifically  means (Does it mean the language accepted by that particular selected encoding ?)
    What really is difference between both of them ?
    Can you definition of 2 in words like  " L is set of String ............"

     
edited by

2 Answers

Best answer
1 votes
1 votes

Any Language L is a set of strings inside that language.

L = {<M> | M accepts "1"} 

L is a language which contains TMs as its members such that  <M> is valid encoding of a Turing Machine and the Turing Machine M accepts "1". this language L is RE but not recursive. 

we can prove L is not recursive using Rice's theorem part-1.. L is recursively enumerable is intuitive as we can simply give M the input 1, and see if it is accepted. 

L = {<M> | L(M) = {1}} 

 <M> is valid encoding of a Turing Machine M, and it accepts only 1 as input.

this is not RE, we can prove it using Rice's theorem part-2,

Tyes is a TM which accepts a single string 1   and Tno TM which accepts two strings 1 and 2, so,. it's a non trivial property, so this is not recursive. Lets check if it is RE.

Tyes is subset of Tno, hence this property is a non-monotonic property and as per Rice's theorem part 2, it is NOT RE.

We can tell this using common sense also, suppose there is a TM M and it accepted 1 as string, but before we add it to our language L as member, we have to make sure that it doesn't accept any other strings, but we can't guarantee this as UTM will keep on running before it concludes that it accepts only one string. So it is NOT RE language

selected by

Related questions

0 votes
0 votes
0 answers
4