# Lecture 07

## Pumping Lemma for CFLs

Lemma If $$L$$ is a CFL, then there is $$p>0$$ (pumping length) such that every string $$s\in L$$ of length $$|s|\geq p$$ can be decomposed as $$s=uvxyz$$ where

1. $$\forall i\geq 0$$, $$uv^ixy^iz\in L$$
2. $$|v|+|y|>0$$ (and $$|x|>0$$ and $$|u|+|z|>0$$).
3. $$|vxy|\leq p$$

Proof Let $$G$$ be a grammar that generates $$L$$ and is in Chomsky Normal form. Let $$m$$ be the number of variables in $$G$$.

Prop If $$G$$ is in Chomsky Normal form, any parse tree that generates a string of length $$l\geq 2^d+1$$ must have depth $$>d$$.

Let $$p=2^{m+1}$$, for any $$s\in L$$ of length $$|s|\geq p$$, then parse tree that generate $$s$$ has depth $$>m$$. So there is a path from the root to a terminal symbol in $$s$$ that has length $$\geq m+1$$ in the parse tree. By pigeonhole principle, one variable appears at least twice in this path.

      S
/ \
/ R \
/ / \ \
/ / R \ \
/ / / \ \ \
|u|v| x |y|z|

S
/ \
/ R \
/ / \ \
/ / R \ \
/ / / \ \ \
|u|v| R |y|z|
/ \
|vxy|

The parse tree tells that there is a derivation

1. $$S\rightarrow uRz$$
2. $$R\rightarrow vRy$$
3. $$R\rightarrow x$$

Following the derivation $$1$$, then derivation $$2$$, and derivation $$3$$, we obtain the string $$uv^ixy^iz\in L$$.

The rule applied at the top $$R$$ must be $$R\rightarrow AB$$ for some variables $$A,B$$. The variable does not generate the lower $$R$$ must generate a string of length $$\geq 1$$ as $$v$$ or $$y$$.

By pigeonhole, we can find repeated variable in a path where the substrr from the top variable has depth $$\leq m+1$$, so the string $$vxy$$ generated by the substree has length $$\leq 2^{m+1}$$.

## Using the Pumping Lemma

Ex. Show that $$L=\{0^n1^n2^n:\geq 0\}$$ is not context-free.

Proof Fix any $$p>0$$, choose $$0^p1^p2^p$$.

If $$L$$ is context-free, $$\exists u,v,x,y,z$$ such that $$s=uvxyz$$ and $$|vxy|\leq p$$. The string $$vxy$$ cannot contain all $$0,1,2$$, and $$vy$$ must contain some characters, so $$uv^2xy^2z$$ cannot have same number of $$0,1,2$$ so $$uv^2xy^2z\not\in L$$

## Language Hierarchy Theorem $$I$$

Finite Languages $$\subset$$ Regular Languages $$\subset$$ Context-free Languages

## Glimpse Beyond

PDA $$\neq$$ Deterministic PDA (book 2.4).

$$L_1=\{w\#w^R:w\in\{0,1\}^*\}$$, $$L_1\in DPDA$$ $$L_2=\{ww^R:w\in\{0,1\}^*\}$$, $$L_2\not\in DPDA$$

Quote "Every complex problem has solution that is simple, elegant, and wrong" -- whoever