17/55
\begin{frame}{Union and Intersection}
  \begin{goal}{Theorem}
    If $L_1$ and $L_2$ are recursively enumerable languages, then so are
    \begin{talign}
      L_1 \cup L_2 && L_1 \cap L_2
    \end{talign}
  \end{goal}
  \pause
  \begin{block}{}
    Let $M_1$ and $M_2$ be Turing machines such that
    \begin{talign}
      L(M_1) = L_1 && L(M_2) = L_2
    \end{talign}
    \pause
    Create a Turing machine $M$ that \alert{runs $M_1$ and $M_2$ in parallel}.\\
    (Alternating simulate one step of $M_1$ and one step of $M_2$.)
    \pause
    
    \begin{itemize}
      \item For $L(M) = \alert{L_1 \cup L_2}$,\\
            let $M$ accept as soon as $M_1$ accepts \alert{or} $M_2$ accepts.
    \pause
      \item For $L(M) = \alert{L_1 \cap L_2}$,\\
            let $M$ accept as soon as both $M_1$ \alert{and} $M_2$ accept.
    \end{itemize}
  \end{block}
  \pause
  
  \begin{exampleblock}{}
    What about $L_1 \setminus L_2$?
  \end{exampleblock}
\end{frame}