【问题标题】:Proving that the set difference of a CFG and a regular language is also context free证明 CFG 和常规语言的集合差异也是上下文无关的
【发布时间】:2018-09-12 04:58:51
【问题描述】:

我需要帮助证明上下文无关语法 A 和常规语言 B 之间的集合差异是上下文无关语言。

我试图通过这样的例子来证明:

令 A = {a^n b^n | n >= 1}

令 B = {w {a,b}* | w 至少有三个 a }

那么 A-B 应该是 {a^n b^n | 1

如果 A-B 是一种上下文无关语言,那么一定有一些上下文无关语法 G 可以表示它。

G = ({S}, {a,b}, P, S)

S->aAb | ab
A->ab

G 是上下文无关的,因为它可以用 Normal Chomsky 形式重写:

S -> BD | BC
D -> AC
A -> BC
B -> a
C -> b

因此 A - B 的结果也必须是上下文无关的。

我不确定这是解决此问题的正确方法。欢迎任何帮助。

【问题讨论】:

  • “我试图通过例子来证明”——例子不是证明。
  • 有人会如何证明上述内容?
  • 尝试找到一种方法,将下推自动机和有限状态机组合成一台机器,同时完成两台原始机器的工作。
  • 我是否可以在上面的示例中为 A 设计一个 PDA,为 B 设计一个 DFA/NFA,然后创建一个满足 A-B 的等效机器,这足以证明吗?
  • 你需要一个通用的方法,而不是一个例子。

标签: context-free-grammar regular-language proof formal-languages context-free-language


【解决方案1】:

假设我们有一个 CF 语言 C 和一个常规语言 R。那么存在一个 PDA P 和一个 DFA D 其中 L(P)=C 和 L(D) = R。

所以让我们构建一个模拟 C 和 D 的新 PDA,仅当一个词被 C 接受而被 D 拒绝时才接受。让我们将此 PDA 称为 M。因此,如果 x 在 L(M) 中,则 x 在C 而不是 R 所以 L(M)=CR。

因此,CF 和正则语言的集合差异是 CF。量子力学

我在这里使用的策略是尝试使用有关通用机器的已使用事实,这些事实可以作为一种构建性证明的方式来详细说明可以接受设定差异的机器。另请注意,通过示例证明不是证明,您可能正在考虑通过构造证明非常不同。

【讨论】:

    猜你喜欢
    • 2011-06-06
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    • 2015-03-09
    • 2014-11-07
    • 2014-02-08
    • 2012-12-18
    相关资源
    最近更新 更多