Esercizi pumping lemma

Linguaggi di programmazione: esercizio 1 pumping lemma

pumping lemmaEsercizio pumping lemma

Dimostrare se questo linguaggio non è libero da contesto:

L = {0n 1m | m >= 0, n = m2}

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 la parola: z = 0(p+1)2 1(p+1)

z ∈ L, |z| = (p+1)2 + p+1 > p  quindi per il pumping lemma  z = uvwxy

Consideriamo la stringa uv2wx2y
Per la (3) del pumping lemma uv2wx2y ∈ L, ma

|uv2wx2y| = |uvwxy| + |vx| <= |uvwxy| + |vwx| <= (p+1)2 + p + 1 + p <= p2 + 2p + 1 + p + 1 + p = p2 + 4p + 2 < (p+2)2 + p + 1 + p = p2 + 4p + 4 + p + 2 = p2 + 5p + 6

Quindi, p2 + 4p + 2 < p2 + 5p + 6

Inoltre |uv2wx2y| > |uvwxy| perché per la (2) del pumping lemma vx ≠ λ

Per assurdo ne consegue che uv2wx2y ∉ L, quindi L non è libero da contesto.

/ 5
Grazie per aver votato!

One thought on “Linguaggi di programmazione: esercizio 1 pumping lemma

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *