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 writtenwhere , , and replacing the subtree between the repeated variables zero, one, or several times provesThis 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 grammargenerates 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
There are currently no matching articles.