我想知道,给定一个只包含 Kleene 星号运算符(例如(ab)*)的常规语言 L,是否可以通过连接两种非常规语言来生成 L?我试图证明 L 只能由两种常规语言的连接生成。
谢谢。
我想知道,给定一个只包含 Kleene 星号运算符(例如(ab)*)的常规语言 L,是否可以通过连接两种非常规语言来生成 L?我试图证明 L 只能由两种常规语言的连接生成。
谢谢。
这种说法是错误的。在 Σ = {a} 上考虑这两种语言:
L 1 = { 一个n | n 是 2 的幂 } ∪ { ε }
L 2 = { 一个n | n不是2 的幂 } ∪ { ε }
这两种语言都不是正则的(第一种可以通过 Myhill-Nerode 定理证明是非常规的,而第二种与 L 1的补码密切相关,也可以证明是非常规的。
但是,我要声明 L 1 L 2 = a*。首先,请注意串联 L 1 L 2中的任何字符串都具有 a n的形式,因此是 a* 的元素。接下来,取 a* 中的任意字符串;让它成为一个n。如果 n 是 2 的幂,则它可以由 L 1中的n和 L 2中的ε的串联形成。否则,n 不是 2 的幂,它可以由来自 L 1的 ε和来自 L 2的n的串联形成。因此,L 1 L 2 = a*,所以你要证明的定理是错误的。
希望这可以帮助!