Non tutte le lingue non regolari non superano il test del lemma di pompaggio. Wikipedia ha un esempio fastidiosamente complesso di un linguaggio non regolare che può essere pompato. Quindi, anche se una lingua non è regolare, potremmo non essere in grado di provare questo fatto usando il lemma del pompaggio.
Ma si scopre che possiamo usare il lemma del pompaggio per dimostrare che la tua prima lingua non è regolare. Non sono sicuro del secondo.
Reclamo: non è regolare.L1
Prova: dal lemma del pompaggio. Sia la lunghezza di pompaggio. ( l'alfabeto anziché .) Se , prendi la stringa , che si trova in e in che non lo è in , quindi non sarebbe regolare.p{a,b}{0,1}p=1abbaaL1aabbaaL1L1
Se , prendi la stringa . (Scopriremo cosa vogliamo che sia in seguito.) Quindi prendiamo in considerazione qualsiasi divisione della stringa in dove , e .p>1apbbaNNxyzx=ap−ky=akz=bbaN
Ora pompiamo questa stringa volte. (Capiremo cosa vogliamo che sia dopo.) la stringa , che dà .iixyizap−kaikbbaN=ap−k+ikbbaN
Ora facciamo un passo indietro. In primo luogo, abbiamo scelto . Quindi, è stata fatta una scelta di . Quindi, abbiamo scelto . Vogliamo capire quale scegliere in modo che, per qualsiasi scelta di , possiamo scegliere un che rende questa stringa un palindromo rendendo il numero di s sulla sinistra uguale al numero su la destra. (Avrà sempre una lunghezza pari.)NkiNk∈[1,p]ia
Così vogliamo ottenere sempre che . Se giochiamo con la matematica, scopriamo che dovremmo sceglieree scegli .p−k+ik=NN=p+p!i=p!/k+1
Quindi, per ricapitolare, abbiamo sceltoe ha scelto la stringa . Quindi è stata fatta una scelta di in modo che la stringa fosse composta da dove . Quindi abbiamo scelto . Abbiamo pompato la stringa per ottenere .N=p+p!apbbaNkap−kybbaNy=aki=p!/k+1ap−kyibbaN=ap−kaikbbaN=ap−k+ikbbaN
Ma sappiamo che. E. Quindi il numero di s su entrambe le estremità è lo stesso, quindi la stringa è un palindromo di lunghezza pari, quindi non è in , quindi non è regolare. p−k+ik=p−k+(p!k+1)k=p−k+p!+k=p+p!N=p+p!aL1L1□