A parse tree has the start variable at its root; the ordered children of a variable spell the right side of the production used at that occurrence, and its leaves, read left to right, spell the derived word.
For a grammar in Chomsky normal form with variables, take pumping length . A parse tree for a word of length at least has a root-to-leaf path containing one variable twice. The yield can therefore be written
where , , and replacing the subtree between the repeated variables zero, one, or several times proves
This is the pumping lemma for context-free languages. Without Chomsky normal form but with no epsilon or unit productions, use the maximum production length to choose a larger exponential ; bounded branching and the same repeated-variable argument apply.
The language is not context free. A pumped window of bounded length cannot alter all three long blocks equally, so pumping breaks one of the required equalities.
The language is context free. For example the grammar
generates with , and every required word has this form.
The language is not context free. Intersecting with a suitable regular language that forces both copies into long homogeneous blocks reduces to a marked copy language; the context-free pumping lemma then places the two pumped pieces within only finitely many local blocks and cannot change the two copies identically. Equivalently, the standard copy-language proof applies with the fixed marker .

Articles by others on the same topic (0)

There are currently no matching articles.