Esta clase de gramáticas es indecidible. Aquí hay una idea aproximada sobre cómo usarlo para emular máquinas Turing.
En cada punto, la palabra actual parcialmente expandida se vería como
[tape to the left][head][tape to the right]
Aquí:
- , después de aplicar P , solo contiene los caracteres ¯ 0 y ¯ 1 .[tape to the left]P0¯¯¯1¯¯¯
- , después de aplicar P , solo contiene los caracteres 0 y 1 .[tape to the right]P0 01
- es un único no terminal, que codifica tanto el estado de la cabeza como el carácter en la posición de la cabeza.[ cabeza ]
Suponga que la cabeza está en estado , y el carácter debajo de la cabeza es i ∈ { 0 , 1 } . Entonces la cabeza está representada por S i no terminal . Si necesita pasar al estado , reemplazar el carácter actual con y moverse hacia la izquierda, hay dos transiciones y . Si necesita moverse hacia la derecha, hay dos transiciones ySi ∈ { 0 , 1 }SyoTjSyo→ 0 T0 0jSyo→ 1 T1jSyo→ j¯T0 00 0¯¯¯Syo→ j¯T11¯¯¯. En cierto sentido, la cabeza tiene que "adivinar" el personaje en la dirección en que se mueve produciendo el personaje correspondiente. Si la suposición es incorrecta, la invariante en o sería violada, y nunca se recuperaría.[ cinta a la izquierda ][ cinta a la derecha ]
Cuando la máquina se detiene, la cabeza debe "consumir" su cinta en ambos lados "adivinando" y produciendo caracteres coincidentes. Después de eso, debería producir una palabra vacía. Como resultado, la palabra vacía sería miembro de dicha gramática si y solo si la máquina de Turing correspondiente se detiene.