Como una primera sección, veamos que las computaciones terminales en una máquina de Turing dada, pueden ``realizarse'' como la intersección de dos lenguajes libres de contexto. En otras palabras, el proceso de ``correr una máquina de Turing sobre una entrada dada'' puede realizarse por dos autómatas de pila ``corriendo en paralelo''.
Sea
M=(Q,A,t,q0,F) una máquina de Turing. Sea
una computación, terminal o intermedia. Supongamos
La representación lineal de
es la palabra
y la representación trastocada de
es la palabra
consistente de la misma palabra que en la representación lineal, salvo que las descripciones correspondientes a índices impares se escriben al revés.
Sea
el lenguaje consistente de ``inicios'' de computaciones legales en la máquina de Turing.
Proposición 3.1
es un lenguaje libre de contexto.
Demostración:
es reconocido por un autómata de pila cuyo comportamiento es el siguiente:
Dada una palabra de la forma
,
1.
lee uno a uno los símbolos de
,
hasta llegar a ``'', y verifica que aparezca exactamente una vez un símbolo correspondiente a un estado, es decir, reconoce a
de la forma
2.
reconoce a la ``parte izquierda'' de
como de la forma
,
acaso tal vez difiriendo en una sola posición,
3.
verifica que donde termina
aparezca la aplicación de una transición de la máquina M, y, finalmente
4.
reconoce a la ``parte derecha'' de
como de la forma
acaso tal vez difiriendo en una sola posición.
Es claro que
es también libre de contexto. Se tiene
Sea
el lenguaje consistente de representaciones trastocadas de computaciones terminales en M que se inician con la descripción inicial
.
Proposición 3.2
es la intersección de dos lenguajes libres de contexto.
Demostración: Se comprueba inmediatamente que la proposición se cumple considerando los lenguajes, evidentemente libres de contexto,
Veamos a partir de este hecho que algunos problemas relativos a lenguajes libres de contexto son irresolubles.