1
$\begingroup$

I am looking for a proof that $(L_1^* L_2^* L_1^*)^* = (L_1 \cup L_2)^*$. I can reason on a case-by-case basis that for string in $(L_1 \cup L_2)$, that string also exists in $(L_1^* L_2^* L_1^*)$ and I know that the Kleene star operation is just recursive concatenation. I can also see that on that basis, if I then take the Kleene star of either language, I take any string in $(L_1 \cup L_2)^*$ and also form that string in $(L_1^* L_2^* L_1^*)^*$, but since there are possibly strings in $(L_1^* L_2^* L_1^*)$ that do not exist in $(L_1 \cup L_2)$, I am having difficulty reasoning about why they are equivalent in the case of Kleene star being applied to both other than by intuition. I'm also having trouble with formalizing the reasoning that I do feel sure about into a proof. Any help is much appreciated. Thank you.

1 Answers 1

0

Hint: you know how to prove that $(L_1 \cup L_2)^* \subseteq (L_1^*L_2^*L_1^*)^*$. For the opposite direction, prove that $(L_1^*L_2^*L_1^*) \subseteq (L_1 \cup L_2)^*$. Then note that for any $L$, $(L^*)^* = L^*$.