Recursive language
From Wikipedia, the free encyclopedia
A recursive language in mathematics, logic and computer science, is a type of formal language which is also called recursive, decidable or Turing-decidable. The class of all recursive languages is often called R, although this name is also used for the class RP.
This type of language was not defined in the Chomsky hierarchy of (Chomsky 1959).
Contents |
[edit] Definitions
There are two equivalent major definitions for the concept of a recursive language:
- A recursive formal language is a recursive subset in the set of all possible words over the alphabet of the language.
- A recursive language is a formal language for which there exists a Turing machine which will, when presented with any input string, halt and accept if the string is in the language, and halt and reject otherwise. The Turing machine always halts; it is known as a decider and is said to decide the recursive language.
All recursive languages are also recursively enumerable. All regular, context-free and context-sensitive languages are recursive.
[edit] Closure Properties
Recursive languages are closed under the following operations. That is, if L and P are two recursive languages, then the following languages are recursive as well:
- the Kleene star L * of L
- the non-erasing homomorphism φ(L) of L
- the concatenation of L and P
- the union
- the intersection
- the complement of L
- the set difference L − P
The last property follows from the fact that the set difference can be expressed in terms of intersection and complement.
[edit] References
- Michael Sipser (1997). “Decidability”, Introduction to the Theory of Computation. PWS Publishing, 151–170. ISBN 0-534-94728-X.
- Chomsky, Noam (1959). "On certain formal properties of grammars". Information and Control 2 (2): 137–167.
[edit] See also
[edit] External links
Automata theory: formal languages and formal grammars | |||
---|---|---|---|
Chomsky hierarchy |
Grammars | Languages | Minimal automaton |
Type-0 | Unrestricted | Recursively enumerable | Turing machine |
n/a | (no common name) | Recursive | Decider |
Type-1 | Context-sensitive | Context-sensitive | Linear-bounded |
Type-2 | Context-free | Context-free | Pushdown |
Type-3 | Regular | Regular | Finite |
Each category of languages or grammars is a proper subset of the category directly above it. |