我怎么能证明L={a^n b^m | n=km for k in N}
不是使用抽水引理的常规语言?
我开始在w
,L
和w=a^n b^m
中为n=km
中的某些k
提供N
字w
。
a^i * a^j * a^(n-i-j) b^m
有三种可能的分解:
a^i * a^(n-i) b^j * b^(m-j)
a^n b^i * b^j * b^(m-i-j)
L
在第2点抽中间部分会产生混淆的单词,显然不在a^j
,但我无法弄清楚为什么1)无法给你一个好分解:
我们假设你抽水x
i+xj+n-i-j = n+(x-1)j
次。然后,新单词中的数量将为n=km
。对于某些m
,我们知道x
。我们必须证明存在L
,因此新单词不在j=m
中。但是我们假设n=km
(这当然是可能的,因为k=0
除了n+(x-1)j = km+(x-1)m = m(n+x-1)
之外总是有足够数量的,但是我们得到了琐碎的情况)。然后是{a^n b^m | n=km for k in N}
x
,其格式为w
。因此,对于每个uvz
,我们都有一个分解u v^i z
,L
位于i
所有L
。因此,通过泵浦引理,L
是常规的。
我错过了什么?
编辑:泵送引理的表述:
让
k
成为具有w
州的DFA接受的常规语言。让L
为>= k
中长度为w
的任何单词。然后u v z
可以|uv| <=k
v>0
,u v^i z
和L
写在i>=0
所有{{1}}
答案 0 :(得分:1)
证明这一点的一种更简单的方法是首先修改语言。
由于常规语言在补语下关闭,与另一个正则表达式交叉。
这意味着您可以通过证明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
,你可以抽出足够的时间来达到倍数。