una jerarquía de lenguajes formales y autómatas i

135
Una Jerarqu´ ıa de Lenguajes Formales y Aut´ omatas I Jos´ e de Jes´ us Lavalle Mart´ ınez Benem´ erita Universidad Aut´onoma de Puebla Facultad de Ciencias de la Computaci´ on Lenguajes Formales y Aut´ omatas CCOS 014 Jos´ e de Jes´ us Lavalle Mart´ ınez (FCC-BUAP) Una Jerarqu´ ıa de Lenguajes Formales y Aut´omatas I 1 / 29

Upload: others

Post on 25-Apr-2022

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Una Jerarquía de Lenguajes Formales y Autómatas I

Una Jerarquıa deLenguajes Formales y

AutomatasI

Jose de Jesus Lavalle Martınez

Benemerita Universidad Autonoma de PueblaFacultad de Ciencias de la Computacion

Lenguajes Formales y Automatas CCOS 014

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 1 / 29

Page 2: Una Jerarquía de Lenguajes Formales y Autómatas I

Contenido

1 Motivacion

2 Lenguajes recursivos y recursivamente enumerables

3 Lenguajes que no son recursivamente enumerables

4 Un lenguaje que no es recursivamente enumerable

5 Un lenguaje que es recursivamente enumerable pero no es recursivo

6 Ejercicios

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 2 / 29

Page 3: Una Jerarquía de Lenguajes Formales y Autómatas I

Motivacion I

Volvamos ahora nuestra atencion a nuestro principal interes, elestudio de los lenguajes formales.

Nuestro objetivo inmediato sera examinar los lenguajes asociados conlas maquinas de Turing y algunas de sus restricciones.

Debido a que las maquinas de Turing pueden realizar cualquier tipode calculo algorıtmico, esperamos encontrar que la familia delenguajes asociados con ellas sea bastante amplia.

Incluye no solo lenguajes regulares y libres de contexto, sino tambienlos diversos ejemplos que hemos encontrado que se encuentran fuerade estas familias.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 3 / 29

Page 4: Una Jerarquía de Lenguajes Formales y Autómatas I

Motivacion I

Volvamos ahora nuestra atencion a nuestro principal interes, elestudio de los lenguajes formales.

Nuestro objetivo inmediato sera examinar los lenguajes asociados conlas maquinas de Turing y algunas de sus restricciones.

Debido a que las maquinas de Turing pueden realizar cualquier tipode calculo algorıtmico, esperamos encontrar que la familia delenguajes asociados con ellas sea bastante amplia.

Incluye no solo lenguajes regulares y libres de contexto, sino tambienlos diversos ejemplos que hemos encontrado que se encuentran fuerade estas familias.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 3 / 29

Page 5: Una Jerarquía de Lenguajes Formales y Autómatas I

Motivacion I

Volvamos ahora nuestra atencion a nuestro principal interes, elestudio de los lenguajes formales.

Nuestro objetivo inmediato sera examinar los lenguajes asociados conlas maquinas de Turing y algunas de sus restricciones.

Debido a que las maquinas de Turing pueden realizar cualquier tipode calculo algorıtmico, esperamos encontrar que la familia delenguajes asociados con ellas sea bastante amplia.

Incluye no solo lenguajes regulares y libres de contexto, sino tambienlos diversos ejemplos que hemos encontrado que se encuentran fuerade estas familias.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 3 / 29

Page 6: Una Jerarquía de Lenguajes Formales y Autómatas I

Motivacion I

Volvamos ahora nuestra atencion a nuestro principal interes, elestudio de los lenguajes formales.

Nuestro objetivo inmediato sera examinar los lenguajes asociados conlas maquinas de Turing y algunas de sus restricciones.

Debido a que las maquinas de Turing pueden realizar cualquier tipode calculo algorıtmico, esperamos encontrar que la familia delenguajes asociados con ellas sea bastante amplia.

Incluye no solo lenguajes regulares y libres de contexto, sino tambienlos diversos ejemplos que hemos encontrado que se encuentran fuerade estas familias.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 3 / 29

Page 7: Una Jerarquía de Lenguajes Formales y Autómatas I

Motivacion II

La pregunta no trivial es si hay algun lenguaje que no sea aceptadopor alguna maquina de Turing.

Primero responderemos a esta pregunta mostrando que hay maslenguajes que las maquinas de Turing, por lo que debe haber algunoslenguajes para los que no hay maquinas de Turing.

La demostracion es breve y elegante, pero no constructiva, y da pocainformacion sobre el problema.

Por esta razon, estableceremos la existencia de lenguajes noreconocibles por las maquinas de Turing a traves de ejemplos masexplıcitos que realmente nos permitan identificar uno de esoslenguajes.

Otra vıa de investigacion sera observar la relacion entre las maquinasde Turing y ciertos tipos de gramaticas y establecer una conexionentre estas gramaticas y las gramaticas regulares y libres de contexto.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 4 / 29

Page 8: Una Jerarquía de Lenguajes Formales y Autómatas I

Motivacion II

La pregunta no trivial es si hay algun lenguaje que no sea aceptadopor alguna maquina de Turing.

Primero responderemos a esta pregunta mostrando que hay maslenguajes que las maquinas de Turing, por lo que debe haber algunoslenguajes para los que no hay maquinas de Turing.

La demostracion es breve y elegante, pero no constructiva, y da pocainformacion sobre el problema.

Por esta razon, estableceremos la existencia de lenguajes noreconocibles por las maquinas de Turing a traves de ejemplos masexplıcitos que realmente nos permitan identificar uno de esoslenguajes.

Otra vıa de investigacion sera observar la relacion entre las maquinasde Turing y ciertos tipos de gramaticas y establecer una conexionentre estas gramaticas y las gramaticas regulares y libres de contexto.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 4 / 29

Page 9: Una Jerarquía de Lenguajes Formales y Autómatas I

Motivacion II

La pregunta no trivial es si hay algun lenguaje que no sea aceptadopor alguna maquina de Turing.

Primero responderemos a esta pregunta mostrando que hay maslenguajes que las maquinas de Turing, por lo que debe haber algunoslenguajes para los que no hay maquinas de Turing.

La demostracion es breve y elegante, pero no constructiva, y da pocainformacion sobre el problema.

Por esta razon, estableceremos la existencia de lenguajes noreconocibles por las maquinas de Turing a traves de ejemplos masexplıcitos que realmente nos permitan identificar uno de esoslenguajes.

Otra vıa de investigacion sera observar la relacion entre las maquinasde Turing y ciertos tipos de gramaticas y establecer una conexionentre estas gramaticas y las gramaticas regulares y libres de contexto.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 4 / 29

Page 10: Una Jerarquía de Lenguajes Formales y Autómatas I

Motivacion II

La pregunta no trivial es si hay algun lenguaje que no sea aceptadopor alguna maquina de Turing.

Primero responderemos a esta pregunta mostrando que hay maslenguajes que las maquinas de Turing, por lo que debe haber algunoslenguajes para los que no hay maquinas de Turing.

La demostracion es breve y elegante, pero no constructiva, y da pocainformacion sobre el problema.

Por esta razon, estableceremos la existencia de lenguajes noreconocibles por las maquinas de Turing a traves de ejemplos masexplıcitos que realmente nos permitan identificar uno de esoslenguajes.

Otra vıa de investigacion sera observar la relacion entre las maquinasde Turing y ciertos tipos de gramaticas y establecer una conexionentre estas gramaticas y las gramaticas regulares y libres de contexto.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 4 / 29

Page 11: Una Jerarquía de Lenguajes Formales y Autómatas I

Motivacion II

La pregunta no trivial es si hay algun lenguaje que no sea aceptadopor alguna maquina de Turing.

Primero responderemos a esta pregunta mostrando que hay maslenguajes que las maquinas de Turing, por lo que debe haber algunoslenguajes para los que no hay maquinas de Turing.

La demostracion es breve y elegante, pero no constructiva, y da pocainformacion sobre el problema.

Por esta razon, estableceremos la existencia de lenguajes noreconocibles por las maquinas de Turing a traves de ejemplos masexplıcitos que realmente nos permitan identificar uno de esoslenguajes.

Otra vıa de investigacion sera observar la relacion entre las maquinasde Turing y ciertos tipos de gramaticas y establecer una conexionentre estas gramaticas y las gramaticas regulares y libres de contexto.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 4 / 29

Page 12: Una Jerarquía de Lenguajes Formales y Autómatas I

Motivacion III

Esto conduce a una jerarquıa de gramaticas y, a traves de ella, a unmetodo para clasificar familias de lenguajes.

Algunos diagramas de teorıa de conjuntos ilustran claramente lasrelaciones entre varias familias de lenguas.

Estrictamente hablando, muchos de los argumentos de este capıtuloson validos solo para lenguajes que no incluyen la cadena vacıa.

Esta restriccion surge del hecho de que las maquinas de Turing, comolas hemos definido, no pueden aceptar la cadena vacıa.

Para evitar tener que reformular la definicion o tener que agregar undescargo de responsabilidad repetido, asumimos tacitamente que loslenguajes discutidos en este capıtulo, a menos que se indique locontrario, no contienen λ.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 5 / 29

Page 13: Una Jerarquía de Lenguajes Formales y Autómatas I

Motivacion III

Esto conduce a una jerarquıa de gramaticas y, a traves de ella, a unmetodo para clasificar familias de lenguajes.

Algunos diagramas de teorıa de conjuntos ilustran claramente lasrelaciones entre varias familias de lenguas.

Estrictamente hablando, muchos de los argumentos de este capıtuloson validos solo para lenguajes que no incluyen la cadena vacıa.

Esta restriccion surge del hecho de que las maquinas de Turing, comolas hemos definido, no pueden aceptar la cadena vacıa.

Para evitar tener que reformular la definicion o tener que agregar undescargo de responsabilidad repetido, asumimos tacitamente que loslenguajes discutidos en este capıtulo, a menos que se indique locontrario, no contienen λ.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 5 / 29

Page 14: Una Jerarquía de Lenguajes Formales y Autómatas I

Motivacion III

Esto conduce a una jerarquıa de gramaticas y, a traves de ella, a unmetodo para clasificar familias de lenguajes.

Algunos diagramas de teorıa de conjuntos ilustran claramente lasrelaciones entre varias familias de lenguas.

Estrictamente hablando, muchos de los argumentos de este capıtuloson validos solo para lenguajes que no incluyen la cadena vacıa.

Esta restriccion surge del hecho de que las maquinas de Turing, comolas hemos definido, no pueden aceptar la cadena vacıa.

Para evitar tener que reformular la definicion o tener que agregar undescargo de responsabilidad repetido, asumimos tacitamente que loslenguajes discutidos en este capıtulo, a menos que se indique locontrario, no contienen λ.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 5 / 29

Page 15: Una Jerarquía de Lenguajes Formales y Autómatas I

Motivacion III

Esto conduce a una jerarquıa de gramaticas y, a traves de ella, a unmetodo para clasificar familias de lenguajes.

Algunos diagramas de teorıa de conjuntos ilustran claramente lasrelaciones entre varias familias de lenguas.

Estrictamente hablando, muchos de los argumentos de este capıtuloson validos solo para lenguajes que no incluyen la cadena vacıa.

Esta restriccion surge del hecho de que las maquinas de Turing, comolas hemos definido, no pueden aceptar la cadena vacıa.

Para evitar tener que reformular la definicion o tener que agregar undescargo de responsabilidad repetido, asumimos tacitamente que loslenguajes discutidos en este capıtulo, a menos que se indique locontrario, no contienen λ.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 5 / 29

Page 16: Una Jerarquía de Lenguajes Formales y Autómatas I

Motivacion III

Esto conduce a una jerarquıa de gramaticas y, a traves de ella, a unmetodo para clasificar familias de lenguajes.

Algunos diagramas de teorıa de conjuntos ilustran claramente lasrelaciones entre varias familias de lenguas.

Estrictamente hablando, muchos de los argumentos de este capıtuloson validos solo para lenguajes que no incluyen la cadena vacıa.

Esta restriccion surge del hecho de que las maquinas de Turing, comolas hemos definido, no pueden aceptar la cadena vacıa.

Para evitar tener que reformular la definicion o tener que agregar undescargo de responsabilidad repetido, asumimos tacitamente que loslenguajes discutidos en este capıtulo, a menos que se indique locontrario, no contienen λ.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 5 / 29

Page 17: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables I

Comenzamos con algo de terminologıa para los lenguajes asociadoscon las maquinas de Turing.

Al hacerlo, debemos hacer la importante distincion entre lenguajespara los que existe una maquina de Turing de aceptacion y lenguajespara los que existe un algoritmo de pertenencia.

Debido a que una maquina de Turing no se detiene necesariamente enuna entrada que no acepta, la primera no implica la segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 6 / 29

Page 18: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables I

Comenzamos con algo de terminologıa para los lenguajes asociadoscon las maquinas de Turing.

Al hacerlo, debemos hacer la importante distincion entre lenguajespara los que existe una maquina de Turing de aceptacion y lenguajespara los que existe un algoritmo de pertenencia.

Debido a que una maquina de Turing no se detiene necesariamente enuna entrada que no acepta, la primera no implica la segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 6 / 29

Page 19: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables I

Comenzamos con algo de terminologıa para los lenguajes asociadoscon las maquinas de Turing.

Al hacerlo, debemos hacer la importante distincion entre lenguajespara los que existe una maquina de Turing de aceptacion y lenguajespara los que existe un algoritmo de pertenencia.

Debido a que una maquina de Turing no se detiene necesariamente enuna entrada que no acepta, la primera no implica la segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 6 / 29

Page 20: Una Jerarquía de Lenguajes Formales y Autómatas I

Definicion 1

Definicion 1

Se dice que un lenguaje L es recursivamente enumerable si existe unamaquina de Turing que lo acepta.

Esta definicion implica solo que existe una maquina de Turing M , talque, para cada w ∈ L,

q0w∗`M x1qfx2,

con qf un estado final.

La definicion no dice nada sobre lo que sucede para w 6∈ L; puede serque la maquina se detenga en un estado no final o que nunca sedetenga y entre en un bucle infinito.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 7 / 29

Page 21: Una Jerarquía de Lenguajes Formales y Autómatas I

Definicion 1

Definicion 1

Se dice que un lenguaje L es recursivamente enumerable si existe unamaquina de Turing que lo acepta.

Esta definicion implica solo que existe una maquina de Turing M , talque, para cada w ∈ L,

q0w∗`M x1qfx2,

con qf un estado final.

La definicion no dice nada sobre lo que sucede para w 6∈ L; puede serque la maquina se detenga en un estado no final o que nunca sedetenga y entre en un bucle infinito.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 7 / 29

Page 22: Una Jerarquía de Lenguajes Formales y Autómatas I

Definicion 1

Definicion 1

Se dice que un lenguaje L es recursivamente enumerable si existe unamaquina de Turing que lo acepta.

Esta definicion implica solo que existe una maquina de Turing M , talque, para cada w ∈ L,

q0w∗`M x1qfx2,

con qf un estado final.

La definicion no dice nada sobre lo que sucede para w 6∈ L; puede serque la maquina se detenga en un estado no final o que nunca sedetenga y entre en un bucle infinito.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 7 / 29

Page 23: Una Jerarquía de Lenguajes Formales y Autómatas I

Definicion 2

Podemos ser mas exigentes y pedir que la maquina nos diga si unaentrada determinada esta en su lenguaje o no.

Definicion 2

Se dice que un lenguaje L sobre Σ es recursivo si existe una maquina deTuring M que acepta L y que se detiene sobre cada w en Σ+. En otraspalabras, un lenguaje es recursivo si y solo si existe un algoritmo depertenencia para el.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 8 / 29

Page 24: Una Jerarquía de Lenguajes Formales y Autómatas I

Definicion 2

Podemos ser mas exigentes y pedir que la maquina nos diga si unaentrada determinada esta en su lenguaje o no.

Definicion 2

Se dice que un lenguaje L sobre Σ es recursivo si existe una maquina deTuring M que acepta L y que se detiene sobre cada w en Σ+. En otraspalabras, un lenguaje es recursivo si y solo si existe un algoritmo depertenencia para el.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 8 / 29

Page 25: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables II

Si un lenguaje es recursivo, existe un procedimiento de enumeracionfacil de construir.

Supongamos que M es una maquina de Turing que determina lapertenencia a un lenguaje recursivo L.

Primero construimos otra maquina de Turing, digamos M , que generatodas las cadenas en Σ+ en el orden correcto, digamos w1, w2, . . ..

Como estas cadenas se generan, se convierten en la entrada a M , quese modifica para que escriba cadenas en su cinta solo si estan en L.

No es tan facil de ver que existe tambien un procedimiento deenumeracion para cada lenguaje recursivamente enumerable.

No podemos usar el argumento anterior tal como esta, porque sialguna wj no esta en L, la maquina M , cuando se inicia con wj en sucinta, puede que nunca se detenga y, por lo tanto, nunca llegue a lascadenas de L que siguen a wj en la enumeracion.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 9 / 29

Page 26: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables II

Si un lenguaje es recursivo, existe un procedimiento de enumeracionfacil de construir.

Supongamos que M es una maquina de Turing que determina lapertenencia a un lenguaje recursivo L.

Primero construimos otra maquina de Turing, digamos M , que generatodas las cadenas en Σ+ en el orden correcto, digamos w1, w2, . . ..

Como estas cadenas se generan, se convierten en la entrada a M , quese modifica para que escriba cadenas en su cinta solo si estan en L.

No es tan facil de ver que existe tambien un procedimiento deenumeracion para cada lenguaje recursivamente enumerable.

No podemos usar el argumento anterior tal como esta, porque sialguna wj no esta en L, la maquina M , cuando se inicia con wj en sucinta, puede que nunca se detenga y, por lo tanto, nunca llegue a lascadenas de L que siguen a wj en la enumeracion.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 9 / 29

Page 27: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables II

Si un lenguaje es recursivo, existe un procedimiento de enumeracionfacil de construir.

Supongamos que M es una maquina de Turing que determina lapertenencia a un lenguaje recursivo L.

Primero construimos otra maquina de Turing, digamos M , que generatodas las cadenas en Σ+ en el orden correcto, digamos w1, w2, . . ..

Como estas cadenas se generan, se convierten en la entrada a M , quese modifica para que escriba cadenas en su cinta solo si estan en L.

No es tan facil de ver que existe tambien un procedimiento deenumeracion para cada lenguaje recursivamente enumerable.

No podemos usar el argumento anterior tal como esta, porque sialguna wj no esta en L, la maquina M , cuando se inicia con wj en sucinta, puede que nunca se detenga y, por lo tanto, nunca llegue a lascadenas de L que siguen a wj en la enumeracion.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 9 / 29

Page 28: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables II

Si un lenguaje es recursivo, existe un procedimiento de enumeracionfacil de construir.

Supongamos que M es una maquina de Turing que determina lapertenencia a un lenguaje recursivo L.

Primero construimos otra maquina de Turing, digamos M , que generatodas las cadenas en Σ+ en el orden correcto, digamos w1, w2, . . ..

Como estas cadenas se generan, se convierten en la entrada a M , quese modifica para que escriba cadenas en su cinta solo si estan en L.

No es tan facil de ver que existe tambien un procedimiento deenumeracion para cada lenguaje recursivamente enumerable.

No podemos usar el argumento anterior tal como esta, porque sialguna wj no esta en L, la maquina M , cuando se inicia con wj en sucinta, puede que nunca se detenga y, por lo tanto, nunca llegue a lascadenas de L que siguen a wj en la enumeracion.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 9 / 29

Page 29: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables II

Si un lenguaje es recursivo, existe un procedimiento de enumeracionfacil de construir.

Supongamos que M es una maquina de Turing que determina lapertenencia a un lenguaje recursivo L.

Primero construimos otra maquina de Turing, digamos M , que generatodas las cadenas en Σ+ en el orden correcto, digamos w1, w2, . . ..

Como estas cadenas se generan, se convierten en la entrada a M , quese modifica para que escriba cadenas en su cinta solo si estan en L.

No es tan facil de ver que existe tambien un procedimiento deenumeracion para cada lenguaje recursivamente enumerable.

No podemos usar el argumento anterior tal como esta, porque sialguna wj no esta en L, la maquina M , cuando se inicia con wj en sucinta, puede que nunca se detenga y, por lo tanto, nunca llegue a lascadenas de L que siguen a wj en la enumeracion.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 9 / 29

Page 30: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables II

Si un lenguaje es recursivo, existe un procedimiento de enumeracionfacil de construir.

Supongamos que M es una maquina de Turing que determina lapertenencia a un lenguaje recursivo L.

Primero construimos otra maquina de Turing, digamos M , que generatodas las cadenas en Σ+ en el orden correcto, digamos w1, w2, . . ..

Como estas cadenas se generan, se convierten en la entrada a M , quese modifica para que escriba cadenas en su cinta solo si estan en L.

No es tan facil de ver que existe tambien un procedimiento deenumeracion para cada lenguaje recursivamente enumerable.

No podemos usar el argumento anterior tal como esta, porque sialguna wj no esta en L, la maquina M , cuando se inicia con wj en sucinta, puede que nunca se detenga y, por lo tanto, nunca llegue a lascadenas de L que siguen a wj en la enumeracion.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 9 / 29

Page 31: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables III

Para asegurarse de que esto no suceda, el calculo se realiza de unamanera diferente.

Primero obtenemos M para generar w1 y dejamos que M ejecute unmovimiento en el.

Luego dejamos que M genere w2 y dejamos que M ejecute unmovimiento en w2, seguido del segundo movimiento en w1.

Despues de esto, generamos w3 y damos un paso en w3, el segundopaso en w2, el tercer paso en w1, y ası sucesivamente.

El orden de ejecucion se muestra en la Figura 1.

A partir de esto, esta claro que M nunca entrara en un bucle infinito.

Dado que cualquier w ∈ L es generado por M y aceptado por M enun numero finito de pasos, cada cadena en L es finalmente producidapor M .

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 10 / 29

Page 32: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables III

Para asegurarse de que esto no suceda, el calculo se realiza de unamanera diferente.

Primero obtenemos M para generar w1 y dejamos que M ejecute unmovimiento en el.

Luego dejamos que M genere w2 y dejamos que M ejecute unmovimiento en w2, seguido del segundo movimiento en w1.

Despues de esto, generamos w3 y damos un paso en w3, el segundopaso en w2, el tercer paso en w1, y ası sucesivamente.

El orden de ejecucion se muestra en la Figura 1.

A partir de esto, esta claro que M nunca entrara en un bucle infinito.

Dado que cualquier w ∈ L es generado por M y aceptado por M enun numero finito de pasos, cada cadena en L es finalmente producidapor M .

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 10 / 29

Page 33: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables III

Para asegurarse de que esto no suceda, el calculo se realiza de unamanera diferente.

Primero obtenemos M para generar w1 y dejamos que M ejecute unmovimiento en el.

Luego dejamos que M genere w2 y dejamos que M ejecute unmovimiento en w2, seguido del segundo movimiento en w1.

Despues de esto, generamos w3 y damos un paso en w3, el segundopaso en w2, el tercer paso en w1, y ası sucesivamente.

El orden de ejecucion se muestra en la Figura 1.

A partir de esto, esta claro que M nunca entrara en un bucle infinito.

Dado que cualquier w ∈ L es generado por M y aceptado por M enun numero finito de pasos, cada cadena en L es finalmente producidapor M .

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 10 / 29

Page 34: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables III

Para asegurarse de que esto no suceda, el calculo se realiza de unamanera diferente.

Primero obtenemos M para generar w1 y dejamos que M ejecute unmovimiento en el.

Luego dejamos que M genere w2 y dejamos que M ejecute unmovimiento en w2, seguido del segundo movimiento en w1.

Despues de esto, generamos w3 y damos un paso en w3, el segundopaso en w2, el tercer paso en w1, y ası sucesivamente.

El orden de ejecucion se muestra en la Figura 1.

A partir de esto, esta claro que M nunca entrara en un bucle infinito.

Dado que cualquier w ∈ L es generado por M y aceptado por M enun numero finito de pasos, cada cadena en L es finalmente producidapor M .

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 10 / 29

Page 35: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables III

Para asegurarse de que esto no suceda, el calculo se realiza de unamanera diferente.

Primero obtenemos M para generar w1 y dejamos que M ejecute unmovimiento en el.

Luego dejamos que M genere w2 y dejamos que M ejecute unmovimiento en w2, seguido del segundo movimiento en w1.

Despues de esto, generamos w3 y damos un paso en w3, el segundopaso en w2, el tercer paso en w1, y ası sucesivamente.

El orden de ejecucion se muestra en la Figura 1.

A partir de esto, esta claro que M nunca entrara en un bucle infinito.

Dado que cualquier w ∈ L es generado por M y aceptado por M enun numero finito de pasos, cada cadena en L es finalmente producidapor M .

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 10 / 29

Page 36: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables III

Para asegurarse de que esto no suceda, el calculo se realiza de unamanera diferente.

Primero obtenemos M para generar w1 y dejamos que M ejecute unmovimiento en el.

Luego dejamos que M genere w2 y dejamos que M ejecute unmovimiento en w2, seguido del segundo movimiento en w1.

Despues de esto, generamos w3 y damos un paso en w3, el segundopaso en w2, el tercer paso en w1, y ası sucesivamente.

El orden de ejecucion se muestra en la Figura 1.

A partir de esto, esta claro que M nunca entrara en un bucle infinito.

Dado que cualquier w ∈ L es generado por M y aceptado por M enun numero finito de pasos, cada cadena en L es finalmente producidapor M .

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 10 / 29

Page 37: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables III

Para asegurarse de que esto no suceda, el calculo se realiza de unamanera diferente.

Primero obtenemos M para generar w1 y dejamos que M ejecute unmovimiento en el.

Luego dejamos que M genere w2 y dejamos que M ejecute unmovimiento en w2, seguido del segundo movimiento en w1.

Despues de esto, generamos w3 y damos un paso en w3, el segundopaso en w2, el tercer paso en w1, y ası sucesivamente.

El orden de ejecucion se muestra en la Figura 1.

A partir de esto, esta claro que M nunca entrara en un bucle infinito.

Dado que cualquier w ∈ L es generado por M y aceptado por M enun numero finito de pasos, cada cadena en L es finalmente producidapor M .

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 10 / 29

Page 38: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables IV

Figure 1: Orden de ejecucion para enumerar un lenguaje recursivamenteenumerable.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 11 / 29

Page 39: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables V

Es facil ver que todos los lenguajes para los que existe unprocedimiento de enumeracion son enumerables de forma recursiva.

Simplemente comparamos la cadena de entrada dada con cadenassucesivas generadas por el procedimiento de enumeracion.

Si w ∈ L, eventualmente obtendremos una coincidencia y el procesose puede terminar.

Las definiciones 1 y 2 nos dan muy poca informacion sobre lanaturaleza de los lenguajes recursivos o recursivamente enumerables.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 12 / 29

Page 40: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables V

Es facil ver que todos los lenguajes para los que existe unprocedimiento de enumeracion son enumerables de forma recursiva.

Simplemente comparamos la cadena de entrada dada con cadenassucesivas generadas por el procedimiento de enumeracion.

Si w ∈ L, eventualmente obtendremos una coincidencia y el procesose puede terminar.

Las definiciones 1 y 2 nos dan muy poca informacion sobre lanaturaleza de los lenguajes recursivos o recursivamente enumerables.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 12 / 29

Page 41: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables V

Es facil ver que todos los lenguajes para los que existe unprocedimiento de enumeracion son enumerables de forma recursiva.

Simplemente comparamos la cadena de entrada dada con cadenassucesivas generadas por el procedimiento de enumeracion.

Si w ∈ L, eventualmente obtendremos una coincidencia y el procesose puede terminar.

Las definiciones 1 y 2 nos dan muy poca informacion sobre lanaturaleza de los lenguajes recursivos o recursivamente enumerables.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 12 / 29

Page 42: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables V

Es facil ver que todos los lenguajes para los que existe unprocedimiento de enumeracion son enumerables de forma recursiva.

Simplemente comparamos la cadena de entrada dada con cadenassucesivas generadas por el procedimiento de enumeracion.

Si w ∈ L, eventualmente obtendremos una coincidencia y el procesose puede terminar.

Las definiciones 1 y 2 nos dan muy poca informacion sobre lanaturaleza de los lenguajes recursivos o recursivamente enumerables.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 12 / 29

Page 43: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables VI

Estas definiciones adjuntan nombres a las familias de lenguajesasociadas con las maquinas de Turing, pero no arrojan luz sobre lanaturaleza de los lenguajes representativos en estas familias.

Tampoco nos dicen mucho sobre las relaciones entre estos lenguajes osu conexion con las familias de lenguajes que hemos encontrado antes.

Por lo tanto, nos enfrentamos de inmediato a preguntas como

“¿Hay lenguajes que son recursivamente enumerables pero norecursivos?” y

“¿Hay lenguajes, que se puedan describir de alguna manera, que nosean enumerables de forma recursiva?”

Si bien podremos proporcionar algunas respuestas, no podremosproducir ejemplos muy explıcitos para ilustrar estas preguntas,especialmente la segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 13 / 29

Page 44: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables VI

Estas definiciones adjuntan nombres a las familias de lenguajesasociadas con las maquinas de Turing, pero no arrojan luz sobre lanaturaleza de los lenguajes representativos en estas familias.

Tampoco nos dicen mucho sobre las relaciones entre estos lenguajes osu conexion con las familias de lenguajes que hemos encontrado antes.

Por lo tanto, nos enfrentamos de inmediato a preguntas como

“¿Hay lenguajes que son recursivamente enumerables pero norecursivos?” y

“¿Hay lenguajes, que se puedan describir de alguna manera, que nosean enumerables de forma recursiva?”

Si bien podremos proporcionar algunas respuestas, no podremosproducir ejemplos muy explıcitos para ilustrar estas preguntas,especialmente la segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 13 / 29

Page 45: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables VI

Estas definiciones adjuntan nombres a las familias de lenguajesasociadas con las maquinas de Turing, pero no arrojan luz sobre lanaturaleza de los lenguajes representativos en estas familias.

Tampoco nos dicen mucho sobre las relaciones entre estos lenguajes osu conexion con las familias de lenguajes que hemos encontrado antes.

Por lo tanto, nos enfrentamos de inmediato a preguntas como

“¿Hay lenguajes que son recursivamente enumerables pero norecursivos?” y

“¿Hay lenguajes, que se puedan describir de alguna manera, que nosean enumerables de forma recursiva?”

Si bien podremos proporcionar algunas respuestas, no podremosproducir ejemplos muy explıcitos para ilustrar estas preguntas,especialmente la segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 13 / 29

Page 46: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables VI

Estas definiciones adjuntan nombres a las familias de lenguajesasociadas con las maquinas de Turing, pero no arrojan luz sobre lanaturaleza de los lenguajes representativos en estas familias.

Tampoco nos dicen mucho sobre las relaciones entre estos lenguajes osu conexion con las familias de lenguajes que hemos encontrado antes.

Por lo tanto, nos enfrentamos de inmediato a preguntas como

“¿Hay lenguajes que son recursivamente enumerables pero norecursivos?” y

“¿Hay lenguajes, que se puedan describir de alguna manera, que nosean enumerables de forma recursiva?”

Si bien podremos proporcionar algunas respuestas, no podremosproducir ejemplos muy explıcitos para ilustrar estas preguntas,especialmente la segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 13 / 29

Page 47: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables VI

Estas definiciones adjuntan nombres a las familias de lenguajesasociadas con las maquinas de Turing, pero no arrojan luz sobre lanaturaleza de los lenguajes representativos en estas familias.

Tampoco nos dicen mucho sobre las relaciones entre estos lenguajes osu conexion con las familias de lenguajes que hemos encontrado antes.

Por lo tanto, nos enfrentamos de inmediato a preguntas como

“¿Hay lenguajes que son recursivamente enumerables pero norecursivos?” y

“¿Hay lenguajes, que se puedan describir de alguna manera, que nosean enumerables de forma recursiva?”

Si bien podremos proporcionar algunas respuestas, no podremosproducir ejemplos muy explıcitos para ilustrar estas preguntas,especialmente la segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 13 / 29

Page 48: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes recursivos y recursivamente enumerables VI

Estas definiciones adjuntan nombres a las familias de lenguajesasociadas con las maquinas de Turing, pero no arrojan luz sobre lanaturaleza de los lenguajes representativos en estas familias.

Tampoco nos dicen mucho sobre las relaciones entre estos lenguajes osu conexion con las familias de lenguajes que hemos encontrado antes.

Por lo tanto, nos enfrentamos de inmediato a preguntas como

“¿Hay lenguajes que son recursivamente enumerables pero norecursivos?” y

“¿Hay lenguajes, que se puedan describir de alguna manera, que nosean enumerables de forma recursiva?”

Si bien podremos proporcionar algunas respuestas, no podremosproducir ejemplos muy explıcitos para ilustrar estas preguntas,especialmente la segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 13 / 29

Page 49: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables I

Podemos establecer la existencia de lenguajes que no son enumerablesde forma recursiva de diversas formas.

Una es muy corta y utiliza un resultado muy fundamental y elegantede las matematicas.

Teorema 1

Sea S un conjunto numerable infinito. Entonces su conjunto potencia 2S

no es contable.

Demostracion:

Sea S = {s1, s2, s3, . . .}. Entonces, cualquier elemento t de 2S puederepresentarse mediante una secuencia de ceros y unos, con un 1 en laposicion i si y solo si si esta en t.

Por ejemplo, el conjunto {s2, s3, s6} esta representado por 011001,mientras que {s1, s3, s5, . . .} esta representado por 10101 . . ..

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 14 / 29

Page 50: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables I

Podemos establecer la existencia de lenguajes que no son enumerablesde forma recursiva de diversas formas.

Una es muy corta y utiliza un resultado muy fundamental y elegantede las matematicas.

Teorema 1

Sea S un conjunto numerable infinito. Entonces su conjunto potencia 2S

no es contable.

Demostracion:

Sea S = {s1, s2, s3, . . .}. Entonces, cualquier elemento t de 2S puederepresentarse mediante una secuencia de ceros y unos, con un 1 en laposicion i si y solo si si esta en t.

Por ejemplo, el conjunto {s2, s3, s6} esta representado por 011001,mientras que {s1, s3, s5, . . .} esta representado por 10101 . . ..

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 14 / 29

Page 51: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables I

Podemos establecer la existencia de lenguajes que no son enumerablesde forma recursiva de diversas formas.

Una es muy corta y utiliza un resultado muy fundamental y elegantede las matematicas.

Teorema 1

Sea S un conjunto numerable infinito. Entonces su conjunto potencia 2S

no es contable.

Demostracion:

Sea S = {s1, s2, s3, . . .}. Entonces, cualquier elemento t de 2S puederepresentarse mediante una secuencia de ceros y unos, con un 1 en laposicion i si y solo si si esta en t.

Por ejemplo, el conjunto {s2, s3, s6} esta representado por 011001,mientras que {s1, s3, s5, . . .} esta representado por 10101 . . ..

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 14 / 29

Page 52: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables I

Podemos establecer la existencia de lenguajes que no son enumerablesde forma recursiva de diversas formas.

Una es muy corta y utiliza un resultado muy fundamental y elegantede las matematicas.

Teorema 1

Sea S un conjunto numerable infinito. Entonces su conjunto potencia 2S

no es contable.

Demostracion:

Sea S = {s1, s2, s3, . . .}. Entonces, cualquier elemento t de 2S puederepresentarse mediante una secuencia de ceros y unos, con un 1 en laposicion i si y solo si si esta en t.

Por ejemplo, el conjunto {s2, s3, s6} esta representado por 011001,mientras que {s1, s3, s5, . . .} esta representado por 10101 . . ..

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 14 / 29

Page 53: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables I

Podemos establecer la existencia de lenguajes que no son enumerablesde forma recursiva de diversas formas.

Una es muy corta y utiliza un resultado muy fundamental y elegantede las matematicas.

Teorema 1

Sea S un conjunto numerable infinito. Entonces su conjunto potencia 2S

no es contable.

Demostracion:

Sea S = {s1, s2, s3, . . .}. Entonces, cualquier elemento t de 2S puederepresentarse mediante una secuencia de ceros y unos, con un 1 en laposicion i si y solo si si esta en t.

Por ejemplo, el conjunto {s2, s3, s6} esta representado por 011001,mientras que {s1, s3, s5, . . .} esta representado por 10101 . . ..

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 14 / 29

Page 54: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables II

Claramente, cualquier elemento de 2S puede ser representado por talsecuencia, y cualquier secuencia representa un elemento unico de 2S .

Supongamos que 2S fuera contable; entonces sus elementos podrıanescribirse en algun orden, digamos t1, t2, . . ., y podrıamos ingresarlosen una tabla, como se muestra en la Figura 2.

Figure 2: Diagonalizacion de 2S .

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 15 / 29

Page 55: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables II

Claramente, cualquier elemento de 2S puede ser representado por talsecuencia, y cualquier secuencia representa un elemento unico de 2S .

Supongamos que 2S fuera contable; entonces sus elementos podrıanescribirse en algun orden, digamos t1, t2, . . ., y podrıamos ingresarlosen una tabla, como se muestra en la Figura 2.

Figure 2: Diagonalizacion de 2S .

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 15 / 29

Page 56: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables II

Claramente, cualquier elemento de 2S puede ser representado por talsecuencia, y cualquier secuencia representa un elemento unico de 2S .

Supongamos que 2S fuera contable; entonces sus elementos podrıanescribirse en algun orden, digamos t1, t2, . . ., y podrıamos ingresarlosen una tabla, como se muestra en la Figura 2.

Figure 2: Diagonalizacion de 2S .

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 15 / 29

Page 57: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables III

En esta tabla, tome los elementos de la diagonal principal ycomplemente cada entrada, es decir, reemplace 0 con 1 y viceversa.

En el ejemplo de la Figura 11.2, los elementos son 1100 . . ., por loque obtenemos 0011 . . . como resultado.

La nueva secuencia a lo largo de la diagonal representa algunelemento de 2S , digamos ti para alguna i.

Pero no puede ser t1 porque difiere de t1 en s1.

Por la misma razon, no puede ser t2, t3 ni ninguna otra entrada en laenumeracion.

Esta contradiccion crea un callejon sin salida logico que solo puedeeliminarse descartando la suposicion de que 2S es contable.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 16 / 29

Page 58: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables III

En esta tabla, tome los elementos de la diagonal principal ycomplemente cada entrada, es decir, reemplace 0 con 1 y viceversa.

En el ejemplo de la Figura 11.2, los elementos son 1100 . . ., por loque obtenemos 0011 . . . como resultado.

La nueva secuencia a lo largo de la diagonal representa algunelemento de 2S , digamos ti para alguna i.

Pero no puede ser t1 porque difiere de t1 en s1.

Por la misma razon, no puede ser t2, t3 ni ninguna otra entrada en laenumeracion.

Esta contradiccion crea un callejon sin salida logico que solo puedeeliminarse descartando la suposicion de que 2S es contable.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 16 / 29

Page 59: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables III

En esta tabla, tome los elementos de la diagonal principal ycomplemente cada entrada, es decir, reemplace 0 con 1 y viceversa.

En el ejemplo de la Figura 11.2, los elementos son 1100 . . ., por loque obtenemos 0011 . . . como resultado.

La nueva secuencia a lo largo de la diagonal representa algunelemento de 2S , digamos ti para alguna i.

Pero no puede ser t1 porque difiere de t1 en s1.

Por la misma razon, no puede ser t2, t3 ni ninguna otra entrada en laenumeracion.

Esta contradiccion crea un callejon sin salida logico que solo puedeeliminarse descartando la suposicion de que 2S es contable.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 16 / 29

Page 60: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables III

En esta tabla, tome los elementos de la diagonal principal ycomplemente cada entrada, es decir, reemplace 0 con 1 y viceversa.

En el ejemplo de la Figura 11.2, los elementos son 1100 . . ., por loque obtenemos 0011 . . . como resultado.

La nueva secuencia a lo largo de la diagonal representa algunelemento de 2S , digamos ti para alguna i.

Pero no puede ser t1 porque difiere de t1 en s1.

Por la misma razon, no puede ser t2, t3 ni ninguna otra entrada en laenumeracion.

Esta contradiccion crea un callejon sin salida logico que solo puedeeliminarse descartando la suposicion de que 2S es contable.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 16 / 29

Page 61: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables III

En esta tabla, tome los elementos de la diagonal principal ycomplemente cada entrada, es decir, reemplace 0 con 1 y viceversa.

En el ejemplo de la Figura 11.2, los elementos son 1100 . . ., por loque obtenemos 0011 . . . como resultado.

La nueva secuencia a lo largo de la diagonal representa algunelemento de 2S , digamos ti para alguna i.

Pero no puede ser t1 porque difiere de t1 en s1.

Por la misma razon, no puede ser t2, t3 ni ninguna otra entrada en laenumeracion.

Esta contradiccion crea un callejon sin salida logico que solo puedeeliminarse descartando la suposicion de que 2S es contable.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 16 / 29

Page 62: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables III

En esta tabla, tome los elementos de la diagonal principal ycomplemente cada entrada, es decir, reemplace 0 con 1 y viceversa.

En el ejemplo de la Figura 11.2, los elementos son 1100 . . ., por loque obtenemos 0011 . . . como resultado.

La nueva secuencia a lo largo de la diagonal representa algunelemento de 2S , digamos ti para alguna i.

Pero no puede ser t1 porque difiere de t1 en s1.

Por la misma razon, no puede ser t2, t3 ni ninguna otra entrada en laenumeracion.

Esta contradiccion crea un callejon sin salida logico que solo puedeeliminarse descartando la suposicion de que 2S es contable.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 16 / 29

Page 63: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables IV

Este tipo de argumento, debido a que implica una manipulacion delos elementos diagonales de una tabla, se llama diagonalizacion.

La tecnica se atribuye al matematico G. F. Cantor, quien la utilizopara demostrar que el conjunto de numeros reales no es contable.

En los proximos capıtulos, veremos un argumento similar en varioscontextos.

El Teorema 1 es la diagonalizacion en su forma mas pura.

Como consecuencia inmediata de este resultado, podemos mostrarque, en cierto sentido, hay menos maquinas de Turing que lenguajes,por lo que debe haber algunos lenguajes que no sean recursivamenteenumerables.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 17 / 29

Page 64: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables IV

Este tipo de argumento, debido a que implica una manipulacion delos elementos diagonales de una tabla, se llama diagonalizacion.

La tecnica se atribuye al matematico G. F. Cantor, quien la utilizopara demostrar que el conjunto de numeros reales no es contable.

En los proximos capıtulos, veremos un argumento similar en varioscontextos.

El Teorema 1 es la diagonalizacion en su forma mas pura.

Como consecuencia inmediata de este resultado, podemos mostrarque, en cierto sentido, hay menos maquinas de Turing que lenguajes,por lo que debe haber algunos lenguajes que no sean recursivamenteenumerables.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 17 / 29

Page 65: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables IV

Este tipo de argumento, debido a que implica una manipulacion delos elementos diagonales de una tabla, se llama diagonalizacion.

La tecnica se atribuye al matematico G. F. Cantor, quien la utilizopara demostrar que el conjunto de numeros reales no es contable.

En los proximos capıtulos, veremos un argumento similar en varioscontextos.

El Teorema 1 es la diagonalizacion en su forma mas pura.

Como consecuencia inmediata de este resultado, podemos mostrarque, en cierto sentido, hay menos maquinas de Turing que lenguajes,por lo que debe haber algunos lenguajes que no sean recursivamenteenumerables.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 17 / 29

Page 66: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables IV

Este tipo de argumento, debido a que implica una manipulacion delos elementos diagonales de una tabla, se llama diagonalizacion.

La tecnica se atribuye al matematico G. F. Cantor, quien la utilizopara demostrar que el conjunto de numeros reales no es contable.

En los proximos capıtulos, veremos un argumento similar en varioscontextos.

El Teorema 1 es la diagonalizacion en su forma mas pura.

Como consecuencia inmediata de este resultado, podemos mostrarque, en cierto sentido, hay menos maquinas de Turing que lenguajes,por lo que debe haber algunos lenguajes que no sean recursivamenteenumerables.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 17 / 29

Page 67: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables IV

Este tipo de argumento, debido a que implica una manipulacion delos elementos diagonales de una tabla, se llama diagonalizacion.

La tecnica se atribuye al matematico G. F. Cantor, quien la utilizopara demostrar que el conjunto de numeros reales no es contable.

En los proximos capıtulos, veremos un argumento similar en varioscontextos.

El Teorema 1 es la diagonalizacion en su forma mas pura.

Como consecuencia inmediata de este resultado, podemos mostrarque, en cierto sentido, hay menos maquinas de Turing que lenguajes,por lo que debe haber algunos lenguajes que no sean recursivamenteenumerables.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 17 / 29

Page 68: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables V

Teorema 2

Para cualquier Σ no vacıo, existen lenguajes que no son enumerables deforma recursiva.

Demostracion:

Un lenguaje es un subconjunto de Σ∗, y cada uno de esossubconjuntos es un lenguaje.

Por lo tanto, el conjunto de todos los lenguajes es exactamente 2Σ∗.

Dado que Σ∗ es infinito, el Teorema 1 nos dice que el conjunto detodos los lenguajes sobre Σ no es contable.

Pero el conjunto de todas las maquinas de Turing se puede enumerar,por lo que el conjunto de todos los lenguajes enumerables de formarecursiva es contable.

Esto implica que debe haber algunos lenguajes sobre Σ que no sepuedan enumerar de forma recursiva. �

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 18 / 29

Page 69: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables V

Teorema 2

Para cualquier Σ no vacıo, existen lenguajes que no son enumerables deforma recursiva.

Demostracion:

Un lenguaje es un subconjunto de Σ∗, y cada uno de esossubconjuntos es un lenguaje.

Por lo tanto, el conjunto de todos los lenguajes es exactamente 2Σ∗.

Dado que Σ∗ es infinito, el Teorema 1 nos dice que el conjunto detodos los lenguajes sobre Σ no es contable.

Pero el conjunto de todas las maquinas de Turing se puede enumerar,por lo que el conjunto de todos los lenguajes enumerables de formarecursiva es contable.

Esto implica que debe haber algunos lenguajes sobre Σ que no sepuedan enumerar de forma recursiva. �

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 18 / 29

Page 70: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables V

Teorema 2

Para cualquier Σ no vacıo, existen lenguajes que no son enumerables deforma recursiva.

Demostracion:

Un lenguaje es un subconjunto de Σ∗, y cada uno de esossubconjuntos es un lenguaje.

Por lo tanto, el conjunto de todos los lenguajes es exactamente 2Σ∗.

Dado que Σ∗ es infinito, el Teorema 1 nos dice que el conjunto detodos los lenguajes sobre Σ no es contable.

Pero el conjunto de todas las maquinas de Turing se puede enumerar,por lo que el conjunto de todos los lenguajes enumerables de formarecursiva es contable.

Esto implica que debe haber algunos lenguajes sobre Σ que no sepuedan enumerar de forma recursiva. �

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 18 / 29

Page 71: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables V

Teorema 2

Para cualquier Σ no vacıo, existen lenguajes que no son enumerables deforma recursiva.

Demostracion:

Un lenguaje es un subconjunto de Σ∗, y cada uno de esossubconjuntos es un lenguaje.

Por lo tanto, el conjunto de todos los lenguajes es exactamente 2Σ∗.

Dado que Σ∗ es infinito, el Teorema 1 nos dice que el conjunto detodos los lenguajes sobre Σ no es contable.

Pero el conjunto de todas las maquinas de Turing se puede enumerar,por lo que el conjunto de todos los lenguajes enumerables de formarecursiva es contable.

Esto implica que debe haber algunos lenguajes sobre Σ que no sepuedan enumerar de forma recursiva. �

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 18 / 29

Page 72: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables V

Teorema 2

Para cualquier Σ no vacıo, existen lenguajes que no son enumerables deforma recursiva.

Demostracion:

Un lenguaje es un subconjunto de Σ∗, y cada uno de esossubconjuntos es un lenguaje.

Por lo tanto, el conjunto de todos los lenguajes es exactamente 2Σ∗.

Dado que Σ∗ es infinito, el Teorema 1 nos dice que el conjunto detodos los lenguajes sobre Σ no es contable.

Pero el conjunto de todas las maquinas de Turing se puede enumerar,por lo que el conjunto de todos los lenguajes enumerables de formarecursiva es contable.

Esto implica que debe haber algunos lenguajes sobre Σ que no sepuedan enumerar de forma recursiva. �

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 18 / 29

Page 73: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables V

Teorema 2

Para cualquier Σ no vacıo, existen lenguajes que no son enumerables deforma recursiva.

Demostracion:

Un lenguaje es un subconjunto de Σ∗, y cada uno de esossubconjuntos es un lenguaje.

Por lo tanto, el conjunto de todos los lenguajes es exactamente 2Σ∗.

Dado que Σ∗ es infinito, el Teorema 1 nos dice que el conjunto detodos los lenguajes sobre Σ no es contable.

Pero el conjunto de todas las maquinas de Turing se puede enumerar,por lo que el conjunto de todos los lenguajes enumerables de formarecursiva es contable.

Esto implica que debe haber algunos lenguajes sobre Σ que no sepuedan enumerar de forma recursiva. �

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 18 / 29

Page 74: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables VI

Esta demostracion, aunque breve y sencilla, es insatisfactoria enmuchos sentidos.

Es completamente no constructiva y, si bien nos informa de laexistencia de algunos lenguajes que no son enumerables de formarecursiva, no nos da ningun indicio sobre como podrıan ser estoslenguajes.

En el siguiente conjunto de resultados, investigamos la conclusion demanera mas explıcita.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 19 / 29

Page 75: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables VI

Esta demostracion, aunque breve y sencilla, es insatisfactoria enmuchos sentidos.

Es completamente no constructiva y, si bien nos informa de laexistencia de algunos lenguajes que no son enumerables de formarecursiva, no nos da ningun indicio sobre como podrıan ser estoslenguajes.

En el siguiente conjunto de resultados, investigamos la conclusion demanera mas explıcita.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 19 / 29

Page 76: Una Jerarquía de Lenguajes Formales y Autómatas I

Lenguajes que no son recursivamente enumerables VI

Esta demostracion, aunque breve y sencilla, es insatisfactoria enmuchos sentidos.

Es completamente no constructiva y, si bien nos informa de laexistencia de algunos lenguajes que no son enumerables de formarecursiva, no nos da ningun indicio sobre como podrıan ser estoslenguajes.

En el siguiente conjunto de resultados, investigamos la conclusion demanera mas explıcita.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 19 / 29

Page 77: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable I

Dado que todo lenguaje que puede describirse de forma algorıtmicadirecta puede ser aceptado por una maquina de Turing y, por tanto,es recursivamente enumerable, la descripcion de un lenguaje que nosea recursivamente enumerable debe ser indirecta.

Sin embargo, es posible.

El argumento implica una variacion del tema de la diagonalizacion.

Teorema 3

Existe un lenguaje recursivamente enumerable cuyo complemento no esrecursivamente enumerable.

Demostracion:

Sea Σ = {a}, y considere el conjunto de todas las maquinas deTuring con este alfabeto de entrada.

Segun el Teorema 10.3, este conjunto es contable, por lo quepodemos asociar un orden M1,M2, . . . con sus elementos.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 20 / 29

Page 78: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable I

Dado que todo lenguaje que puede describirse de forma algorıtmicadirecta puede ser aceptado por una maquina de Turing y, por tanto,es recursivamente enumerable, la descripcion de un lenguaje que nosea recursivamente enumerable debe ser indirecta.

Sin embargo, es posible.

El argumento implica una variacion del tema de la diagonalizacion.

Teorema 3

Existe un lenguaje recursivamente enumerable cuyo complemento no esrecursivamente enumerable.

Demostracion:

Sea Σ = {a}, y considere el conjunto de todas las maquinas deTuring con este alfabeto de entrada.

Segun el Teorema 10.3, este conjunto es contable, por lo quepodemos asociar un orden M1,M2, . . . con sus elementos.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 20 / 29

Page 79: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable I

Dado que todo lenguaje que puede describirse de forma algorıtmicadirecta puede ser aceptado por una maquina de Turing y, por tanto,es recursivamente enumerable, la descripcion de un lenguaje que nosea recursivamente enumerable debe ser indirecta.

Sin embargo, es posible.

El argumento implica una variacion del tema de la diagonalizacion.

Teorema 3

Existe un lenguaje recursivamente enumerable cuyo complemento no esrecursivamente enumerable.

Demostracion:

Sea Σ = {a}, y considere el conjunto de todas las maquinas deTuring con este alfabeto de entrada.

Segun el Teorema 10.3, este conjunto es contable, por lo quepodemos asociar un orden M1,M2, . . . con sus elementos.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 20 / 29

Page 80: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable I

Dado que todo lenguaje que puede describirse de forma algorıtmicadirecta puede ser aceptado por una maquina de Turing y, por tanto,es recursivamente enumerable, la descripcion de un lenguaje que nosea recursivamente enumerable debe ser indirecta.

Sin embargo, es posible.

El argumento implica una variacion del tema de la diagonalizacion.

Teorema 3

Existe un lenguaje recursivamente enumerable cuyo complemento no esrecursivamente enumerable.

Demostracion:

Sea Σ = {a}, y considere el conjunto de todas las maquinas deTuring con este alfabeto de entrada.

Segun el Teorema 10.3, este conjunto es contable, por lo quepodemos asociar un orden M1,M2, . . . con sus elementos.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 20 / 29

Page 81: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable I

Dado que todo lenguaje que puede describirse de forma algorıtmicadirecta puede ser aceptado por una maquina de Turing y, por tanto,es recursivamente enumerable, la descripcion de un lenguaje que nosea recursivamente enumerable debe ser indirecta.

Sin embargo, es posible.

El argumento implica una variacion del tema de la diagonalizacion.

Teorema 3

Existe un lenguaje recursivamente enumerable cuyo complemento no esrecursivamente enumerable.

Demostracion:

Sea Σ = {a}, y considere el conjunto de todas las maquinas deTuring con este alfabeto de entrada.

Segun el Teorema 10.3, este conjunto es contable, por lo quepodemos asociar un orden M1,M2, . . . con sus elementos.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 20 / 29

Page 82: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable I

Dado que todo lenguaje que puede describirse de forma algorıtmicadirecta puede ser aceptado por una maquina de Turing y, por tanto,es recursivamente enumerable, la descripcion de un lenguaje que nosea recursivamente enumerable debe ser indirecta.

Sin embargo, es posible.

El argumento implica una variacion del tema de la diagonalizacion.

Teorema 3

Existe un lenguaje recursivamente enumerable cuyo complemento no esrecursivamente enumerable.

Demostracion:

Sea Σ = {a}, y considere el conjunto de todas las maquinas deTuring con este alfabeto de entrada.

Segun el Teorema 10.3, este conjunto es contable, por lo quepodemos asociar un orden M1,M2, . . . con sus elementos.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 20 / 29

Page 83: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable II

Para cada maquina de Turing Mi, hay un lenguaje asociado L(Mi)enumerable recursivamente.

Reciprocamente, para cada lenguaje enumerable recursivamente sobreΣ, hay alguna maquina de Turing que lo acepta.

Ahora consideramos un nuevo lenguaje L definido como sigue.

Para cada i ≥ 1, la cadena ai esta en L si y solo si ai ∈ L(Mi).

Esta claro que el lenguaje L esta bien definido, ya que el enunciadoai ∈ L(Mi), y por lo tanto ai ∈ L, debe ser verdadero o falso.

A continuacion, consideramos el complemento de L,

L = {ai : ai 6∈ L(Mi)}, (1)

que tambien esta bien definido pero, como mostraremos, no esrecursivamente enumerable.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 21 / 29

Page 84: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable II

Para cada maquina de Turing Mi, hay un lenguaje asociado L(Mi)enumerable recursivamente.

Reciprocamente, para cada lenguaje enumerable recursivamente sobreΣ, hay alguna maquina de Turing que lo acepta.

Ahora consideramos un nuevo lenguaje L definido como sigue.

Para cada i ≥ 1, la cadena ai esta en L si y solo si ai ∈ L(Mi).

Esta claro que el lenguaje L esta bien definido, ya que el enunciadoai ∈ L(Mi), y por lo tanto ai ∈ L, debe ser verdadero o falso.

A continuacion, consideramos el complemento de L,

L = {ai : ai 6∈ L(Mi)}, (1)

que tambien esta bien definido pero, como mostraremos, no esrecursivamente enumerable.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 21 / 29

Page 85: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable II

Para cada maquina de Turing Mi, hay un lenguaje asociado L(Mi)enumerable recursivamente.

Reciprocamente, para cada lenguaje enumerable recursivamente sobreΣ, hay alguna maquina de Turing que lo acepta.

Ahora consideramos un nuevo lenguaje L definido como sigue.

Para cada i ≥ 1, la cadena ai esta en L si y solo si ai ∈ L(Mi).

Esta claro que el lenguaje L esta bien definido, ya que el enunciadoai ∈ L(Mi), y por lo tanto ai ∈ L, debe ser verdadero o falso.

A continuacion, consideramos el complemento de L,

L = {ai : ai 6∈ L(Mi)}, (1)

que tambien esta bien definido pero, como mostraremos, no esrecursivamente enumerable.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 21 / 29

Page 86: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable II

Para cada maquina de Turing Mi, hay un lenguaje asociado L(Mi)enumerable recursivamente.

Reciprocamente, para cada lenguaje enumerable recursivamente sobreΣ, hay alguna maquina de Turing que lo acepta.

Ahora consideramos un nuevo lenguaje L definido como sigue.

Para cada i ≥ 1, la cadena ai esta en L si y solo si ai ∈ L(Mi).

Esta claro que el lenguaje L esta bien definido, ya que el enunciadoai ∈ L(Mi), y por lo tanto ai ∈ L, debe ser verdadero o falso.

A continuacion, consideramos el complemento de L,

L = {ai : ai 6∈ L(Mi)}, (1)

que tambien esta bien definido pero, como mostraremos, no esrecursivamente enumerable.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 21 / 29

Page 87: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable II

Para cada maquina de Turing Mi, hay un lenguaje asociado L(Mi)enumerable recursivamente.

Reciprocamente, para cada lenguaje enumerable recursivamente sobreΣ, hay alguna maquina de Turing que lo acepta.

Ahora consideramos un nuevo lenguaje L definido como sigue.

Para cada i ≥ 1, la cadena ai esta en L si y solo si ai ∈ L(Mi).

Esta claro que el lenguaje L esta bien definido, ya que el enunciadoai ∈ L(Mi), y por lo tanto ai ∈ L, debe ser verdadero o falso.

A continuacion, consideramos el complemento de L,

L = {ai : ai 6∈ L(Mi)}, (1)

que tambien esta bien definido pero, como mostraremos, no esrecursivamente enumerable.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 21 / 29

Page 88: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable II

Para cada maquina de Turing Mi, hay un lenguaje asociado L(Mi)enumerable recursivamente.

Reciprocamente, para cada lenguaje enumerable recursivamente sobreΣ, hay alguna maquina de Turing que lo acepta.

Ahora consideramos un nuevo lenguaje L definido como sigue.

Para cada i ≥ 1, la cadena ai esta en L si y solo si ai ∈ L(Mi).

Esta claro que el lenguaje L esta bien definido, ya que el enunciadoai ∈ L(Mi), y por lo tanto ai ∈ L, debe ser verdadero o falso.

A continuacion, consideramos el complemento de L,

L = {ai : ai 6∈ L(Mi)}, (1)

que tambien esta bien definido pero, como mostraremos, no esrecursivamente enumerable.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 21 / 29

Page 89: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable III

Mostraremos esto por contradiccion, partiendo del supuesto de que Les recursivamente enumerable.

Si es ası, entonces debe haber alguna maquina de Turing, digamosMk, tal que

L = L(Mk). (2)

Considere la cadena ak. ¿Esta en L o en L?

Suponga que ak ∈ L.

Por (2) esto implica que

ak ∈ L(Mk).

Pero (1) ahora implica que

ak 6∈ L.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 22 / 29

Page 90: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable III

Mostraremos esto por contradiccion, partiendo del supuesto de que Les recursivamente enumerable.

Si es ası, entonces debe haber alguna maquina de Turing, digamosMk, tal que

L = L(Mk). (2)

Considere la cadena ak. ¿Esta en L o en L?

Suponga que ak ∈ L.

Por (2) esto implica que

ak ∈ L(Mk).

Pero (1) ahora implica que

ak 6∈ L.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 22 / 29

Page 91: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable III

Mostraremos esto por contradiccion, partiendo del supuesto de que Les recursivamente enumerable.

Si es ası, entonces debe haber alguna maquina de Turing, digamosMk, tal que

L = L(Mk). (2)

Considere la cadena ak. ¿Esta en L o en L?

Suponga que ak ∈ L.

Por (2) esto implica que

ak ∈ L(Mk).

Pero (1) ahora implica que

ak 6∈ L.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 22 / 29

Page 92: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable III

Mostraremos esto por contradiccion, partiendo del supuesto de que Les recursivamente enumerable.

Si es ası, entonces debe haber alguna maquina de Turing, digamosMk, tal que

L = L(Mk). (2)

Considere la cadena ak. ¿Esta en L o en L?

Suponga que ak ∈ L.

Por (2) esto implica que

ak ∈ L(Mk).

Pero (1) ahora implica que

ak 6∈ L.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 22 / 29

Page 93: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable III

Mostraremos esto por contradiccion, partiendo del supuesto de que Les recursivamente enumerable.

Si es ası, entonces debe haber alguna maquina de Turing, digamosMk, tal que

L = L(Mk). (2)

Considere la cadena ak. ¿Esta en L o en L?

Suponga que ak ∈ L.

Por (2) esto implica que

ak ∈ L(Mk).

Pero (1) ahora implica que

ak 6∈ L.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 22 / 29

Page 94: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable III

Mostraremos esto por contradiccion, partiendo del supuesto de que Les recursivamente enumerable.

Si es ası, entonces debe haber alguna maquina de Turing, digamosMk, tal que

L = L(Mk). (2)

Considere la cadena ak. ¿Esta en L o en L?

Suponga que ak ∈ L.

Por (2) esto implica que

ak ∈ L(Mk).

Pero (1) ahora implica que

ak 6∈ L.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 22 / 29

Page 95: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable IV

Alternativamente, si asumimos que ak esta en L, entonces ak 6∈ L y(2) implica que

ak 6∈ L(Mk).

Pero luego de (1) obtenemos que

ak ∈ L.

La contradiccion es ineludible y debemos concluir que nuestrasuposicion de que L es recursivamente enumerable es falsa.

Para completar la demostracion del teorema como se indica, aundebemos demostrar que L es recursivamente enumerable.

Para ello, podemos utilizar el procedimiento de enumeracion conocidopara las maquinas de Turing.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 23 / 29

Page 96: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable IV

Alternativamente, si asumimos que ak esta en L, entonces ak 6∈ L y(2) implica que

ak 6∈ L(Mk).

Pero luego de (1) obtenemos que

ak ∈ L.

La contradiccion es ineludible y debemos concluir que nuestrasuposicion de que L es recursivamente enumerable es falsa.

Para completar la demostracion del teorema como se indica, aundebemos demostrar que L es recursivamente enumerable.

Para ello, podemos utilizar el procedimiento de enumeracion conocidopara las maquinas de Turing.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 23 / 29

Page 97: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable IV

Alternativamente, si asumimos que ak esta en L, entonces ak 6∈ L y(2) implica que

ak 6∈ L(Mk).

Pero luego de (1) obtenemos que

ak ∈ L.

La contradiccion es ineludible y debemos concluir que nuestrasuposicion de que L es recursivamente enumerable es falsa.

Para completar la demostracion del teorema como se indica, aundebemos demostrar que L es recursivamente enumerable.

Para ello, podemos utilizar el procedimiento de enumeracion conocidopara las maquinas de Turing.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 23 / 29

Page 98: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable IV

Alternativamente, si asumimos que ak esta en L, entonces ak 6∈ L y(2) implica que

ak 6∈ L(Mk).

Pero luego de (1) obtenemos que

ak ∈ L.

La contradiccion es ineludible y debemos concluir que nuestrasuposicion de que L es recursivamente enumerable es falsa.

Para completar la demostracion del teorema como se indica, aundebemos demostrar que L es recursivamente enumerable.

Para ello, podemos utilizar el procedimiento de enumeracion conocidopara las maquinas de Turing.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 23 / 29

Page 99: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable IV

Alternativamente, si asumimos que ak esta en L, entonces ak 6∈ L y(2) implica que

ak 6∈ L(Mk).

Pero luego de (1) obtenemos que

ak ∈ L.

La contradiccion es ineludible y debemos concluir que nuestrasuposicion de que L es recursivamente enumerable es falsa.

Para completar la demostracion del teorema como se indica, aundebemos demostrar que L es recursivamente enumerable.

Para ello, podemos utilizar el procedimiento de enumeracion conocidopara las maquinas de Turing.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 23 / 29

Page 100: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable V

Dada ai, primero encontramos i contando el numero de sımbolos a.

Luego usamos el procedimiento de enumeracion de las maquinas deTuring para encontrar Mi.

Finalmente, damos su descripcion junto con ai a una maquinauniversal de Turing Mu que simula la accion de M sobre ai.

Si ai esta en L, el calculo realizado por Mu finalmente se detendra.

El efecto combinado de esto es una maquina de Turing que aceptacada ai ∈ L.

Por lo tanto, segun la definicion 1, L es recursivamente enumerable.�

La demostracion de este teorema muestra explıcitamente, a traves de(1), un lenguaje bien definido que no es recursivamente enumerable.

Esto no quiere decir que haya una interpretacion facil e intuitiva de L.

Serıa difıcil exhibir mas que unos pocos miembros triviales de estelenguaje.

Sin embargo esta correctamente definido.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 24 / 29

Page 101: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable V

Dada ai, primero encontramos i contando el numero de sımbolos a.

Luego usamos el procedimiento de enumeracion de las maquinas deTuring para encontrar Mi.

Finalmente, damos su descripcion junto con ai a una maquinauniversal de Turing Mu que simula la accion de M sobre ai.

Si ai esta en L, el calculo realizado por Mu finalmente se detendra.

El efecto combinado de esto es una maquina de Turing que aceptacada ai ∈ L.

Por lo tanto, segun la definicion 1, L es recursivamente enumerable.�

La demostracion de este teorema muestra explıcitamente, a traves de(1), un lenguaje bien definido que no es recursivamente enumerable.

Esto no quiere decir que haya una interpretacion facil e intuitiva de L.

Serıa difıcil exhibir mas que unos pocos miembros triviales de estelenguaje.

Sin embargo esta correctamente definido.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 24 / 29

Page 102: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable V

Dada ai, primero encontramos i contando el numero de sımbolos a.

Luego usamos el procedimiento de enumeracion de las maquinas deTuring para encontrar Mi.

Finalmente, damos su descripcion junto con ai a una maquinauniversal de Turing Mu que simula la accion de M sobre ai.

Si ai esta en L, el calculo realizado por Mu finalmente se detendra.

El efecto combinado de esto es una maquina de Turing que aceptacada ai ∈ L.

Por lo tanto, segun la definicion 1, L es recursivamente enumerable.�

La demostracion de este teorema muestra explıcitamente, a traves de(1), un lenguaje bien definido que no es recursivamente enumerable.

Esto no quiere decir que haya una interpretacion facil e intuitiva de L.

Serıa difıcil exhibir mas que unos pocos miembros triviales de estelenguaje.

Sin embargo esta correctamente definido.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 24 / 29

Page 103: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable V

Dada ai, primero encontramos i contando el numero de sımbolos a.

Luego usamos el procedimiento de enumeracion de las maquinas deTuring para encontrar Mi.

Finalmente, damos su descripcion junto con ai a una maquinauniversal de Turing Mu que simula la accion de M sobre ai.

Si ai esta en L, el calculo realizado por Mu finalmente se detendra.

El efecto combinado de esto es una maquina de Turing que aceptacada ai ∈ L.

Por lo tanto, segun la definicion 1, L es recursivamente enumerable.�

La demostracion de este teorema muestra explıcitamente, a traves de(1), un lenguaje bien definido que no es recursivamente enumerable.

Esto no quiere decir que haya una interpretacion facil e intuitiva de L.

Serıa difıcil exhibir mas que unos pocos miembros triviales de estelenguaje.

Sin embargo esta correctamente definido.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 24 / 29

Page 104: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable V

Dada ai, primero encontramos i contando el numero de sımbolos a.

Luego usamos el procedimiento de enumeracion de las maquinas deTuring para encontrar Mi.

Finalmente, damos su descripcion junto con ai a una maquinauniversal de Turing Mu que simula la accion de M sobre ai.

Si ai esta en L, el calculo realizado por Mu finalmente se detendra.

El efecto combinado de esto es una maquina de Turing que aceptacada ai ∈ L.

Por lo tanto, segun la definicion 1, L es recursivamente enumerable.�

La demostracion de este teorema muestra explıcitamente, a traves de(1), un lenguaje bien definido que no es recursivamente enumerable.

Esto no quiere decir que haya una interpretacion facil e intuitiva de L.

Serıa difıcil exhibir mas que unos pocos miembros triviales de estelenguaje.

Sin embargo esta correctamente definido.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 24 / 29

Page 105: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable V

Dada ai, primero encontramos i contando el numero de sımbolos a.

Luego usamos el procedimiento de enumeracion de las maquinas deTuring para encontrar Mi.

Finalmente, damos su descripcion junto con ai a una maquinauniversal de Turing Mu que simula la accion de M sobre ai.

Si ai esta en L, el calculo realizado por Mu finalmente se detendra.

El efecto combinado de esto es una maquina de Turing que aceptacada ai ∈ L.

Por lo tanto, segun la definicion 1, L es recursivamente enumerable.�

La demostracion de este teorema muestra explıcitamente, a traves de(1), un lenguaje bien definido que no es recursivamente enumerable.

Esto no quiere decir que haya una interpretacion facil e intuitiva de L.

Serıa difıcil exhibir mas que unos pocos miembros triviales de estelenguaje.

Sin embargo esta correctamente definido.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 24 / 29

Page 106: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable V

Dada ai, primero encontramos i contando el numero de sımbolos a.

Luego usamos el procedimiento de enumeracion de las maquinas deTuring para encontrar Mi.

Finalmente, damos su descripcion junto con ai a una maquinauniversal de Turing Mu que simula la accion de M sobre ai.

Si ai esta en L, el calculo realizado por Mu finalmente se detendra.

El efecto combinado de esto es una maquina de Turing que aceptacada ai ∈ L.

Por lo tanto, segun la definicion 1, L es recursivamente enumerable.�

La demostracion de este teorema muestra explıcitamente, a traves de(1), un lenguaje bien definido que no es recursivamente enumerable.

Esto no quiere decir que haya una interpretacion facil e intuitiva de L.

Serıa difıcil exhibir mas que unos pocos miembros triviales de estelenguaje.

Sin embargo esta correctamente definido.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 24 / 29

Page 107: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable V

Dada ai, primero encontramos i contando el numero de sımbolos a.

Luego usamos el procedimiento de enumeracion de las maquinas deTuring para encontrar Mi.

Finalmente, damos su descripcion junto con ai a una maquinauniversal de Turing Mu que simula la accion de M sobre ai.

Si ai esta en L, el calculo realizado por Mu finalmente se detendra.

El efecto combinado de esto es una maquina de Turing que aceptacada ai ∈ L.

Por lo tanto, segun la definicion 1, L es recursivamente enumerable.�

La demostracion de este teorema muestra explıcitamente, a traves de(1), un lenguaje bien definido que no es recursivamente enumerable.

Esto no quiere decir que haya una interpretacion facil e intuitiva de L.

Serıa difıcil exhibir mas que unos pocos miembros triviales de estelenguaje.

Sin embargo esta correctamente definido.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 24 / 29

Page 108: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable V

Dada ai, primero encontramos i contando el numero de sımbolos a.

Luego usamos el procedimiento de enumeracion de las maquinas deTuring para encontrar Mi.

Finalmente, damos su descripcion junto con ai a una maquinauniversal de Turing Mu que simula la accion de M sobre ai.

Si ai esta en L, el calculo realizado por Mu finalmente se detendra.

El efecto combinado de esto es una maquina de Turing que aceptacada ai ∈ L.

Por lo tanto, segun la definicion 1, L es recursivamente enumerable.�

La demostracion de este teorema muestra explıcitamente, a traves de(1), un lenguaje bien definido que no es recursivamente enumerable.

Esto no quiere decir que haya una interpretacion facil e intuitiva de L.

Serıa difıcil exhibir mas que unos pocos miembros triviales de estelenguaje.

Sin embargo esta correctamente definido.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 24 / 29

Page 109: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que no es recursivamente enumerable V

Dada ai, primero encontramos i contando el numero de sımbolos a.

Luego usamos el procedimiento de enumeracion de las maquinas deTuring para encontrar Mi.

Finalmente, damos su descripcion junto con ai a una maquinauniversal de Turing Mu que simula la accion de M sobre ai.

Si ai esta en L, el calculo realizado por Mu finalmente se detendra.

El efecto combinado de esto es una maquina de Turing que aceptacada ai ∈ L.

Por lo tanto, segun la definicion 1, L es recursivamente enumerable.�

La demostracion de este teorema muestra explıcitamente, a traves de(1), un lenguaje bien definido que no es recursivamente enumerable.

Esto no quiere decir que haya una interpretacion facil e intuitiva de L.

Serıa difıcil exhibir mas que unos pocos miembros triviales de estelenguaje.

Sin embargo esta correctamente definido.Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 24 / 29

Page 110: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo I

A continuacion, mostramos que hay algunos lenguajes que se puedenenumerar de forma recursiva pero que no son recursivos.

Una vez mas, debemos hacerlo de una manera bastante indirecta.

Comenzamos por establecer un resultado subsidiario.

Teorema 4

Si un lenguaje L y su complemento L son recursivamente enumerables,ambos lenguajes son recursivos. Si L es recursivo, entonces L tambien esrecursivo y, en consecuencia, ambos son recursivamente enumerables.

Demostracion:

Si L y L son recursivamente enumerables, entonces existen maquinasde Turing M y M que sirven como procedimientos de enumeracionpara L y L, respectivamente.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 25 / 29

Page 111: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo I

A continuacion, mostramos que hay algunos lenguajes que se puedenenumerar de forma recursiva pero que no son recursivos.

Una vez mas, debemos hacerlo de una manera bastante indirecta.

Comenzamos por establecer un resultado subsidiario.

Teorema 4

Si un lenguaje L y su complemento L son recursivamente enumerables,ambos lenguajes son recursivos. Si L es recursivo, entonces L tambien esrecursivo y, en consecuencia, ambos son recursivamente enumerables.

Demostracion:

Si L y L son recursivamente enumerables, entonces existen maquinasde Turing M y M que sirven como procedimientos de enumeracionpara L y L, respectivamente.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 25 / 29

Page 112: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo I

A continuacion, mostramos que hay algunos lenguajes que se puedenenumerar de forma recursiva pero que no son recursivos.

Una vez mas, debemos hacerlo de una manera bastante indirecta.

Comenzamos por establecer un resultado subsidiario.

Teorema 4

Si un lenguaje L y su complemento L son recursivamente enumerables,ambos lenguajes son recursivos. Si L es recursivo, entonces L tambien esrecursivo y, en consecuencia, ambos son recursivamente enumerables.

Demostracion:

Si L y L son recursivamente enumerables, entonces existen maquinasde Turing M y M que sirven como procedimientos de enumeracionpara L y L, respectivamente.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 25 / 29

Page 113: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo I

A continuacion, mostramos que hay algunos lenguajes que se puedenenumerar de forma recursiva pero que no son recursivos.

Una vez mas, debemos hacerlo de una manera bastante indirecta.

Comenzamos por establecer un resultado subsidiario.

Teorema 4

Si un lenguaje L y su complemento L son recursivamente enumerables,ambos lenguajes son recursivos. Si L es recursivo, entonces L tambien esrecursivo y, en consecuencia, ambos son recursivamente enumerables.

Demostracion:

Si L y L son recursivamente enumerables, entonces existen maquinasde Turing M y M que sirven como procedimientos de enumeracionpara L y L, respectivamente.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 25 / 29

Page 114: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo I

A continuacion, mostramos que hay algunos lenguajes que se puedenenumerar de forma recursiva pero que no son recursivos.

Una vez mas, debemos hacerlo de una manera bastante indirecta.

Comenzamos por establecer un resultado subsidiario.

Teorema 4

Si un lenguaje L y su complemento L son recursivamente enumerables,ambos lenguajes son recursivos. Si L es recursivo, entonces L tambien esrecursivo y, en consecuencia, ambos son recursivamente enumerables.

Demostracion:

Si L y L son recursivamente enumerables, entonces existen maquinasde Turing M y M que sirven como procedimientos de enumeracionpara L y L, respectivamente.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 25 / 29

Page 115: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo II

El primero producira w1, w2, . . . en L, el segundo w1, w2, . . . en L.

Supongamos que ahora se nos da cualquier w ∈ Σ+.

Primero dejamos que M genere w1 y lo comparamos con w.

Si no son iguales, dejamos que M genere w1 y se vuelve a comparar.

Si necesitamos continuar, luego dejamos que M genere w2, luego Mgenera w2, y ası sucesivamente.

Cualquier w ∈ Σ+ sera generado por M o M , por lo queeventualmente obtendremos una coincidencia.

Si la cadena coincidente es producida por M , w pertenece a L, de locontrario esta en L.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 26 / 29

Page 116: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo II

El primero producira w1, w2, . . . en L, el segundo w1, w2, . . . en L.

Supongamos que ahora se nos da cualquier w ∈ Σ+.

Primero dejamos que M genere w1 y lo comparamos con w.

Si no son iguales, dejamos que M genere w1 y se vuelve a comparar.

Si necesitamos continuar, luego dejamos que M genere w2, luego Mgenera w2, y ası sucesivamente.

Cualquier w ∈ Σ+ sera generado por M o M , por lo queeventualmente obtendremos una coincidencia.

Si la cadena coincidente es producida por M , w pertenece a L, de locontrario esta en L.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 26 / 29

Page 117: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo II

El primero producira w1, w2, . . . en L, el segundo w1, w2, . . . en L.

Supongamos que ahora se nos da cualquier w ∈ Σ+.

Primero dejamos que M genere w1 y lo comparamos con w.

Si no son iguales, dejamos que M genere w1 y se vuelve a comparar.

Si necesitamos continuar, luego dejamos que M genere w2, luego Mgenera w2, y ası sucesivamente.

Cualquier w ∈ Σ+ sera generado por M o M , por lo queeventualmente obtendremos una coincidencia.

Si la cadena coincidente es producida por M , w pertenece a L, de locontrario esta en L.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 26 / 29

Page 118: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo II

El primero producira w1, w2, . . . en L, el segundo w1, w2, . . . en L.

Supongamos que ahora se nos da cualquier w ∈ Σ+.

Primero dejamos que M genere w1 y lo comparamos con w.

Si no son iguales, dejamos que M genere w1 y se vuelve a comparar.

Si necesitamos continuar, luego dejamos que M genere w2, luego Mgenera w2, y ası sucesivamente.

Cualquier w ∈ Σ+ sera generado por M o M , por lo queeventualmente obtendremos una coincidencia.

Si la cadena coincidente es producida por M , w pertenece a L, de locontrario esta en L.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 26 / 29

Page 119: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo II

El primero producira w1, w2, . . . en L, el segundo w1, w2, . . . en L.

Supongamos que ahora se nos da cualquier w ∈ Σ+.

Primero dejamos que M genere w1 y lo comparamos con w.

Si no son iguales, dejamos que M genere w1 y se vuelve a comparar.

Si necesitamos continuar, luego dejamos que M genere w2, luego Mgenera w2, y ası sucesivamente.

Cualquier w ∈ Σ+ sera generado por M o M , por lo queeventualmente obtendremos una coincidencia.

Si la cadena coincidente es producida por M , w pertenece a L, de locontrario esta en L.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 26 / 29

Page 120: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo II

El primero producira w1, w2, . . . en L, el segundo w1, w2, . . . en L.

Supongamos que ahora se nos da cualquier w ∈ Σ+.

Primero dejamos que M genere w1 y lo comparamos con w.

Si no son iguales, dejamos que M genere w1 y se vuelve a comparar.

Si necesitamos continuar, luego dejamos que M genere w2, luego Mgenera w2, y ası sucesivamente.

Cualquier w ∈ Σ+ sera generado por M o M , por lo queeventualmente obtendremos una coincidencia.

Si la cadena coincidente es producida por M , w pertenece a L, de locontrario esta en L.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 26 / 29

Page 121: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo II

El primero producira w1, w2, . . . en L, el segundo w1, w2, . . . en L.

Supongamos que ahora se nos da cualquier w ∈ Σ+.

Primero dejamos que M genere w1 y lo comparamos con w.

Si no son iguales, dejamos que M genere w1 y se vuelve a comparar.

Si necesitamos continuar, luego dejamos que M genere w2, luego Mgenera w2, y ası sucesivamente.

Cualquier w ∈ Σ+ sera generado por M o M , por lo queeventualmente obtendremos una coincidencia.

Si la cadena coincidente es producida por M , w pertenece a L, de locontrario esta en L.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 26 / 29

Page 122: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo III

El proceso es un algoritmo de pertenencia tanto para L como para L,por lo que ambos son recursivos.

Recıprocamente, suponga que L es recursivo.

Entonces existe un algoritmo de membresıa para el.

Pero esto se convierte en un algoritmo de pertenencia para Lsimplemente complementando su conclusion.

Por tanto, L es recursivo.

Dado que cualquier lenguaje recursivo es recursivamente enumerable,la prueba esta completa

De esto, concluimos directamente que la familia de lenguajesrecursivamente enumerables y la familia de lenguajes recursivos noson identicas.

El lenguaje L del Teorema 3 pertenece a la primera familia, pero no ala segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 27 / 29

Page 123: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo III

El proceso es un algoritmo de pertenencia tanto para L como para L,por lo que ambos son recursivos.

Recıprocamente, suponga que L es recursivo.

Entonces existe un algoritmo de membresıa para el.

Pero esto se convierte en un algoritmo de pertenencia para Lsimplemente complementando su conclusion.

Por tanto, L es recursivo.

Dado que cualquier lenguaje recursivo es recursivamente enumerable,la prueba esta completa

De esto, concluimos directamente que la familia de lenguajesrecursivamente enumerables y la familia de lenguajes recursivos noson identicas.

El lenguaje L del Teorema 3 pertenece a la primera familia, pero no ala segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 27 / 29

Page 124: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo III

El proceso es un algoritmo de pertenencia tanto para L como para L,por lo que ambos son recursivos.

Recıprocamente, suponga que L es recursivo.

Entonces existe un algoritmo de membresıa para el.

Pero esto se convierte en un algoritmo de pertenencia para Lsimplemente complementando su conclusion.

Por tanto, L es recursivo.

Dado que cualquier lenguaje recursivo es recursivamente enumerable,la prueba esta completa

De esto, concluimos directamente que la familia de lenguajesrecursivamente enumerables y la familia de lenguajes recursivos noson identicas.

El lenguaje L del Teorema 3 pertenece a la primera familia, pero no ala segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 27 / 29

Page 125: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo III

El proceso es un algoritmo de pertenencia tanto para L como para L,por lo que ambos son recursivos.

Recıprocamente, suponga que L es recursivo.

Entonces existe un algoritmo de membresıa para el.

Pero esto se convierte en un algoritmo de pertenencia para Lsimplemente complementando su conclusion.

Por tanto, L es recursivo.

Dado que cualquier lenguaje recursivo es recursivamente enumerable,la prueba esta completa

De esto, concluimos directamente que la familia de lenguajesrecursivamente enumerables y la familia de lenguajes recursivos noson identicas.

El lenguaje L del Teorema 3 pertenece a la primera familia, pero no ala segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 27 / 29

Page 126: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo III

El proceso es un algoritmo de pertenencia tanto para L como para L,por lo que ambos son recursivos.

Recıprocamente, suponga que L es recursivo.

Entonces existe un algoritmo de membresıa para el.

Pero esto se convierte en un algoritmo de pertenencia para Lsimplemente complementando su conclusion.

Por tanto, L es recursivo.

Dado que cualquier lenguaje recursivo es recursivamente enumerable,la prueba esta completa

De esto, concluimos directamente que la familia de lenguajesrecursivamente enumerables y la familia de lenguajes recursivos noson identicas.

El lenguaje L del Teorema 3 pertenece a la primera familia, pero no ala segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 27 / 29

Page 127: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo III

El proceso es un algoritmo de pertenencia tanto para L como para L,por lo que ambos son recursivos.

Recıprocamente, suponga que L es recursivo.

Entonces existe un algoritmo de membresıa para el.

Pero esto se convierte en un algoritmo de pertenencia para Lsimplemente complementando su conclusion.

Por tanto, L es recursivo.

Dado que cualquier lenguaje recursivo es recursivamente enumerable,la prueba esta completa

De esto, concluimos directamente que la familia de lenguajesrecursivamente enumerables y la familia de lenguajes recursivos noson identicas.

El lenguaje L del Teorema 3 pertenece a la primera familia, pero no ala segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 27 / 29

Page 128: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo III

El proceso es un algoritmo de pertenencia tanto para L como para L,por lo que ambos son recursivos.

Recıprocamente, suponga que L es recursivo.

Entonces existe un algoritmo de membresıa para el.

Pero esto se convierte en un algoritmo de pertenencia para Lsimplemente complementando su conclusion.

Por tanto, L es recursivo.

Dado que cualquier lenguaje recursivo es recursivamente enumerable,la prueba esta completa

De esto, concluimos directamente que la familia de lenguajesrecursivamente enumerables y la familia de lenguajes recursivos noson identicas.

El lenguaje L del Teorema 3 pertenece a la primera familia, pero no ala segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 27 / 29

Page 129: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo III

El proceso es un algoritmo de pertenencia tanto para L como para L,por lo que ambos son recursivos.

Recıprocamente, suponga que L es recursivo.

Entonces existe un algoritmo de membresıa para el.

Pero esto se convierte en un algoritmo de pertenencia para Lsimplemente complementando su conclusion.

Por tanto, L es recursivo.

Dado que cualquier lenguaje recursivo es recursivamente enumerable,la prueba esta completa

De esto, concluimos directamente que la familia de lenguajesrecursivamente enumerables y la familia de lenguajes recursivos noson identicas.

El lenguaje L del Teorema 3 pertenece a la primera familia, pero no ala segunda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 27 / 29

Page 130: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo IV

Teorema 5

Existe un lenguaje recursivamente enumerable que no es recursivo; esdecir, la familia de lenguajes recursivos es un subconjunto propio de lafamilia de lenguajes recursivamente enumerables.

Demostracion:

Considere el lenguaje L del Teorema 3.

Este lenguaje es enumerable de forma recursiva, pero su complementono lo es.

Por lo tanto, segun el Teorema 4, no es recursivo, lo que nos da elejemplo buscado.

Vemos de esto que, de hecho, hay lenguajes bien definidos para losque no se puede construir un algoritmo de pertenencia.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 28 / 29

Page 131: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo IV

Teorema 5

Existe un lenguaje recursivamente enumerable que no es recursivo; esdecir, la familia de lenguajes recursivos es un subconjunto propio de lafamilia de lenguajes recursivamente enumerables.

Demostracion:

Considere el lenguaje L del Teorema 3.

Este lenguaje es enumerable de forma recursiva, pero su complementono lo es.

Por lo tanto, segun el Teorema 4, no es recursivo, lo que nos da elejemplo buscado.

Vemos de esto que, de hecho, hay lenguajes bien definidos para losque no se puede construir un algoritmo de pertenencia.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 28 / 29

Page 132: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo IV

Teorema 5

Existe un lenguaje recursivamente enumerable que no es recursivo; esdecir, la familia de lenguajes recursivos es un subconjunto propio de lafamilia de lenguajes recursivamente enumerables.

Demostracion:

Considere el lenguaje L del Teorema 3.

Este lenguaje es enumerable de forma recursiva, pero su complementono lo es.

Por lo tanto, segun el Teorema 4, no es recursivo, lo que nos da elejemplo buscado.

Vemos de esto que, de hecho, hay lenguajes bien definidos para losque no se puede construir un algoritmo de pertenencia.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 28 / 29

Page 133: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo IV

Teorema 5

Existe un lenguaje recursivamente enumerable que no es recursivo; esdecir, la familia de lenguajes recursivos es un subconjunto propio de lafamilia de lenguajes recursivamente enumerables.

Demostracion:

Considere el lenguaje L del Teorema 3.

Este lenguaje es enumerable de forma recursiva, pero su complementono lo es.

Por lo tanto, segun el Teorema 4, no es recursivo, lo que nos da elejemplo buscado.

Vemos de esto que, de hecho, hay lenguajes bien definidos para losque no se puede construir un algoritmo de pertenencia.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 28 / 29

Page 134: Una Jerarquía de Lenguajes Formales y Autómatas I

Un lenguaje que es recursivamente enumerable pero no esrecursivo IV

Teorema 5

Existe un lenguaje recursivamente enumerable que no es recursivo; esdecir, la familia de lenguajes recursivos es un subconjunto propio de lafamilia de lenguajes recursivamente enumerables.

Demostracion:

Considere el lenguaje L del Teorema 3.

Este lenguaje es enumerable de forma recursiva, pero su complementono lo es.

Por lo tanto, segun el Teorema 4, no es recursivo, lo que nos da elejemplo buscado.

Vemos de esto que, de hecho, hay lenguajes bien definidos para losque no se puede construir un algoritmo de pertenencia.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 28 / 29

Page 135: Una Jerarquía de Lenguajes Formales y Autómatas I

Ejercicios

1 Sea L un lenguaje finito. Demuestre que entonces L+ esrecursivamente enumerable. Sugiera un procedimiento deenumeracion para L+.

2 Sea L un lenguaje libre de contexto. Muestre que L+ esrecursivamente enumerable y sugiera un procedimiento deenumeracion para este.

3 Muestre que si un lenguaje no es recursivamente enumerable, sucomplemento no puede ser recursivo.

4 Demuestre que la familia de lenguajes recursivamente enumerables escerrada bajo union.

5 ¿La familia de lenguajes recursivamente enumerables es cerrada bajointerseccion?

6 Demuestre que la familia de lenguajes recursivos es cerrada bajounion e interseccion.

Jose de Jesus Lavalle Martınez (FCC-BUAP) Una Jerarquıa de Lenguajes Formales y Automatas I 29 / 29