Növekedési lemma kontextusmentes nyelvekhez

A környezetfüggetlen nyelvek növekedési lemma egy olyan lemma, amely a reguláris nyelvek azonos nevű lemmájával  analógiával viszonylag könnyen bizonyítja, hogy egy adott nyelv nem kontextusmentes .

Megfogalmazás

Ha L egy CS-nyelv a V ábécé felett, akkor . Vagyis a CS nyelvben bármely kellően hosszú lánc öt részre osztható úgy, hogy a második és negyedik rész tetszőleges számú (talán 0) ismétlése ne vezessen túl a nyelven.


Bizonyítás

Legyen adott egy CS-nyelv (V, N, S, G), és a nyelv nyelvtana redukálódik (vagyis nem tartalmaz A → ε vagy A → B alakú szabályokat).

Mivel a nem terminális szimbólumok száma véges, csakúgy, mint az egyes következtetési szabályok hossza, a lánc hosszát, amelynél a származékfa magassága nem haladja meg az |N|-t, felülről is korlátozza egy bizonyos szám n.

Nézzünk egy láncot . A fentiek miatt a származtatási fájának magassága meghaladja az |N| a nyelvtan szimbólumai. Mivel minden lépésben egy nem terminális szimbólumot cserélünk, legalább egy nem terminális Q szimbólumot kétszer cserélünk ezen az úton. Ebből következik, hogy van egy xQy lánc, amelynek nem üres x vagy y a Q-ból származtatva. Ezért az S →* α levezetési folyamatban a Q →* xQy levezetési folyamat tetszőlegesen megismételhető vagy elhagyható.

Triviális következmény: bármely végtelen CS-nyelvben van egy végtelen részhalmaza a karakterláncoknak, amelyek hossza növekvő aritmetikai sorozatot alkot.

Használati példák

Lásd még

Irodalom