[Math] Concatenation of Finite Languages and Regular Languages

automataregular-language

I know that the following statements regarding Concatenation are false. However, I'm having difficulty explaining why they are false with simple counter-examples. I'm able to find simple counter-examples for similar Union and Intersection questions. It's the concatenation questions that I'm having difficulty with.

a) If $L_1L_2$ is regular and $L_1$ is finite, then $L_2$ is regular.

b)If $L_1L_2$ is regular and $L_1$ is regular, then $L_2$ is regular.

Best Answer

For b), let $L_1=\Sigma^{*}$ and let $L_2$ be any non-regular language you like that contains the empty string. Then $L_1 L_2=\Sigma^{*}$.

For a), let $L_2$ be the set of all strings not of the form $a^n b^n$ for $n\ge 1$. (This is clearly non-regular because its complement is non-regular.) Every string is either not of the form $a^n b^n$, or is of that form, but will no longer be after removing a single $a$. So take $L_1=\{a, \varepsilon\}$, which is finite; then $L_1 L_2 = \Sigma^{*}$, which is regular.