I am having problems knowing how to prove a language is recursive or not. Is there a particular general strategy is used for such a problem, or possibly some principle which is often used?

Thanks very much in advance.

  • $\begingroup$ Intuition? :p In general if the language is s.t. you "see" that by enumerating the string you will eventually find all of those that belong to the language then you may try to prove that it is r.e.. If you can do the same with the string that are not in the language then you may guess it is co-r.e., and if it's both then it is recursive. Try to reason on the way you would try to recognize a string in that language. You sometimes just recognize similarities with some other language you already studied, so you may try to connect the two things (and prove something by reduction). $\endgroup$ – Manlio Sep 7 '16 at 3:54
  • $\begingroup$ Really, there isn't a way to prove (directly) that a language is RE. Show that the language is in some category below RE and walk upwards. Ok so if it's not regular than its context free. If it's not context free... Etc... Then you'll get to recursive and either have an answer or not an answer. $\endgroup$ – alvonellos Sep 7 '16 at 4:38
  • $\begingroup$ These are creative proofs at hear. So no, there is no "general technique". There are techniques that often help, though. And experience, that helps too. $\endgroup$ – Raphael Sep 7 '16 at 9:26
  • $\begingroup$ @alvonellos "Really, there isn't a way to prove (directly) that a language is RE" -- now that's just plain wrong. You can give a semi-decider for the language. $\endgroup$ – Raphael Sep 7 '16 at 9:26
  • 1
    $\begingroup$ Since when? I was taught that you had to do a PL proof for each one... $\endgroup$ – alvonellos Sep 7 '16 at 11:52

To prove a language is recursive (decidable), use the definition! Show that there exists a Turing machine that always halts and decides the language. Or, use closure properties.

To prove a language is not recursive (not decidable), use a reduction, or use closure properties, or use Rice's theorem. See our reference questions, How to show that a function is not computable? and What are common techniques for reducing problems to each other?.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.