The exercise:
$L_1 = L(E_1)$, where $E_1$ is the regular expression $(11)^* (00)^*$. $L_2 = L(E_2)$ where $E_2$ is the regular expression $(111)^* + (111)^* 0(00)^*$. $L_3 = L(G)$ where $G$ is the grammar defined as $G = \langle V_n, V_t, S, P\rangle$, with $V_n = \{S\}$, $V_t = \{0,1\}$ and $P$ the set of productions $S \to \lambda \mid 1S0 \mid 0S1 \mid SS$. I got problems with this:
$L_1 \cap L_2$; $L_1 \cap L_3$; $L_2 \cap L_3$
I guessed $L_1 \cap L_2$ contains $L(G) = 11^* \cup (00)^*$ and $\lambda$. $L_1 \cap L_3$ contains $L(G) = \{\}$ and $L_2 \cap L_3$ contains $L(G) = \emptyset$
However, I think I made those wrong, could you please help me?
For L1 ⋂ L2, we know that any word in L1 begins with a multiple of two 1s (including possibly none at all), and any word in L2 begins with a multiple of three 1s.
The least common multiple of two and three is six, so any word in L1 ⋂ L2 will begin with a multiple of six 1s, that is (111111)*.
Now we need to look at the substring after the multiple of six 1s. A word in L1 ends with an even number of 0s (again, possibly even none at all), and a word in L2 ends with either no 0s, or an odd number of 0s. This means any word in L1 ⋂ L2 must end with no 0s at all.
Taken together, this means L1 ⋂ L2 should be {(111111)*}
For L1 ⋂ L3 and for L2 ⋂ L3 I'll give hints that should help direct further work:
For L1 ⋂ L3 consider from L3: S→1S0 twice followed by S→λ. You get 1100, which is in L1, and therefore is an element of L1 ⋂ L3.
Extend this process to get a pattern for more elements of L1 ⋂ L3. Since S→SS on any string with at least one of each a 0 and a 1, or S→0S1 lead to words not in L1, the pattern alluded to in the previous sentence will be all of L1 ⋂ L3.
For L2 ⋂ L3, words from L2 of the form (111)* are clearly not in L3, so we can restrict our attention to (111)* 0(00)*. A valuable insight into L3 is that you always have the same number of 1s as you have 0s. This means for a word in L2 to be in L3, we need an odd multiple of three 1s, followed by the same number of 0s. Now the key to finding the set L2 ⋂ L3 boils down to finding a way to write a regular expression for odd multiples of three for 1s and for 0s.