抽取引理证明一种语言不规律

时间:2017-02-25 18:08:01

标签: pumping-lemma

嗨,我正在尝试练习抽取引理的问题。我需要证明语言L = {w E字母a,b,c | bs是bs的两倍,bs是ws的两倍bs

现在我创建了一个单词w = a ^ 4n * b ^ 2n * c ^ n属于L.我一直在尝试进一步计算,但我不明白该怎么做。我怎样才能找到xyz所代表的内容?我如何证明存在矛盾?我已经尝试了很长时间,并在互联网上寻找,但我真的很挣扎。

1 个答案:

答案 0 :(得分:1)

以下是无上下文语言的抽象引理:

  

如果语言L没有上下文,则存在一些整数p≥1   (称为“抽吸长度”)使得L中的每个字符串w都具有   p或更多符号的长度(即| w |≥p)可写为

     

w = uvxyz,带有子串u,v,x,y和z,这样

     
      
  1. | vxy | ≤p,
  2.   
  3. | VY | ≥1,
  4.   
  5. u(v ^ i)x(y ^ i)z对于所有i≥0都在L中。
  6.   

取自wikipedia

让我们看一下字符串w=(a^4p)(b^2p)(c^p)

为了显示一个矛盾,我们应该表明,对于w的每个子字符串,抽出这个词,都会将其从语言中删除。

让我们看几个案例:

  1. vxy(或者在你的情况下你把它标记为“xyz”)包含一个1个字母的序列(我们假设这个字母是a所以序列是^ k,其中k> = 1) 。 对于这种情况,如果你为i = 2抽取字符串,例如你会得到: u(v ^ 2)x(y ^ 2)z = uvvxyyz =(a ^(4p + | vy |))(b ^ 2p)(c ^ p)这不是来自语言的单词因为4p + | vy |大于2 * 2p(a s两倍于b s。

  2. vxy包含2个字母的序列(假设字母为a s后跟b s,所以序列为(a ^ k)(b ^ l)k, l> = 1)。 对于这种情况,如果您为i = 2抽取字符串,您将得到: u(v ^ 2)x(y ^ 2)z = uvvxyyz =(a ^(4p + | vy |))(b ^(2p + | vy |))(c ^ p)这不是语言中的一个词,因为2P + | VY |大于2 * p(b s两倍于c s)

  3. 您可以证明,对于每个字母abc,第一个案例的抽取将从该语言中获取该字词,并且每个字母都包含2个字母{{ 1}}或(a^k)(b^l)使用第二种情况进行抽取将使该词脱离语言。

    由于| vxy |的条件≤p,我们不能得到3个字母的序列。 我们用3个字母得到的最短子串是:a(b ^ 2p)c,长度为2p + 2,对于这种情况无效。

    因此,我们展示了对于我们选择的每个子字符串,抽出单词将使其脱离语言。我们有一个矛盾,即这种语言限定了泵浦引理,因此这种语言不是无语言语言。