En matemáticas , lógica y ciencias de la computación , 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 del lenguaje, es decir, si existe una máquina de Turing que enumerará todas las cadenas válidas del lenguaje.
Los lenguajes enumerables recursivamente se conocen como lenguajes de tipo 0 en la jerarquía de lenguajes formales de Chomsky. Todos los lenguajes regulares , independientes del contexto , sensibles al contexto y recursivos son enumerables recursivamente.
La clase de todos los lenguajes enumerables recursivamente se llama RE .
Hay tres definiciones equivalentes de un lenguaje enumerable recursivamente:
Todos los lenguajes regulares , libres de contexto , sensibles al contexto y recursivos son enumerables recursivamente.
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, se puede ejecutar la máquina de Turing y aceptar que la máquina se detenga, por lo que es recursivamente enumerable. Por otra parte, el problema es indecidible.
Algunos otros lenguajes enumerables recursivamente que no son recursivos incluyen:
Los lenguajes enumerables recursivamente (REL) se cierran con las siguientes operaciones. Es decir, si L y P son dos lenguajes enumerables recursivamente, entonces los siguientes lenguajes también son enumerables recursivamente:
Los lenguajes recursivamente enumerables no están cerrados bajo la diferencia de conjuntos o la complementación. La diferencia de conjuntos es recursivamente enumerable si es recursiva. Si es recursivamente enumerable, entonces el complemento de es recursivamente enumerable si y solo si también es recursivo.