上下文无关语言的泵引理
定理33:如果语言$L$是CFL,那么存在正整数$N$,对$\forall z \in L$,只要$\vert z \vert \geq N$,就可以将$z$分为五部分$z=uvwxy$满足
- $vx \not= \epsilon$(或$\vert vx \vert \gt 0$)
- $\vert vwx \vert \leq N$
- $\forall i \geq 0,wv^iwx^iy \in L$
证明:
- 设CNF格式CFG $G$中变元数$\vert V \vert = m$,令$N = 2^m$,若有$z \in L(G)$,且$\vert z \vert \geq N$
- 则$z$的派生树内节点是二叉树,最长路径长度至少$m+1$,节点至少$m+2$
- 该路径下由上之上$m+1$个节点中,必有两个$T_2$和$T_1$标记了相同的变元$A$
- 若标记$T_2$产物为$w$,且是$T_1$的子树,$T_1$的产物可记为$vwx$,则有$A \underset{}{\stackrel{\ast}{\Rightarrow}} vAx$和$A \underset{}{\stackrel{\ast}{\Rightarrow}} w$
- 那么$\forall i \geq 0, A \underset{}{\stackrel{\ast}{\Rightarrow}} v^iwx^i$。不妨设$z=wvwxy$,则$S \underset{}{\stackrel{\ast}{\Rightarrow}} uAy \underset{}{\stackrel{\ast}{\Rightarrow}} uv^iwx^iy$
- $T_1$路径长不超过$m+1$,那么$T_1$产物长度不超过$2^m$,所以$\vert vwx \vert \leq 2^m$
- $T_2$必在$T_1$的左/右儿子中,所以$v$和$x$不可能同时为空,即$vx \not= \epsilon$