Respostas:
Ambos os lemas de bombeamento têm uma explicação intuitiva em termos de um autômato que pode reconhecer um idioma.
Uma linguagem regular pode ser reconhecida por um autômato finito. Todas as palavras são reconhecidas através de:
Uma linguagem livre de contexto pode ser reconhecida por um autômato de empilhamento. Todas as palavras são reconhecidas através de:
Você também pode obter uma intuição semelhante das maneiras como as linguagens regulares e sem contexto podem ser especificadas por uma expressão regular e uma gramática sem contexto, respectivamente.
Se uma palavra é reconhecida por uma expressão regular, então:
Se uma palavra é reconhecida por uma gramática livre de contexto, então:
Isso é devido à "estrutura" das línguas que é observada pelos respectivos lemas de bombeamento. Veja as provas dos respectivos resultados de bombeamento.
Para linguagens regulares, a estrutura é linear e, para cada palavra longa, existe um estado que é repetido duas vezes no cálculo de aceitação de um autômato de estado finito. A string lida entre esses estados pode ser repetida.
A estrutura das linguagens sem contexto é aninhada, semelhante a uma árvore. Novamente, uma palavra longa terá uma árvore de derivação que repete um não-terminal em um dos caminhos da árvore. Essa estrutura também pode ser repetida, mas irá gerar duas cadeias, tanto para a esquerda quanto para a direita.
O lema de bombeamento para linguagens sem contexto é, no fundo, uma aplicação do princípio do buraco de pombo. Se pegarmos uma palavra longa o suficiente no idioma e considerarmos uma de suas árvores de análise, haverá um caminho no qual um dos não-terminais se repete. Isso nos permitirá "bombear" parte da palavra, por um processo de recortar e colar.
Como exemplo, considere a seguinte árvore de análise:
O não-terminal repetitivo é . Podemos eliminar a repetição para obter a árvore de análise:
Também podemos "bombear" a repetição para obter a árvore de análise:
Em termos das próprias palavras, começamos com a palavra , e obteve primeiro a palavra e então a palavra .
O bombeamento corresponde à variação do número de aplicações da derivação . Você pode ver que duas partes diferentes estão sendo bombeadas ao mesmo tempo. Isso é necessário para idiomas como: a e as peças precisam ser bombeadas separadamente.
Considere agora o que acontece quando aplicamos os mesmos argumentos a uma gramática regular esquerda :
Como a gramática é deixada regular, a derivação bombeada contém apenas uma parte bombeada. Esse sempre será o caso das gramáticas regulares à esquerda, devido à forma das árvores de análise.
Em termos de decomposição , isso implica que , e entao , que é exatamente a forma do lema de bombeamento para idiomas regulares (considerando como uma única palavra). A forma particular das árvores de análise nas gramáticas regulares esquerdas nos permite obter um lema de bombeamento mais forte.
Crédito: todas as árvores de análise desenhadas usando o Syntax Tree Generator .