18/77
\begin{frame}{Removal of Lambda Rules}
  
  \begin{goal}{Theorem}
    For every context-free language $L$ there exists a 
    context-free grammar $G$ \alert{without $\lambda$-rules} such that $L(G) = L \alert{\setminus \{\lambda\}}$.
  \end{goal}
  \pause
    
  \begin{construction}
    Let $G$ be a context-free grammar with $L(G) = L$.
    \begin{itemize}
    \pause
      \item 
        Determine all erasable variables (that is, variables $A \Rightarrow^* \lambda$).
    \pause
      \item 
        For every rule \alert{$A \to xBy$ with $B \Rightarrow^* \lambda$}, add a rule \alert{$A \to xy$}.
    \pause
      \item 
        Remove all $\lambda$-production rules.
    \end{itemize}
    \pause
    The resulting grammar $G$ has the property \alert{$L(G) = L \setminus \{\lambda\}$}.
  \end{construction}
\end{frame}