Esercizio pumping lemma
Dimostrare se questo linguaggio non è libero da contesto:
L = {an^2 | n >= 0}
Supponiamo per assurdo che L sia libero da contesto, quindi vale il pumping lemma per i linguaggi liberi da contesto. Per il pumping lemma:
∃p ∈ N, p dipendente solo da L, tale che se z ∈ L, |z| > p
allora
z = uvwxy con
1) |vwx| <= p
2) vx ≠ ϵ
3) uviwxiy ∈ L, ∀i >= 0
Consideriamo
z = uvwxy = ap^2 ∈ L, |z| = p2 > p quindi per il pumping lemma z = uvwxy
Consideriamo la stringa uv2wx2y
Per la (3) del pumping lemma uv2wx2y ∈ L, ma osserviamo la catena di maggiorazioni
|uv2wx2y| = |uvwxy| + |vx| <= p2 + p < p2 + 2p + 1 = (p + 1)2
Quindi, |uv2wx2y| < (p + 1)2
Inoltre |uv2wx2y| > |uvwxy| perché per la (2) del pumping lemma vx ≠ ϵ
Per assurdo ne consegue che uv2wx2y ∉ L, quindi L non è libero da contesto.