Eu tenho duas perguntas:
Eu considero o seguinte idioma
Em outras palavras não é palíndromo com comprimento uniforme. Eu provei que esse idioma NÃO é regular, provando que seu complemento não é regular. Minha pergunta é como provar usando o lema de bombeamento sem usar o complemento.Deixei
Eu provei que esse idioma não é regular usando classes de equivalência. Como posso provar isso usando o lema de bombeamento?
Muito obrigado pela edição :)
Respostas:
Nem todos os idiomas não regulares são reprovados no teste do lema de bombeamento. A Wikipedia tem um exemplo irritantemente complexo de uma linguagem não regular que pode ser bombeada. Portanto, mesmo que um idioma não seja regular, talvez não possamos provar esse fato usando o lema de bombeamento.
Mas podemos usar o lema de bombeamento para provar que seu primeiro idioma não é regular. Não tenho certeza sobre o segundo.
Afirmação:L1 não é regular.
Prova: pelo lema de bombeamento. Deixeip seja o comprimento do bombeamento. (Vou usar o alfabeto{a,b} ao invés de {0,1} .) E se p=1 , então pegue a string abbaa , que está em L1 e bombeá-lo para aabbaa que não está em L1 , tão L1 não seria regular.
E sep>1 , então pegue a string apbbaN . (Vamos descobrir o que queremosN para ser posterior.) Em seguida, considere qualquer divisão da string em xyz Onde x=ap−k , y=ak e z=bbaN .
Agora vamos bombear essa cordai vezes. (Vamos descobrir o que queremosi para ser mais tarde.) Recebemos a string xyiz , que dá ap−kaikbbaN=ap−k+ikbbaN .
Agora vamos voltar. Primeiro, escolhemosN . Então, alguma escolha dek foi feito. Então, escolhemosi . Queremos descobrir o queN escolher para que, para qualquer escolha de k∈[1,p] , podemos escolher um i que torna essa string um palíndromo, tornando o número de a s à esquerda é igual ao número à direita. (Ele sempre terá um comprimento uniforme.)
Então, queremos sempre conseguir issop−k+ik=N . Se brincarmos com a matemática, achamos que devemos escolherN=p+p! e escolher i=p!/k+1 .
Então, para recapitular, escolhemosN=p+p! e escolheu a string apbbaN . Então alguma escolha dek foi feito para que a corda fosse composta de ap−kybbaN Onde y=ak . Então nós escolhemosi=p!/k+1 . Nós bombeamos a corda para obterap−kyibbaN=ap−kaikbbaN=ap−k+ikbbaN .
Mas sabemos quep−k+ik=p−k+(p!k+1)k=p−k+p!+k=p+p! . EN=p+p! . Então o número dea s em ambas as extremidades é o mesmo; portanto, a cadeia é um palíndromo de comprimento par; portanto, não está L1 , tão L1 não é regular. □
fonte
Para a primeira pergunta, a string0p12p0p+p! é um contra-exemplo adequado. Seja qual for o comprimento dey é, deve ser um fator de p! , então bombeamos o suficiente e obtemos p+p! zeros no início.
fonte
Depois de muito pensar, acho que respondi 2.
escolhemos string (010) ^ N (101) ^ N, em que N está bombeando o comprimento. Não importa o que y escolhermos, xy ^ 0z terá mais 101 do que 010. a idéia é que só podemos adicionar mais 101 sub-strings na primeira parte da string ou remover algumas sub-strings 010.
fonte