Skip to content

定理Theorem

上下文无关语言闭包性质

施工中 · 内容逐步修订

Closure properties of context-free languages

上下文无关语言对并、连接、Kleene 星、同态和与正则语言求交封闭,但不对交和补封闭。

形式陈述 ​

由上下文无关文法生成的语言简称 CFL。以下闭包陈述使用语言运算:输入语言属于指定类别时,运算结果仍属 CFL。CFL 对有限并、连接、Kleene 星、反转、同态、逆同态以及与正则语言求交封闭。补集相对于固定字母表的 Σ∗ 取。并、连接和星可直接组合 CFG 或 PDA;与正则语言求交可构造 PDA 与 DFA 的状态乘积。CFL 一般不对交、补或差封闭;若对补封闭,则结合对并封闭和 De Morgan 律会推出对交封闭,与反例矛盾。

直觉

闭包问题问的是:把两个语言经过某种运算组合后,是否仍能由同一类机器描述。对上下文无关语言,答案呈现鲜明的不对称:一只栈能在多个语法之间选择、顺序拼接或重复,所以并、连接与 Kleene 星号可以通过局部拼接文法实现;交可能要求同一输入同时满足两套栈约束,而一只栈未必能同时保留两套信息。补的困难则在于非确定接受是“存在成功分支”:把每条分支的成功与失败互换,不会把存在量词变成“所有分支失败”。有限自动机只增加有限控制,因此 CFL 与正则语言求交仍可由一只栈完成。理解这种能力差异,比单纯背诵闭包表更重要。

例子与边界

令 L1={aibicj:i,j≥0}、L2={aibjcj:i,j≥0}。前者可用 S1→AC、A→aAb∣ε、C→cC∣ε 生成;后者可用 S2→DB、D→aD∣ε、B→bBc∣ε 生成。两者分别只要求一对计数相等,故都是 CFL。交集同时要求 #a=#b 与 #b=#c,于是等于 {anbncn:n≥0};上下文无关泵引理证明它不是 CFL。

若 L1={aibi:i≥0}、L2={cj:j≥0},则 L1L2={aibicj} 仍是上下文无关语言:文法先生成匹配的 a,b,再生成任意个 c。上下文无关语言也对与正则语言的交封闭;例如 {aibicj:i,j≥0} 与正则语言 a∗b∗cc 相交后得到 {aibic2:i≥0},仍是上下文无关语言。

有限并的构造也能直接写出:先把两套文法的非终结符重命名为互不相交,再用新的开始符号增加 S→S1∣S2;连接改用 S→S1S2,单个语言的星则用 S→S1S∣ε。重命名防止本来无关的规则意外共用变量。与正则语言求交时,PDA 的状态再记录 DFA 的当前状态:消费字符时两者一起更新,PDA 走 ε 边时 DFA 保持不动,最后要求两者都接受。栈仍只有一条;再由CFG–PDA 等价定理把这台乘积机器转换回文法,即得所要求的 CFL 闭包。

交不封闭还推出补不封闭:若上下文无关语言对补封闭,那么利用其对并封闭和 De Morgan 律,就会得到对交封闭,与上述反例矛盾。差也不封闭,否则取 Σ∗∖L 就会得到补封闭。这里的论证针对一般上下文无关语言;确定性上下文无关语言具有不同的补封闭性质。无限并也不能由有限并推广:任何语言都是其单字语言的并,而每个单字语言甚至都是正则的。

推论与应用

这些闭包性质让 语言运算 成为构造新 上下文无关文法 的模块化工具,决定哪些组合与语法过滤能在解析器生成器中安全实现,也能服务于非上下文无关性的归约证明:先假设目标语言属于该类,再与精心选择的正则语言相交,把问题化到已知反例。与 正则语言闭包性质 对照,还能看出有限状态模型和栈模型在布尔运算上的本质差别。

参考资料
  • John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, 3rd ed., Pearson, 2006,Chs. 5–7。
  • Michael Sipser, Introduction to the Theory of Computation, 3rd ed., Cengage, 2013,Ch. 2。
  • OpenDSA Project Contributors, Formal Languages With Visualizations: Properties of Context-Free Languages, 2019,§8.1.1.1,文法组合与不封闭反例。
关系图谱16 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系