Skip to content

上下文无关语言泵引理

Pumping lemma for context-free languages

足够长的上下文无关语言词存在两个可同步泵送的片段。

形式陈述

L 是上下文无关语言,则存在泵长度 p,使每个满足 |w|pwL 都可分解为

w=uvxyz,

并满足 |vxy|p|vy|>0,以及对所有 i0

uvixyizL.

证明在足够高的语法树根到叶路径上重复一个非终结符,再同步复制或删除其两层之间的两个产出片段。分解可依赖于 w,而反证时必须对所有合法分解都构造失败的泵指数。

直觉

有限个非终结符无法为任意深的推导树提供全新标签,所以某个递归结构必重复;重复的上下文在字符串的两个位置同时留下可泵送痕迹。

例子与边界

语言 {anbncn:n0} 不是 CFL:取 apbpcp,因 |vxy|p,两个被泵片段不可能同时覆盖三段,泵后至少有一种计数失衡。量词顺序很关键:证明者先选 p,反证者选长词,随后必须应对证明者给出的任意分解。泵引理只是必要条件;某些非 CFL 也满足类似泵性质,不能据此证明一个语言是 CFL。

推论与应用

泵引理是排除候选 CFG/PDA 的常用工具;当局部窗口难以控制时,可改用 Ogden 引理或闭包性质。它还解释了单栈结构能够复制局部嵌套,却难以同步维护三个独立计数。

参考资料
  • John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, 3rd ed., Pearson, 2006,Ch. 7, pumping lemma for context-free languages。
  • Michael Sipser, Introduction to the Theory of Computation, 3rd ed., Cengage, 2013,Ch. 2, pumping lemma for context-free languages。