\begin{frame}{Removal of Unit Production Rules} \begin{block}{} A rule $A \to B$ is called \emph{unit production rule} (here $B \in V$). \end{block} \pause\medskip \begin{goal}{Theorem} For every context-free language $L$ there is a context-free grammar $G$ \alert{without $\lambda$- and unit-productions} with $L(G) = L \setminus \{\lambda\}$. \end{goal} \pause \begin{construction} Let $G$ be context-free, without $\lambda$-rules, and $L(G) = L \setminus \{\lambda\}$. \begin{itemize} \pause \item Determine all pairs $A \neq B$ with \alert{$A \Rightarrow^+ B$}. \pause \item Whenever \alert{$A \Rightarrow^+ B$} and \alert{$B \to y$} is a rule, add a rule \alert{$A \to y$}. \pause \item Remove all unit production rules. \end{itemize} \pause The resulting grammar $G$ has no $\lambda$- and unit-productions and it has the property \alert{$L(G)= L \setminus \{\lambda\}$}. \end{construction} \end{frame}