63/122
\begin{frame}{Regular Languages: Union}
  \begin{block}{Theorem}
    If $L_1$ and $L_2$ are regular, then \alert{$L_1 \cup L_2$} is regular.
  \end{block}
  \pause
  
  \begin{construction}[Product]
    There exists a DFAs  
    \begin{talign}
      M_1 = (Q_1,\Sigma,\delta_1,q_{0,1},F_1) &&
      M_2 = (Q_2,\Sigma,\delta_2,q_{0,2},F_2) 
    \end{talign}
    such that $L(M_1) = L_1$ and $L(M_2) = L_2$.
    \pause\medskip
    
    \emph{Idea:} We run $M_1$ and $M_2$ in parallel.
    \pause\medskip
    
    We define a DFA $N = (Q, \Sigma, \delta, q_0, F)$ where
    \begin{itemize}\setlength{\itemsep}{0pt}
      \pause
      \item $Q =\pause Q_1 \times Q_2 = \{\,(q_1,q_2) \mid q_1 \in Q_1,\; q_2 \in Q_2\,\}$ 
      \pause
      \item $\delta((q_1,q_2),a) =\pause (\delta_1(q_1,a),\;\delta_2(q_2,a))$ 
      \pause
      \item $q_0 =\pause (q_{0,1},\; q_{0,2})$ 
      \pause
      \item $F =\pause \{\, (q_1,q_2) \in Q \mid q_1 \in F_1 \text{ or } q_2 \in F_2 \,\}$ 
    \end{itemize}
    \pause
    Then it follows that $L(N) = L(M_1) \cup L(M_2) = L_1 \cup L_2$.
  \end{construction}  
\end{frame}