简体   繁体   中英

If a regular language only contains Kleene star, then is it possible that it comes from the concatenation of two non-regular languages?

I want to know that given a regular language L that only contains Kleene star operator (eg (ab)*), is it possible that L can be generated by the concatenation of two non-regular languages? I try to prove that L can be only generated by the concatenation of two regular languages.

Thanks.

This statement is false. Consider these two languages over Σ = {a}:

L 1 = { a n | n is a power of two } ∪ { ε }

L 2 = { a n | n is not a power of two } ∪ { ε }

Neither of these languages are regular (the first one can be proven to be nonregular by using the Myhill-Nerode theorem, and the second is closely related to the complement of L 1 and can also be proven to be nonregular.

However, I'm going to claim that L 1 L 2 = a*. First, note that any string in the concatenation L 1 L 2 has the form a n and therefore is an element of a*. Next, take any string in a*; let it be a n . If n is a power of two, then it can be formed as the concatenation of a n from L 1 and ε from L 2 . Otherwise, n isn't a power of two, and it can be formed as the concatenation of ε from L 1 and a n from L 2 . Therefore, L 1 L 2 = a*, so the theorem you're trying to prove is false.

Hope this helps!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM