O problema está nos quantificadores. O lema de bombeamento diz que qualquer string com pode ser escrita como modo que as três propriedades sejam mantidas. Não diz que toda maneira de escrevê-lo como que mantém as duas primeiras propriedades também mantém a terceira.s| s | ≥p x yzx yz
Para o idioma , procedemos da seguinte forma. Primeiro, observe que devemos ter , pois se , somos forçados a tomar , , e você já mostrou na pergunta que isso não funciona. Portanto, com , podemos escrever como ( , , ). Nós temos{0 02 n∣ n ≥ 0 }p ≥ 2p = 1x = ϵy= 0z=0 02 p - 1p ≥ 2s =0 02 ps = ϵ000 02 ( p - 1 )x = ϵy= 00z=0 02 ( p - 1 )|ϵ00|≤p, |00|>1 e (00)i02(p−1)∈L para todos i≥0. Portanto, existe uma maneira de decompor a string comoxyz isso satisfaz todas as propriedades, mesmo que a primeira decomposição em que você pensou não tenha funcionado.
Para mostrar que um idioma não é regular, você precisa mostrar que toda decomposição emxyzque satisfaz as duas primeiras propriedades falha em satisfazer a terceira. Não basta apenas mostrar que uma decomposição não funciona.
Para entender por que o lema de bombeamento é do jeito que é, ajuda a pensar na prova. Se um idioma é regular, é aceito por algum DFA. Que o DFA tem algum número de estados: chame-op. Pelo princípio pigeonhole, sempre que o DFA lê uma string com mais dep, ele deve visitar algum estado duas vezes: diga estado q. Agora,x é a parte da entrada lida até (e incluindo) a primeira visita a q, y é a parte lida após a primeira visita e até e incluindo a segunda (que deve ter pelo menos um caractere) e z é o resto. Mas agora você pode ver issoxz deve ser aceito: x leva você do estado inicial para q e z leva você de qpara um estado de aceitação. Da mesma forma,xyiz deve ser aceito para qualquer positivo i, já que cada repetição de y leva você de q de volta a q. Observe que a decomposição da entrada emx, y e zé inteiramente determinado pelo autômato que, por sua vez, é determinado (mas não exclusivamente) pelo idioma. Portanto, você não escolhe a decomposição: se o idioma é regular, existe alguma decomposição; para mostrar que um idioma não é regular, você deve mostrar que toda decomposição falha.