Esta classe de gramáticas é indecidível. Aqui está uma idéia aproximada de como usá-lo para emular as máquinas de Turing.
Em cada ponto, a palavra parcialmente expandida atual pareceria
[tape to the left][head][tape to the right]
Aqui:
- P ¯ 0 ¯ 1[tape to the left] , após aplicar , contém apenas caracteres e .P0¯¯¯1¯¯¯
- P 0 1[tape to the right] , após aplicar , contém apenas os caracteres e .P01
- [head] é um não-terminal único, que codifica o estado do cabeçalho e o caractere na posição do cabeçalho.
Suponha que a cabeça esteja no estado e o caractere embaixo dela seja . Então a cabeça é representada por não-terminal . Se precisar fazer a transição para o estado , substitua o caractere atual por e mova para a esquerda, existem duas transições e . Se precisar mover para a direita, existem duas transições ei ∈ { 0 , 1 } S i T j S i → 0 T 0 j S i → 1 T 1 j S i → ¯ j T 0 ¯ 0 S i → ¯ j T 1 ¯ 1 [ fita para a esquerda ] [ fita para a direita ]Si∈{0,1}SiTjSi→0T0jSi→1T1jSi→j¯T00¯¯¯Si→j¯T11¯¯¯. Em certo sentido, a cabeça precisa "adivinhar" o personagem na direção em que está se movendo, produzindo o caractere correspondente. Se o palpite estiver errado, o invariante em ou seria violado e nunca se recuperaria.[tape to the left][tape to the right]
Quando a máquina pára, a cabeça deve "consumir" sua fita nos dois lados "adivinhando" e produzindo caracteres correspondentes. Depois disso, deve produzir palavra vazia. Como resultado, a palavra vazia seria membro dessa gramática se e somente se a máquina de Turing correspondente parar.