137 \end{bubble} | 
   138 \end{bubble} | 
   138 \end{textblock}} | 
   139 \end{textblock}} | 
   139   | 
   140   | 
   140 \end{frame} | 
   141 \end{frame} | 
   141 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
   142 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
         | 
   143   | 
         | 
   144   | 
         | 
   145 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
   146 \begin{frame}[c] | 
         | 
   147 \frametitle{Coursework} | 
         | 
   148   | 
         | 
   149 \begin{itemize} | 
         | 
   150 \item \bl{$\der\,c\,(r^+) \dn \der\,c (r\cdot r^*)$}\quad given | 
         | 
   151 that \bl{$r^+ \dn r\cdot r^*$} | 
         | 
   152 \end{itemize}\bigskip\pause | 
         | 
   153   | 
         | 
   154 \begin{center} | 
         | 
   155 \begin{tabular}{lcl} | 
         | 
   156 \bl{$\der\,c\,(r\cdot r^*)$} & \bl{$\dn$} &  | 
         | 
   157 \only<2-4>{if \bl{$nullable\,r$}}% | 
         | 
   158 \only<5>{\bl{$(\der\,c\,r)\cdot r^*$}}\\ | 
         | 
   159  & &   | 
         | 
   160  \only<2>{then \bl{$(\der\,c\,r)\cdot r^* \,+\, \der\,c\,(r^*)$}}% | 
         | 
   161  \only<3>{then \bl{$(\der\,c\,r)\cdot r^* \,+\, (\der\,c\,r)\cdot r^*$}}% | 
         | 
   162  \only<4>{then \bl{$(\der\,c\,r)\cdot r^*$}}\\ | 
         | 
   163  & & \only<2-4>{else \bl{$(\der\,c\,r)\cdot r^*$}} | 
         | 
   164 \end{tabular}   | 
         | 
   165 \end{center}   | 
         | 
   166 \end{frame} | 
         | 
   167 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
         | 
   168   | 
         | 
   169 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
   170 \begin{frame}[c] | 
         | 
   171   \frametitle{Coursework (2)} | 
         | 
   172     | 
         | 
   173   \begin{itemize} | 
         | 
   174   \item \bl{\texttt{CFUN(f: Char => Boolean)}} | 
         | 
   175   \end{itemize}\medskip | 
         | 
   176   | 
         | 
   177   \begin{center} | 
         | 
   178   \begin{tabular}{l} | 
         | 
   179   \bl{\texttt{CHAR(c: Char)}} \bl{$\dn$}\\ | 
         | 
   180      \quad\bl{\texttt{CFUN(\_ == c)}}\medskip\\ | 
         | 
   181   \bl{\texttt{RANGE(cs: Set[Char])}} \bl{$\dn$}\\ | 
         | 
   182      \quad\bl{\texttt{CFUN(cs.contains(\_))}}\medskip\\ | 
         | 
   183   \bl{\texttt{ALL}} \bl{$\dn$}\\ | 
         | 
   184      \quad\bl{\texttt{CFUN((c: Char) => true)}}\\ | 
         | 
   185   \end{tabular}   | 
         | 
   186   \end{center}   | 
         | 
   187 \end{frame} | 
         | 
   188 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
         | 
   189     | 
   142   | 
   190   | 
   143   | 
   191   | 
   144 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   192 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   145 \begin{frame}[c] | 
   193 \begin{frame}[c] | 
   146 \frametitle{Regexps and Automata} | 
   194 \frametitle{Regexps and Automata} |