Lema de crecimiento para lenguajes libres de contexto

El lema de crecimiento para lenguajes libres de contexto  es un lema que, por analogía con el lema del mismo nombre para lenguajes regulares, hace relativamente fácil demostrar que un lenguaje dado no es libre de contexto .

Redacción

Si L es un lenguaje CS sobre el alfabeto V, entonces . En otras palabras, cualquier cadena suficientemente larga en el lenguaje CS se puede dividir en cinco partes para que la repetición de la segunda y cuarta partes un número arbitrario de veces (quizás 0) no lleve a ir más allá del lenguaje.


Prueba

Supongamos que se da un lenguaje CS (V, N, S, G) y se reduce la gramática del lenguaje (es decir, no contiene reglas de la forma A → ε o A → B).

Dado que el número de símbolos no terminales es finito, así como la longitud de cada regla de inferencia, la longitud de la cadena, cuya altura del árbol de derivación no excede |N|, también está limitada desde arriba por un cierto número nm.

Consideremos una cadena . En virtud de lo anterior, la altura de su árbol de derivación excederá |N|, es decir, existirá un camino desde el axioma hasta uno de los símbolos terminales, cuya longitud será mayor que el número de no terminales símbolos de la gramática. Dado que se reemplaza un símbolo no terminal en cada paso, al menos un símbolo Q no terminal se reemplazará dos veces en esta ruta. De esto se deduce que hay una cadena xQy con x o y no vacíos que se derivan de Q. Por lo tanto, en el proceso de derivación S →* α, el proceso de derivación Q →* xQy puede repetirse tantas veces como se desee u omitirse.

Un corolario trivial: en cualquier lenguaje CS infinito hay un subconjunto infinito de cadenas cuyas longitudes forman una progresión aritmética creciente.

Ejemplos de uso

Véase también

Literatura