Aqui estão algumas evidências de que não há lema de bombeamento para as linguagens sensíveis ao contexto.
Obviamente, uma resposta depende da questão do que constitui um lema de bombeamento. A definição razoável mais fraca que eu conseguia pensar é a seguinte: Uma classe de linguagem tem um lema de bombeamento se houver um predicado ternário decidível que significa:CP(⋅,⋅,⋅)P(g,w,d)
- g é uma palavra que codifica um idioma de (pense em gramática),L(g)C
- w é uma palavra no idioma codificado porg
- d é uma palavra que codifica uma computação / derivação bombeável para (pense: computação NFA com estado repetido ou árvore de derivação CFG com repetição não-terminal). Aqui, bombeável significa: existem infinitas palavras em .wL(g)
Além disso, queremos que, dada uma linguagem em codificada por , para cada palavra suficientemente longa , exista uma palavra tal que
.LCgw∈LdP(g,w,d)
Por exemplo, o lema de bombeamento para idiomas regulares daria origem ao predicado " codifica um NFA e codifica uma execução que repete um estado e lê ". Para codificações adequadas, isso satisfaz claramente as condições acima.gεdw
Agora vamos mostrar que esse predicado não existe para as linguagens sensíveis ao contexto.
Observe que, se uma aula de língua tem um lema do bombeamento, então o problema infinito (Dada uma gramática, não é gerar uma linguagem infinita?) É recursivamente enumeráveis: Dada uma codificação , podemos enumerar palavras e e verificar se . Se encontrarmos tal , responderemos 'yes', caso contrário, continuaremos a enumeração.gwdP(g,w,d)w,d
No entanto, mostramos que o problema do infinito para as linguagens sensíveis ao contexto não é recursivamente enumerável. Lembre-se de que é um nível da hierarquia aritmética que inclui estritamente os idiomas recursivamente enumeráveis. Portanto, basta provar:Π02
Reivindicação : O problema do infinito para as linguagens sensíveis ao contexto é -completo.Π02
É sabido que o problema do infinito para linguagens recursivamente enumeráveis é -completo (mais frequentemente, encontra-se a formulação de que o problema de finitude é -complete). Portanto, basta reduzir o último problema ao problema do infinito para as linguagens sensíveis ao contexto.Π02Σ02
Dado um TM , construímos um LBA para o idioma
Então, é infinito se é infinito, o que completa nossa prova.MA
{u#v∣v is a shortlex-minimal accepting computation of M on input u}.
L(A)L(M)
Atualização: tentou ser mais claro. Atualização: Exemplo adicionado.