En matemáticas , lógica e informática , un lenguaje formal se llama recursivamente enumerable (también reconocible , parcialmente decidible , semidecidible , Turing-aceptable o Turing-reconocible ) si es un subconjunto recursivamente enumerable en el conjunto de todas las palabras posibles sobre el alfabeto de el idioma, es decir, si existe una máquina de Turing que enumere todas las cadenas válidas del idioma.
Los lenguajes recursivamente enumerables se conocen como lenguajes de tipo 0 en la jerarquía de lenguajes formales de Chomsky. Todos los lenguajes regulares , libres de contexto , sensibles al contexto y recursivos son recursivamente enumerables.
La clase de todos los lenguajes enumerables recursivamente se llama RE .
Hay tres definiciones equivalentes de un lenguaje recursivamente enumerable:
Todos los lenguajes regulares , libres de contexto , sensibles al contexto y recursivos son recursivamente enumerables.
El teorema de Post muestra que RE , junto con su complemento co-RE , corresponden al primer nivel de la jerarquía aritmética .
El conjunto de máquinas de Turing que se detienen es recursivamente enumerable pero no recursiva. De hecho, uno puede ejecutar la máquina de Turing y aceptar si la máquina se detiene, por lo que es recursivamente enumerable. Por otra parte, el problema es indecidible.
Algunos otros lenguajes recursivamente enumerables que no son recursivos incluyen:
Los lenguajes recursivamente enumerables (REL) se cierran mediante las siguientes operaciones. Es decir, si L y P son dos lenguajes recursivamente enumerables, entonces los siguientes lenguajes también son recursivamente enumerables:
Los lenguajes enumerables recursivamente no están cerrados bajo diferencia o complementación establecida . La diferencia establecida es recursivamente enumerable si es recursiva. Si es recursivamente enumerable, entonces el complemento de es recursivamente enumerable si y sólo si también es recursivo.