15/123
\begin{frame}{The Halting Problem is Undecidable}
  \begin{proof}
    \emph{Assume the halting problem was decidable.} Then there is a Turing machine $\mathcal{H}$
    that, given $(M,x)$ decides if $M$ halts on $x$.
    \pause\medskip

    Then \emph{every recursively enumerable language was recursive}!\!\!\!\\
    \pause\medskip
    
    Let $M$ be a deterministic Turing machine and $x$ a word.
    \pause\medskip
    
    We can decide $x \in L(M)$ as follows:
    \begin{itemize}
    \item If according to $\mathcal{H}$, $M$ does not halt on $x$, \\
      then $x \not\in L(M)$.
    \item If according to $\mathcal{H}$, $M$ halts on $x$, \\
      then execute $M$ on $x$ to see whether $x \in L(M)$.
    \end{itemize}
    \pause
    The algorithm always terminates, so $L(M)$ is recursive.
    \pause\medskip
    
    \emph{Contradiction:}
    not every recursively enumerable language is recursive.
  \end{proof}  
\end{frame}