我知道这与编程没有直接关系,但我想知道是否有人知道如何将泵浦引理应用于以下证明:
显示 L = {(a ^ n)(b ^ n)(c ^ m):n!= m} 不是无上下文语言
我非常有信心使用抽吸引理,但这个真的很让我感到厌烦。你觉得怎么样?
答案 0 :(得分:6)
编辑:我完全引导你走错了轨道。当我自己没有完全解决问题时,当我试图提供帮助时会发生这种情况。
假设L无上下文。根据Ogden的引理,存在一个具有以下属性的整数p:
给定L中的字符串w至少p个符号长,其中至少p个符号被“标记”,w可以表示为uvxyz,满足:
那是奥格登的引理。现在,令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,其中
给定L中的字符串w,或者m> n或m < ñ。假设p = 2。
假设m> ñ。 (注意Λ表示空字符串。)
假设n>米。
这表明L中没有字符串提供了一个使用抽取引理的反例,假设L是一个无上下文的语言(即使它是上下文敏感的)。