Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con...

27
Linguaggi Liberi da Contesto Esercizi Linguaggi e Grammatiche Liberi da Contesto N.Fanizzi-V.Carofiglio Dipartimento di Informatica Università degli Studi di Bari 22 aprile 2016 Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Transcript of Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con...

Page 1: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Linguaggi e Grammatiche Liberi da Contesto

N.Fanizzi-V.Carofiglio

Dipartimento di InformaticaUniversità degli Studi di Bari

22 aprile 2016

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 2: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

1 Linguaggi Liberi da ContestoAlberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

2 Esercizi

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 3: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Grammatiche e Linguaggi Liberi da Contesto

G = (X ,V , S ,P) è una grammatica libera da contesto sse:v −→ w ∈ P dove v ∈ V .Il linguaggio L(G ) si dice linguaggio libero da contesto.Il nome deriva dal fatto che un non terminale può esseresostituito indipendentemente dal contesto della forma di frasedove si trova.La sostituzione è sempre valida.Appartiene a questa categoria la maggior parte dei linguaggi diprogrammazione.

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 4: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Alberi

Le derivazioni di una grammatica libera possono essererappresentate graficamente da alberiAlbero: Grafo orientato, aciclico, connesso con al più un arcoentrante per ogni nodo

La frontiera dell’albero è rappresen-tata dalle foglie lette da sinistraverso destraLa lunghezza di un cammino dal-la radice ad una foglia è data dalnumero di non terminali incontratiL’altezza dell’albero è data dallalunghezza del cammino più lungo

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 5: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Alberi di Derivazione

Data una grammatica libera G = (X ,V , S ,P) e w ∈ X ∗ tale cheS ∗

=⇒ w un albero di derivazione di w ha le seguenti proprietà:1 radice = S2 nodi interni = V3 foglie = X ∪ {λ}4 se il nodo interno è A e A1,A2, . . . ,Ak sono i figli del nodo A

allora ∃A −→ A1A2 · · ·Ak ∈ P

5 w si ottiene leggendo e concatenando le foglie da sinistra adestra

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 6: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Osservazioni.Un albero di derivazione non impone alcun ordine nell’applicazionedelle produzioni in sequenza per ottenere una derivazione

data una derivazioneesiste uno ed un solo albero che la rappresentadato un albero di derivazioneesistono più derivazioni possibilia seconda dell’ordine scelto per l’applicazione delle produzioni

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 7: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Esempio. Data una grammatica libera G = (X ,V , S ,P) conX = {a}, V = {S ,H} e P = {S 1−→ Ha, H 2−→ HS , H 3−→ a}La stringa aaaa è in L(G ), come dimostra l’albero:

Da cui la stringa si ricava sia tramite:

S =⇒1 Ha =⇒2 HSa =⇒3 aSa =⇒1 aHaa =⇒3 aaaa

sia con:

S =⇒1 Ha =⇒2 HSa =⇒1 HHaa =⇒3 Haaa =⇒3 aaaa

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 8: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Derivazioni Canoniche

Data una grammatica G = (X ,V , S ,P) si dirà che la derivazione

S =⇒ w1 =⇒ w2 =⇒ · · · =⇒ wn = w

con wi = yiAzi e wi+1 = yiwizi , i = 1, . . . , n − 1è una derivazione canonica destra(risp. canonica sinistra)sse per ogni i = 1, . . . , n − 1 risulta:

zi ∈ X ∗ (risp. yi ∈ X ∗)

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 9: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Esempio.Considero la grammatica con produzioni:

P =

S −→ 0B|1AA −→ 0|0S |1AAB −→ 1|1S |0BB

Derivazione sinistra di 0011:

S =⇒ 0B =⇒ 00BB =⇒ 001B =⇒ 0011

Derivazione destra di 0011:

S =⇒ 0B =⇒ 00BB =⇒ 00B1 =⇒ 0011

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 10: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Principio di sostituzione di sottoalberi

S ∗=⇒ 0011 S ∗

=⇒ 000111 Iterando:

0011 |w| = 4

000111 |w| = 6

00001111 |w| = 8

.

.

....

00n11n |w| = 2n + 2

Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale)

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 11: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

La lunghezza delle parole così ottenute cresce in manieracostante (lineare) quindi un linguaggio con parole checrescono in modo esponenziale non può essere liberoGeneralizzazione: supposto di incontrare almeno due volte unnon terminale A nell’albero di derivazione di z .

il sottoalbero più basso con radice A genera wquello più alto genera vwxsostituendo l’albero più alto con il più basso si ottiene unaderivazione valida della stringa uwyinvece, sostituendo quello più basso con quello più alto siottiene una derivazione della stringa uvvwxxy cioè uv2wx2yiterando questa sostituzione si ottiene l’insieme

{uvnwxny | n ≥ 0}

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 12: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

A

v

A

S

yxwu

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 13: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Proposizione. Ogni linguaggio libero infinito deve contenerealmeno un sottinsieme infinito di stringhe della forma

uvnwxny n ≥ 0

Lemma. Data una grammatica G = (X ,V , S ,P) libera,supponiamo che

m = max{|w | ∈ N | A −→ w ∈ P}

Sia Tw un albero di derivazione per una stringa w di L(G ).Se l’altezza di Tw è al più pari a j ∈ N, allora |w | ≤ mj

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 14: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Dim. Per induzione sull’altezza j :(base) j = 1 : |w | ≤ m = m1

(passo) supponendo che il lemma valga per albero di altezza pari al piùa j e la cui radice sia un non terminale,si deve dimostrare la tesi per j + 1:Sia A −→ v , dove v = v1v2 · · · vk , |v | = k , k ≤ mla prod. che determina il livello più alto dell’alberoOgni simbolo vi ∈ v , i = 1, . . . , k può avere altezza al piùuguale a j , essendo Tw in questo caso di altezza j + 1Per ipotesi di induzione, questi alberi hanno al più mj foglie.Poiché |v | = k ≤ m la stringa w frontiera di Tw avràlunghezza:

|w | ≤

k volte︷ ︸︸ ︷mj + mj + · · ·+ mj= |v | ·mj = k ·mj ≤ m ·mj = mj+1

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 15: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Pumping Lemma per linguaggi Liberi

Teorema uvwxy.Sia L un linguaggio libero da contesto.Esiste una costante p dipendente solo da L,tale che se z è una parola di L di lunghezza maggiore di p (|z | > p),allora z può essere scritta come uvwxy in modo che:

1 |vwx | ≤ p2 al più uno tra v e x è la parola vuota (vx 6= λ)3 ∀i ∈ N, i ≥ 0 : uv iwx iy ∈ L

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 16: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Dim. Sia G una grammatica che genera Lm = max{|v ||A −→ v ∈ P} e k = |V |Posto p = mk+1, consideriamo z ∈ L tale che |z | > pPer il lemma: |z | > p = mk+1 allora ogni albero di derivazione perz ha un’altezza maggiore di k + 1, cioè esiste un cammino dilunghezza maggiore o uguale a k + 2.Ma k = |V | quindi sul cammino ci sono almeno due NT ripetuti oun NT che compare 3 volte. Sia A l’NT ripetuto più in alto

Siccome A è l’NT ripetuto più in alto non vi sono altri NT ripetutialmeno due volte sotto la A più in alto, quindi il cammino dalla Asuperiore ad una foglia ha lunghezza al più k + 1Chiamiamo vwx la stringa derivata dal sottoalbero radicato nella Asuperiore, dove w è la sottostringa derivata dall’A inferiore

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 17: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

1 Dal Lemma risulta: |vwx | ≤ mk+1 = p2 Per assurdo se fosse v = λ = x la sostituzione dell’albero

radicato nell’A superiore con quello inferiore non provocanessun cambiamento.Ma in tal caso esiste un cammino di lunghezza inferiore.Si ottiene un albero di derivazione di z di altezza al più pari ak + 1.Assurdo.

3 Applicando il principio di sostituzione a z = uvwxysostituiamo il sottoalbero radicato nell’A inferiore con quellodell’A superiore ottenendo: uwy = uv0wx0yCon la sostituzione inversa: uv2wx2y e ripetendo i − 1 volte:uv iwx iy

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 18: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Osservazioni.Dato un linguaggio generato da una grammatica non liberanon si può escludere che esista una grammatica libera che logenerise un linguaggio infinito non rispetta il Pumping Lemma deilinguaggi liberi non potrà essere generato da una grammaticaliberaquindi questo teorema fornisce una condizione necessaria (manon sufficiente) perché un linguaggio sia liberoSi può utilizzare per dimostrare (per assurdo) che unlinguaggio non sia libero

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 19: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Ambiguità

Una grammatica G libera da contesto si dice ambigua sse esisteuna stringa x in L(G ) che ha due alberi di derivazione differentiovvero sse x ha due derivazioni sinistre (o destre)Esempio. La grammatica libera G = (X ,V , S ,P) conX = {a,+}, V = {S} e P = {S −→ S + S , S −→ a}è una grammatica ambigua.Ad es. w = a + a + a ottenibile con

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 20: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Linguaggi Inerentemente Ambigui

Un linguaggio G si dice inerentemente ambiguo sse ognigrammatica che lo genera è ambigua

Esempio.

L = {aibjck | i , j , k > 0, (i = j) ∨ (j = k)}

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 21: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Esempio. G = (X ,V , S ,P)con X = {if, then, else, a, b, p, q}, V = {S ,C}P = { S −→ if C then S else S | if C then S | a | b,

C −→ p | q }Si consideri w = if p then if then a else b

S

p

if C then S

C S else

bq a

thenif S

S

C S else

if

if then

then

S

bC S

aq

p

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 22: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Alberi di DerivazioneDerivazioni CanonichePrincipio di sostituzione di sottoalberiPumping Lemma per linguaggi LiberiAmbiguità

Per ottenere G ′ = (X ,V ′, S ,P ′) non ambigua usiamo laconvenzione di associare ogni else alla if più vicina:V ′ = V ∪ {S1, S2,T}

P ′ =

S −→ S1 | S2S1 −→ if C then S1 else S2 | TS2 −→ if C then S | if C then S1 else S2 | TC −→ p | qT −→ a | b

S

2

S2

S2

S1

S

if thenC S

if C then else

p

Tq T

ba

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 23: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Esercizi.

Dimostrare che i seguenti linguaggi non sono liberi da contesto:L = {at | t primo}L = {anbncn | n > 0}L = {an2 | n ≥ 0}L = {aibj | i = 2j , i , j ≥ 0}L = {akbr | k > 0, r > k2}

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 24: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Esercizio 2. Dimostrare che L = {anbncn|n > 0} non è libero

Supponiamo che L sia libero.Vale il Pumping Lemma per un certo p ∈ N.Si consideri z = uvwxy = apbpcp ∈ L tale che |z | = 3p > p ma|vwx | ≤ pPer vwx si hanno le seguenti possibilità.In tutti questi casi si dimostra che uv2wx2y 6∈ Lquindi L non può essere libero.

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 25: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

vwx = ak , 0 < k ≤ paggiungendo almeno a ed al più ap si ottiene:

uv2wx2y = ap+kbpcp

vwx = bk , 0 < k ≤ p analogamentevwx = ck , 0 < k ≤ p analogamente

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 26: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

vwx = akbr , 0 < k + r ≤ p per la 2. del Pumping Lemma:1 v 6= λ, x 6= λ:

se v 6= λ allora v = ak′perchè se fosse v = akbr ′

allora

uv2wx2y = ap−kakbr ′akbr ′

bscp 6∈ L

con p ≤ s ≤ 2(r − r ′) + p − rAnalogamente x 6= λ implica che x = br ′

per cui:

uv2wx2y = ap+k′bp+r ′

cp 6∈ L

per k ′, r ′ > 02 v 6= λ, x = λ

per le considerazioni fatte: v = ak′, 0 < k ′ ≤ k e

uv2wx2y = ap+k′bpcp 6∈ L

3 v = λ, x 6= λ: analogamente

vwx = bkc r , 0 < k + r ≤ p caso analogo al precedente

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto

Page 27: Linguaggi e Grammatiche Liberi da Contesto · Alberi di derivazione si possono sostituire con sottoalberi alberi di pari radice (non terminale) Nicola Fanizzi Linguaggi e Grammatiche

Linguaggi Liberi da ContestoEsercizi

Esercizio 3. Dimostrare che L = {an2 | n ≥ 0} non è libero

Consideriamo L = {λ, a, aaaa, a9, a16, . . .} e supponiamo che sialibero.Vale il Pumping Lemma per un certo p ∈ N.Considero allora z = uvwxy = ap2 ∈ L tale che |z | = p2 > pAnche uv2wx2y ∈ L (per la 3. del Lemma)Ma si osservi l catena di maggiorazioni:|uv2wx2y | = |uvwxy |+ |vx | = |z |+ |vx | ≤ p2 + p < p2 + 2p + 1 =(p + 1)2 rissumendo: |uv2wx2y | < (p + 1)2

Inoltre |uv2wx2y | = |z |+ |vx | > |z | = p2

Perciò z ha una lunghezza compresa (non uguale) tra due quadratisuccessivi, ciò implica che uv2wx2y 6∈ L.Assurdo, quindi L non è libero

Nicola Fanizzi Linguaggi e Grammatiche Liberi da Contesto