Pode haver um lema de bombeamento sensível ao contexto?

8

Sabe-se que uma propriedade "bombear" (palavras de um determinado comprimento implica a existência de loops no mecanismo de definição de idioma) para linguagens regulares e sem contexto e mais algumas (geralmente usadas para refutar a associação de um idioma a uma determinada classe) )

Na discussão em torno dessa pergunta , a resposta de Daisy sugere que não pode haver um lema de bombeamento para linguagens sensíveis ao contexto - uma vez que são muito complexas.

Isso é verdade - pode ser demonstrado que não pode haver algum tipo de propriedade de bombeamento - e há uma boa referência para isso (ou contra isso)?

lukas.coenig
fonte
2
Você pode dar uma definição formal de "bombeamento do lema"? Caso contrário, não pode haver essa prova por princípio.
Raphael
Talvez se possa refutar o teorema de Parikh para linguagens sensíveis ao contexto, e isso nos leva a esperar que não exista um lema que se pareça com o que sabemos.
Yuval Filmus
@YuvalFilmus O que você quer dizer? Claramente, os números primos são sensíveis ao contexto e não são semilineares. Portanto, Parikh não se aplica ao contexto sensível. Isso significa que "bombeamento linear" não se aplica. Como Rafael, estou curioso para saber quais outros métodos seriam considerados bombeadores.
Hendrik Jan
1
Você está certo, tudo se resume a saber exatamente o que é "bombear" ... Eu estava esperando por algumas sugestões ... Qual é o teorema de Parikh para linguagens sensíveis ao contexto ? Eu encontrei apenas um para linguagens sem contexto.
Lukas.coenig 19/07/2016
1
@ lukas.coenig Não existe o teorema de Parikh para linguagens sensíveis ao contexto, mas poderia haver um se houvesse um simples lema de bombeamento para linguagens sensíveis ao contexto.
Yuval Filmus

Respostas:

8

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 .LCgwLdP(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:Π20

Reivindicação : O problema do infinito para as linguagens sensíveis ao contexto é -completo.Π20

É 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.Π20Σ20

Dado um TM , construímos um LBA para o idioma Então, é infinito se é infinito, o que completa nossa prova.MA

{u#vv 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.

Georg Zetzsche
fonte