Vækstlemma for kontekstfrie sprog

Vækstlemmaet for kontekstfrie sprog  er et lemma, der analogt med lemmaet af samme navn for regulære sprog gør det relativt nemt at bevise, at et givet sprog ikke er kontekstfrit .

Ordlyd

Hvis L er et CS-sprog over alfabetet V, så . Med andre ord kan enhver tilstrækkelig lang kæde i CS-sproget opdeles i fem dele, således at gentagelsen af ​​anden og fjerde del et vilkårligt antal gange (måske 0) ikke fører til at gå ud over sproget.


Bevis

Lad et CS-sprog (V, N, S, G) angives, og sprogets grammatik reduceres (det vil sige, at det ikke indeholder regler af formen A → ε eller A → B).

Da antallet af ikke-terminale symboler er begrænset, såvel som længden af ​​hver inferensregel, er længden af ​​kæden, hvor højden af ​​afledningstræet ikke overstiger |N|, også begrænset ovenfra af en vis nummer n.

Lad os overveje en kæde . I kraft af ovenstående vil højden af ​​dets afledningstræ overstige |N|, det vil sige, at der vil være en sti fra aksiomet til et af terminalsymbolerne, hvis længde vil være større end antallet af ikke-terminale grammatikkens symboler. Da et ikke-terminalt symbol udskiftes ved hvert trin, vil mindst ét ​​ikke-terminalt Q-symbol blive erstattet to gange i denne vej. Det følger heraf, at der er en kæde xQy med ikke-tom x eller y, der stammer fra Q. Derfor kan afledningsprocessen Q →* xQy i afledningsprocessen S →* α gentages så mange gange som ønsket eller udelades.

En triviel konsekvens: i ethvert uendeligt CS-sprog er der en uendelig delmængde af strenge, hvis længder danner en stigende aritmetisk progression.

Eksempler på brug

Se også

Litteratur