Automata for a given language

35 Views Asked by At

Let $\Sigma=\{a,b,c\}$. Construct a minimal DFA recognizing the following language: $$L=\{\alpha\in\Sigma^* \mid \text{$|\alpha|$ odd, $N_a(\alpha)$ odd, and if $\alpha$ begins with $b$, then it ends with $c$}\}.$$

We can rewrite $L$ as $$ L = \{ \alpha \in \Sigma^* \mid \text{$|\alpha|,N_a(\alpha)$ odd}\} \cap \bigl(\{\alpha \in \Sigma^* \mid \text{$\alpha$ begins on $a$ or $c$}\} \cup \{\alpha \in \Sigma^* \mid \text{$\alpha$ begins on $b$ and ends on $c$}\}\bigr). $$ We can write this succinctly as $L = L_1 \cap (L_2 \cup L_3)$.

I've constructed automata for $L_1$ and $L_2\cup L_3$ easily, but for some reason after determinization and minimization of the intersection the final automaton doesn't recognize $L$ at all.