非常规语言与常规语言的连接总是不规则的吗?

Is concatenation of a non regular language with a regular language always not regular?

我想知道两种语言(一种是常规语言,另一种不是)之间的连接是否总是不规则的,或者输出是否可能是一种常规语言。 谢谢。

不会,因为我们可以找到一个反例来证明它有时会发生:

L1 不规则:(a^2)^n 且 n>=0
L2 正则:a*

连接产生语言 L3= aa*,这显然是正则的。

a^(2^n) n>=0 是非正则的,除非将它与正则的 a* 连接起来,生成正则语言。它变成 L = {a^(2^n)a*, n>=0} 基本上抵消了 L={aa*} 这是正常的。

Patrick87,(a^2)^n n>1 有正则表达式 (aaaa)(aa)*

记住空语言∅和空串 {ε} 的单例语言都是正则的。任何非常规语言和空语言的串联是空语言(正规),任何非常规语言和 {ε} 的串联是原始语言(非常规)。因此,答案取决于语言的选择。

(@Hyruma92 给出了另一个例子,说明连接给出了常规语言;我添加这个答案是因为我认为它更直接,更简单地让你到达那里。这里的直觉是空语言是语言的零元素连接和 {ε} 是标识元素,这激发了您可能想要尝试它们的原因。)