[英]Use the pumping lemma to show that the following languages are not regular languages L = {anbm | n = 2m}
[英]Pumping lemma to show that `{a^n b^m | n=km for k in N}` is not regular
我应该如何证明L={a^nb^m | n=km for k in N}
L={a^nb^m | n=km for k in N}
不是使用抽水引理的常规语言?
我首先在L
取一个词w
,对于N
一些k
, w=a^nb^m
, n=km
。 w
有三种可能的分解:
a^i * a^j * a^(nij) b^m
a^i * a^(ni) b^j * b^(mj)
a^nb^i * b^j * b^(mij)
在点2)中抽取中间部分将导致单词混淆,这显然不在L
,但我不知道为什么1)无法给您带来良好的分解:
假设您将a^j
抽a^j
x
次。 那么新单词中a的数量将为i+xj+nij = n+(x-1)j
。 我们知道n=km
大约m
。 我们必须证明存在x
使得新单词不在L
。 但是让我们假设j=m
(这当然是可能的,因为n=km
总是有足够数量的a,除了k=0
,但是得到的情况很简单)。 则n+(x-1)j = km+(x-1)m = m(n+x-1)
,形式为{a^nb^m | n=km for k in N}
对于所有x
{a^nb^m | n=km for k in N}
。 因此,对于每个w
我们都有一个分解uvz
,使得uv^iz
对于所有i
都在L
中。 因此,通过抽运引理, L
是规则的。
我想念什么?
编辑:给出抽水引理的公式:
令
L
为DFA接受k
个状态的常规语言。 令w
为L
中长度>= k
任何单词。 然后可以用|uv| <=k
将w
编写为uvz
|uv| <=k
所有i>=0
|uv| <=k
,v>0
和L
uv^iz
一种可能更简单的证明方法是首先修改语言。
由于正则语言在补码和与另一个正则表达式的交集下是封闭的 。
这意味着,你可以证明L
是不是证明一个正规语言complement(L)
是不是一个正规的语言,因为如果L'
是一个普通的语言, L
的,反之亦然。 交叉口也是如此。
足以证明L'也不规则:
L' = intersection(complement(L),a*b*})
从而
L'={a^nb^m|n != k*m, for any k in N}
然后,证明就变得更加容易了,因为您可以显示用作抽出引理的任何部分,如果长度为l
,则可以抽出足够的次数以达到倍数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.