![Recursively enumerable language](https://www.english.nina.az/image-resize/1600/900/web/wikipedia.jpg)
This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations.(December 2024) |
In mathematics, logic and computer science, a formal language is called recursively enumerable (also recognizable, partially decidable, semidecidable, Turing-acceptable or Turing-recognizable) if it is a recursively enumerable subset in the set of all possible words over the alphabet of the language, i.e., if there exists a Turing machine which will enumerate all valid strings of the language.
Recursively enumerable languages are known as type-0 languages in the Chomsky hierarchy of formal languages. All regular, context-free, context-sensitive and recursive languages are recursively enumerable.
The class of all recursively enumerable languages is called RE.
Definitions
There are three equivalent definitions of a recursively enumerable language:
- A recursively enumerable language is a recursively enumerable subset in the set of all possible words over the alphabet of the language.
- A recursively enumerable language is a formal language for which there exists a Turing machine (or other computable function) which will enumerate all valid strings of the language. Note that if the language is infinite, the enumerating algorithm provided can be chosen so that it avoids repetitions, since we can test whether the string produced for number n is "already" produced for a number which is less than n. If it already is produced, use the output for input n+1 instead (recursively), but again, test whether it is "new".
- A recursively enumerable language is a formal language for which there exists a Turing machine (or other computable function) that will halt and accept when presented with any string in the language as input but may either halt and reject or loop forever when presented with a string not in the language. Contrast this to recursive languages, which require that the Turing machine halts in all cases.
All regular, context-free, context-sensitive and recursive languages are recursively enumerable.
Post's theorem shows that RE, together with its complement co-RE, correspond to the first level of the arithmetical hierarchy.
Example
The set of halting Turing machines is recursively enumerable but not recursive. Indeed, one can run the Turing machine and accept if the machine halts, hence it is recursively enumerable. On the other hand, the problem is undecidable.
Some other recursively enumerable languages that are not recursive include:
- Post correspondence problem
- Mortality (computability theory)
- Entscheidungsproblem
Closure properties
Recursively enumerable languages (REL) are closed under the following operations. That is, if L and P are two recursively enumerable languages, then the following languages are recursively enumerable as well:
- the Kleene star
of L
- the concatenation
of L and P
- the union
- the intersection
.
Recursively enumerable languages are not closed under set difference or complementation. The set difference is recursively enumerable if
is recursive. If
is recursively enumerable, then the complement of
is recursively enumerable if and only if
is also recursive.
See also
- Computably enumerable set
- Recursion
Sources
- Sipser, Michael (1997). Introduction to the Theory of Computation (1st ed.). PWS Publishing. ISBN 978-0-534-94728-6. (accessible to patrons with print disabilities)
- Kozen, D.C. (1997), Automata and Computability, Springer.
External links
- Complexity Zoo: Class RE
- Lecture slides
This article includes a list of references related reading or external links but its sources remain unclear because it lacks inline citations Please help improve this article by introducing more precise citations December 2024 Learn how and when to remove this message In mathematics logic and computer science a formal language is called recursively enumerable also recognizable partially decidable semidecidable Turing acceptable or Turing recognizable if it is a recursively enumerable subset in the set of all possible words over the alphabet of the language i e if there exists a Turing machine which will enumerate all valid strings of the language Recursively enumerable languages are known as type 0 languages in the Chomsky hierarchy of formal languages All regular context free context sensitive and recursive languages are recursively enumerable The class of all recursively enumerable languages is called RE DefinitionsThere are three equivalent definitions of a recursively enumerable language A recursively enumerable language is a recursively enumerable subset in the set of all possible words over the alphabet of the language A recursively enumerable language is a formal language for which there exists a Turing machine or other computable function which will enumerate all valid strings of the language Note that if the language is infinite the enumerating algorithm provided can be chosen so that it avoids repetitions since we can test whether the string produced for number n is already produced for a number which is less than n If it already is produced use the output for input n 1 instead recursively but again test whether it is new A recursively enumerable language is a formal language for which there exists a Turing machine or other computable function that will halt and accept when presented with any string in the language as input but may either halt and reject or loop forever when presented with a string not in the language Contrast this to recursive languages which require that the Turing machine halts in all cases All regular context free context sensitive and recursive languages are recursively enumerable Post s theorem shows that RE together with its complement co RE correspond to the first level of the arithmetical hierarchy ExampleThe set of halting Turing machines is recursively enumerable but not recursive Indeed one can run the Turing machine and accept if the machine halts hence it is recursively enumerable On the other hand the problem is undecidable Some other recursively enumerable languages that are not recursive include Post correspondence problem Mortality computability theory EntscheidungsproblemClosure propertiesRecursively enumerable languages REL are closed under the following operations That is if L and P are two recursively enumerable languages then the following languages are recursively enumerable as well the Kleene star L displaystyle L of L the concatenation L P displaystyle L circ P of L and P the union L P displaystyle L cup P the intersection L P displaystyle L cap P Recursively enumerable languages are not closed under set difference or complementation The set difference L P displaystyle L P is recursively enumerable if P displaystyle P is recursive If L displaystyle L is recursively enumerable then the complement of L displaystyle L is recursively enumerable if and only if L displaystyle L is also recursive See alsoComputably enumerable set RecursionSourcesSipser Michael 1997 Introduction to the Theory of Computation 1st ed PWS Publishing ISBN 978 0 534 94728 6 accessible to patrons with print disabilities Kozen D C 1997 Automata and Computability Springer External linksComplexity Zoo Class RE Lecture slides