我正确使用泵浦引理?

时间:2013-02-07 11:07:22

标签: context-free-grammar pumping-lemma

我试图通过抽水引理证明以下语言不规律。但我不确定我是否做得对。

{L = a 2 n | n> = 0}

到目前为止我所做的是以下内容:

s = a 2 p

x = a 2 i

y = a 2 j

z = a 2 p-i-j

因此xy 2 z = a 2 p + j

这意味着 2 p + j >一个 2 P ,使语言不规律

我做得对吗?或者有什么我错了吗?

1 个答案:

答案 0 :(得分:4)

不完全,你得出了正确的结论,但推理有点偏。 Pumping lemma表示对于每种常规语言L,都存在一个整数p >= 1,其中每个长度大于或等于s的字符串p都可以写入为s = xyz,其中包含以下条件:

  1. y非空
  2. xy≤p
  3. 的长度
  4. xy i z所有i≥0
  5. 的语言为L

    你的第一步是正确的,s = a 2 p 确实比p长。然而,泵浦引理表明s可以被分为满足上述条件的s = xyz。换句话说,存在 s的一个除法s = xyz,但除了知道它应该满足上述三个属性之外,你不能选择那个除法。

    在你的情况下,L是一种语言,其中a的数量是2的幂。现在取s = a 2 p ,我们知道L中下一个最长的字符串是(a 2 p 2 。从那里,如果前两个条件成立,则可以看出第三个条件当然不能适用于i = 2,因为 2 p < xy 2 z< (一 2 P 2 。 (用简单的英语,xy 2 z的长度介于2的幂之间,所以它不是L语言,就像它是常规语言一样)