抽取引理以显示`{a ^ n b ^ m | n = km,其中k为N}`不常规

时间:2015-01-05 11:31:44

标签: regular-language finite-automata dfa pumping-lemma

我怎么能证明L={a^n b^m | n=km for k in N}不是使用抽水引理的常规语言?

我开始在wLw=a^n b^m中为n=km中的某些k提供Nwa^i * a^j * a^(n-i-j) b^m有三种可能的分解:

  1. a^i * a^(n-i) b^j * b^(m-j)
  2. a^n b^i * b^j * b^(m-i-j)
  3. L
  4. 在第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 zL位于i所有L。因此,通过泵浦引理,L是常规的。

    我错过了什么?

    编辑:泵送引理的表述:

      

    k成为具有w州的DFA接受的常规语言。让L>= k中长度为w的任何单词。然后u v z可以|uv| <=k v>0u v^i zL写在i>=0所有{{1}}

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,你可以抽出足够的时间来达到倍数。