上下文自由语言问题(抽取引理)

时间:2010-04-08 02:12:02

标签: theory automata proof language-theory

我知道这与编程没有直接关系,但我想知道是否有人知道如何将泵浦引理应用于以下证明:

  

显示 L = {(a ^ n)(b ^ n)(c ^ m):n!= m} 不是无上下文语言

我非常有信心使用抽吸引理,但这个真的很让我感到厌烦。你觉得怎么样?

1 个答案:

答案 0 :(得分:6)

编辑:我完全引导你走错了轨道。当我自己没有完全解决问题时,当我试图提供帮助时会发生这种情况。

奥格登的引理

假设L无上下文。根据Ogden的引理,存在一个具有以下属性的整数p:

给定L中的字符串w至少p个符号长,其中至少p个符号被“标记”,w可以表示为uvxyz,满足:

  1. x至少有一个标记符号
  2. u和v都有标记的符号,或者y和z都有标记的符号,
  3. vxy最多有p个标记符号,
  4. u v i x y i z在L中,i> = 0
  5. 那是奥格登的引理。现在,令q为每个不大于p的正整数可整除的整数。设w = a p + q b p + q c p 。标记每一个c。 #2,u或v必须包含至少一个c。如果u或v包含任何其他符号,则#4失败,因此u和v必须仅包含c。但是当i = q / | uv |时#4失败了。我们知道q可以被| uv |整除因为p> | UV | > 0,q可以被小于p的所有正整数整除。

    请注意,当你标记所有符号时,奥格登的引理会变成抽象引理。

    抽水引理

    假设L无上下文。通过泵浦引理,存在长度p(不一定与上面相同的p),使得L中的任何字符串w可以表示为uvxyz,其中

    1. | vxy | < = p,
    2. | VY | > = 1,
    3. u v i x y i z在L中,i> = 0。
    4. 给定L中的字符串w,或者m> n或m < ñ。假设p = 2。

      假设m> ñ。 (注意Λ表示空字符串。)

      • 设u = a n b n c m-1
      • 设v = c
      • 设x =Λ
      • 设y =Λ
      • 设z =Λ

      假设n>米。

      • 设u = a n-1
      • 让v = a
      • 设x =Λ
      • 设y = b
      • 设z = b n-1 c m

      这表明L中没有字符串提供了一个使用抽取引理的反例,假设L是一个无上下文的语言(即使它是上下文敏感的)。