I am a bit confused with the difference between regular and context free languages. A recursive language is a language, for which there exits a TM which always halts. I am facing problem in proving the above statement.
Asked
Active
Viewed 2,335 times
-1

Mukesh Gautam
- 11
- 1
-
Welcome to StackOverflow. Please read and follow the posting guidelines in the help documentation. [on topic](http://stackoverflow.com/help/on-topic) and [how to ask](http://stackoverflow.com/help/how-to-ask) apply here. StackOverflow is not a design, coding, research, or tutorial service. – Prune May 30 '17 at 20:26
-
I'm voting to close this question as off-topic because it's about pure CS theory and therefore a better fit at cs.stackexchange.com. – templatetypedef May 31 '17 at 20:06
1 Answers
0
Regular languages are accepted by finite automata, which have no usable memory. Context-free languages are accepted by pushdown automata, which have a single stack (supporting push/pop) for memory. A recursive language is one that can be decided by a Turing machine, which has a (potentially) infinite tape for memory. Regular languages are recursive because you can make a TM equivalent to a FA by not using the tape. Context free languages are recursive because you can make a TP equivalent to a PDA by using the tape as a stack: only reading and writing to the last non-blank symbol. This lacks details but can be made into a rigorous proof of the claims you are asking be proven.

Patrick87
- 27,682
- 3
- 38
- 73