Concatenation of Finite Languages and Regular Languages 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.

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.
