嗨,我正在尝试练习抽取引理的问题。我需要证明语言L = {w E字母a,b,c | bs是bs的两倍,bs是ws的两倍bs
现在我创建了一个单词w = a ^ 4n * b ^ 2n * c ^ n属于L.我一直在尝试进一步计算,但我不明白该怎么做。我怎样才能找到xyz所代表的内容?我如何证明存在矛盾?我已经尝试了很长时间,并在互联网上寻找,但我真的很挣扎。
答案 0 :(得分:1)
以下是无上下文语言的抽象引理:
如果语言L没有上下文,则存在一些整数p≥1 (称为“抽吸长度”)使得L中的每个字符串
w
都具有 p或更多符号的长度(即| w |≥p)可写为w = uvxyz,带有子串u,v,x,y和z,这样
- | vxy | ≤p,
- | VY | ≥1,
- u(v ^ i)x(y ^ i)z对于所有i≥0都在L中。
醇>
让我们看一下字符串w=(a^4p)(b^2p)(c^p)
为了显示一个矛盾,我们应该表明,对于w
的每个子字符串,抽出这个词,都会将其从语言中删除。
让我们看几个案例:
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。
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)
您可以证明,对于每个字母a
,b
或c
,第一个案例的抽取将从该语言中获取该字词,并且每个字母都包含2个字母{{ 1}}或(a^k)(b^l)
使用第二种情况进行抽取将使该词脱离语言。
由于| vxy |的条件≤p,我们不能得到3个字母的序列。 我们用3个字母得到的最短子串是:a(b ^ 2p)c,长度为2p + 2,对于这种情况无效。
因此,我们展示了对于我们选择的每个子字符串,抽出单词将使其脱离语言。我们有一个矛盾,即这种语言限定了泵浦引理,因此这种语言不是无语言语言。