对于常规语言a * b *,是否有非常规的超集?

时间:2016-10-23 21:42:51

标签: regular-language computation-theory

语言A = a*b*绝对是一种常用语言。 但我想知道是否有一个非常规语言的超集?并且超集必须使用相同的字母{a,b}

1 个答案:

答案 0 :(得分:2)

是的,有。取B = b n ab n (其中n> 0),这是以b开头且包含单个a的回文语言} 在中间。此语言不常规,因为pumping lemma不适用于此语言。它与A完全不相交,因为B中的每个单词都包含ba子字符串,而A中的单词都没有。

AB的联合因此是A的非常规超集。

也很容易证明并非所有常规语言都可以通过这种方式进行扩展,因为例如,给定字母表中每个可能的单词的语言都是定义的。由于没有办法在同一个字母表中形成这种语言的非平凡超集,因此在给定字母表中所有“Kleene star”语言的超集也将是常规的。

更一般地说,任何补语(C A * \ A)有限的语言A都不会有非正规超集,因为C < sub> A 及其所有子集按定义为常规(有限语言总是常规的),因此它们中任何一个与A的并集也是常规(联合的两种常规语言是正常的)