slides/slides04.tex
changeset 788 3b1136fb6bee
parent 786 da2488db453e
child 792 34132a854d03
equal deleted inserted replaced
787:4b2496bc79b2 788:3b1136fb6bee
     8 \hfuzz=220pt 
     8 \hfuzz=220pt 
     9 
     9 
    10 \pgfplotsset{compat=1.11}
    10 \pgfplotsset{compat=1.11}
    11 
    11 
    12 
    12 
       
    13 \usepackage{tcolorbox}
       
    14 \newtcolorbox{mybox}{colback=red!5!white,colframe=red!75!black}
       
    15 \newtcolorbox{mybox2}[1]{colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,title=#1}
       
    16 \newtcolorbox{mybox3}[1]{colback=Cyan!5!white,colframe=Cyan!75!black,fonttitle=\bfseries,title=#1}
       
    17 
    13 % a hand written lexer for SML
    18 % a hand written lexer for SML
    14 % https://ponyo.org/
    19 % https://ponyo.org/
    15 % https://github.com/eatonphil/ponyo/blob/master/src/Sml/Lexer.sml
    20 % https://github.com/eatonphil/ponyo/blob/master/src/Sml/Lexer.sml
    16 
    21 \beamertemplateballitem
    17 
    22 
    18 \newcommand{\bl}[1]{\textcolor{blue}{#1}}  
    23 \newcommand{\bl}[1]{\textcolor{blue}{#1}}  
    19 
    24 
    20 \renewcommand{\slidecaption}{CFL 04, King's College London}
    25 \renewcommand{\slidecaption}{CFL 04, King's College London}
    21 
    26 
   912 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
   917 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
   913 
   918 
   914 
   919 
   915 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   920 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   916 \begin{frame}[c]
   921 \begin{frame}[c]
   917 \frametitle{Rectification}
   922 \frametitle{Rectification $\_ + \_$}
   918 
   923 
   919 \begin{center}
   924 \begin{center}
   920 \begin{tabular}{l}
   925 \begin{tabular}{l}
   921 \bl{$simp(r)$}:\\
   926 \bl{$simp(r)$}:\\
   922 \quad case \bl{$r = r_1 + r_2$}\\
   927 \quad case \bl{$r = r_1 + r_2$}\\
   957 \end{frame}
   962 \end{frame}
   958 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
   963 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
   959 
   964 
   960 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   965 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   961 \begin{frame}[c]
   966 \begin{frame}[c]
   962 \frametitle{Rectification}
   967 \frametitle{Rectification $\_ \cdot \_$}
   963 
   968 
   964 \begin{center}
   969 \begin{center}
   965 \begin{tabular}{@{\hspace{-3mm}}l}
   970 \begin{tabular}{@{\hspace{-3mm}}l}
   966 \bl{$simp(r)$}:\ldots\\
   971 \bl{$simp(r)$}:\ldots\\
   967 \quad case \bl{$r = r_1 \cdot r_2$}\\
   972 \quad case \bl{$r = r_1 \cdot r_2$}\\
  1216 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
  1221 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
  1217 
  1222 
  1218 
  1223 
  1219 
  1224 
  1220 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1225 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1221 \begin{frame}[c]
  1226 %\begin{frame}[c]
  1222 \begin{center}
  1227 %\begin{center}
  1223 \begin{tabular}{@ {}l@ {\hspace{2mm}}c@ {\hspace{2mm}}l@ {}}
  1228 %\begin{tabular}{@ {}l@ {\hspace{2mm}}c@ {\hspace{2mm}}l@ {}}
  1224 \bl{$zeroable(\ZERO)$}      & \bl{$\dn$} & \bl{$true$}\\
  1229 %\bl{$zeroable(\ZERO)$}      & \bl{$\dn$} & \bl{$true$}\\
  1225 \bl{$zeroable(\ONE)$}         & \bl{$\dn$} & \bl{$\textit{false}$}\\
  1230 %\bl{$zeroable(\ONE)$}         & \bl{$\dn$} & \bl{$\textit{false}$}\\
  1226 \bl{$zeroable(c)$}                & \bl{$\dn$} & \bl{$\textit{false}$}\\
  1231 %\bl{$zeroable(c)$}                & \bl{$\dn$} & \bl{$\textit{false}$}\\
  1227 \bl{$zeroable(r_1 + r_2)$}        & \bl{$\dn$} & \bl{$zeroable(r_1) \wedge zeroable(r_2)$}\\ 
  1232 %\bl{$zeroable(r_1 + r_2)$}        & \bl{$\dn$} & \bl{$zeroable(r_1) \wedge zeroable(r_2)$}\\ 
  1228 \bl{$zeroable(r_1 \cdot r_2)$}    & \bl{$\dn$} & \bl{$zeroable(r_1) \vee zeroable(r_2)$}\\
  1233 %\bl{$zeroable(r_1 \cdot r_2)$}    & \bl{$\dn$} & \bl{$zeroable(r_1) \vee zeroable(r_2)$}\\
  1229 \bl{$zeroable(r^*)$}              & \bl{$\dn$} & \bl{$\textit{false}$}\\
  1234 %\bl{$zeroable(r^*)$}              & \bl{$\dn$} & \bl{$\textit{false}$}\\
  1230 \end{tabular}
  1235 %\end{tabular}
  1231 \end{center}
  1236 %\end{center}
  1232 
  1237 %
  1233 \begin{center}
  1238 %\begin{center}
  1234 \bl{$zeroable(r)$} if and only if \bl{$L(r) = \{\}$}
  1239 %\bl{$zeroable(r)$} if and only if \bl{$L(r) = \{\}$}
  1235 \end{center}
  1240 %\end{center}
  1236 
  1241 %
  1237 
  1242 %
  1238 \end{frame}
  1243 %\end{frame}
  1239 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
  1244 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
  1240 
  1245 
  1241 
  1246 
  1242   
  1247   
  1243 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1248 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1244 \begin{frame}[c]
  1249 %\begin{frame}[c]
  1245 \frametitle{\begin{tabular}{c}Last Week\\[-2mm] 
  1250 %\frametitle{\begin{tabular}{c}Last Week\\[-2mm] 
  1246             Regexes and Values\end{tabular}}
  1251 %            Regexes and Values\end{tabular}}
  1247 
  1252 %
  1248 Regular expressions and their corresponding values:
  1253 %Regular expressions and their corresponding values:
  1249 
  1254 %
  1250 \begin{center}
  1255 %\begin{center}
  1251 \begin{columns}
  1256 %\begin{columns}
  1252 \begin{column}{3cm}
  1257 %\begin{column}{3cm}
  1253 \begin{tabular}{@{}rrl@{}}
  1258 %\begin{tabular}{@{}rrl@{}}
  1254   \bl{$r$} & \bl{$::=$}  & \bl{$\ZERO$}\\
  1259 %  \bl{$r$} & \bl{$::=$}  & \bl{$\ZERO$}\\
  1255            & \bl{$\mid$} & \bl{$\ONE$}   \\
  1260 %           & \bl{$\mid$} & \bl{$\ONE$}   \\
  1256            & \bl{$\mid$} & \bl{$c$}          \\
  1261 %           & \bl{$\mid$} & \bl{$c$}          \\
  1257            & \bl{$\mid$} & \bl{$r_1 \cdot r_2$}\\
  1262 %           & \bl{$\mid$} & \bl{$r_1 \cdot r_2$}\\
  1258            & \bl{$\mid$} & \bl{$r_1 + r_2$}   \\
  1263 %           & \bl{$\mid$} & \bl{$r_1 + r_2$}   \\
  1259   \\
  1264 %  \\
  1260            & \bl{$\mid$} & \bl{$r^*$}         \\
  1265 %           & \bl{$\mid$} & \bl{$r^*$}         \\
  1261   \end{tabular}
  1266 %  \end{tabular}
  1262 \end{column}
  1267 %\end{column}
  1263 \begin{column}{3cm}
  1268 %\begin{column}{3cm}
  1264 \begin{tabular}{@{\hspace{-7mm}}rrl@{}}
  1269 %\begin{tabular}{@{\hspace{-7mm}}rrl@{}}
  1265   \bl{$v$} & \bl{$::=$}  & \\
  1270 %  \bl{$v$} & \bl{$::=$}  & \\
  1266            &             & \bl{$Empty$}   \\
  1271 %           &             & \bl{$Empty$}   \\
  1267            & \bl{$\mid$} & \bl{$Char(c)$}          \\
  1272 %           & \bl{$\mid$} & \bl{$Char(c)$}          \\
  1268            & \bl{$\mid$} & \bl{$Seq(v_1,v_2)$}\\
  1273 %           & \bl{$\mid$} & \bl{$Seq(v_1,v_2)$}\\
  1269            & \bl{$\mid$} & \bl{$Left(v)$}   \\
  1274 %           & \bl{$\mid$} & \bl{$Left(v)$}   \\
  1270            & \bl{$\mid$} & \bl{$Right(v)$}  \\
  1275 %           & \bl{$\mid$} & \bl{$Right(v)$}  \\
  1271            & \bl{$\mid$} & \bl{$Stars [v_1,\ldots\,v_n]$} \\
  1276 %           & \bl{$\mid$} & \bl{$Stars [v_1,\ldots\,v_n]$} \\
  1272   \end{tabular}
  1277 %  \end{tabular}
  1273 \end{column}
  1278 %\end{column}
  1274 \end{columns}
  1279 %\end{columns}
  1275 \end{center}
  1280 %\end{center}
  1276 
  1281 %
  1277 
  1282 %\end{frame}
  1278 \end{frame}
  1283 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
  1279 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
  1284 
  1280 
  1285 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1281 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1286 %\begin{frame}[c]
  1282 \begin{frame}[c]
  1287 %
  1283 
  1288 %\begin{textblock}{10}(3,5)
  1284 \begin{textblock}{10}(3,5)
  1289 %\begin{tikzpicture}[scale=2,node distance=1.3cm,every node/.style={minimum size=8mm}]
  1285 \begin{tikzpicture}[scale=2,node distance=1.3cm,every node/.style={minimum size=8mm}]
  1290 %\node (r1)  {\bl{$r_1$}};
  1286 \node (r1)  {\bl{$r_1$}};
  1291 %\node (r2) [right=of r1] {\bl{$r_2$}};
  1287 \node (r2) [right=of r1] {\bl{$r_2$}};
  1292 %\draw[->,line width=1mm]  (r1) -- (r2) node[above,midway] {\bl{$der\,a$}};
  1288 \draw[->,line width=1mm]  (r1) -- (r2) node[above,midway] {\bl{$der\,a$}};
  1293 %\node (r3) [right=of r2] {\bl{$r_3$}};
  1289 \node (r3) [right=of r2] {\bl{$r_3$}};
  1294 %\draw[->,line width=1mm]  (r2) -- (r3) node[above,midway] {\bl{$der\,b$}};
  1290 \draw[->,line width=1mm]  (r2) -- (r3) node[above,midway] {\bl{$der\,b$}};
  1295 %\node (r4) [right=of r3] {\bl{$r_4$}};
  1291 \node (r4) [right=of r3] {\bl{$r_4$}};
  1296 %\draw[->,line width=1mm]  (r3) -- (r4) node[above,midway] {\bl{$der\,c$}};
  1292 \draw[->,line width=1mm]  (r3) -- (r4) node[above,midway] {\bl{$der\,c$}};
  1297 %\draw (r4) node[anchor=west] {\;\raisebox{3mm}{\bl{$nullable$}}};
  1293 \draw (r4) node[anchor=west] {\;\raisebox{3mm}{\bl{$nullable$}}};
  1298 %\node (v4) [below=of r4] {\bl{$v_4$}};
  1294 \node (v4) [below=of r4] {\bl{$v_4$}};
  1299 %\draw[->,line width=1mm]  (r4) -- (v4);
  1295 \draw[->,line width=1mm]  (r4) -- (v4);
  1300 %\node (v3) [left=of v4] {\bl{$v_3$}};
  1296 \node (v3) [left=of v4] {\bl{$v_3$}};
  1301 %\draw[->,line width=1mm]  (v4) -- (v3) node[below,midway] {\bl{$inj\,c$}};
  1297 \draw[->,line width=1mm]  (v4) -- (v3) node[below,midway] {\bl{$inj\,c$}};
  1302 %\node (v2) [left=of v3] {\bl{$v_2$}};
  1298 \node (v2) [left=of v3] {\bl{$v_2$}};
  1303 %\draw[->,line width=1mm]  (v3) -- (v2) node[below,midway] {\bl{$inj\,b$}};
  1299 \draw[->,line width=1mm]  (v3) -- (v2) node[below,midway] {\bl{$inj\,b$}};
  1304 %\node (v1) [left=of v2] {\bl{$v_1$}};
  1300 \node (v1) [left=of v2] {\bl{$v_1$}};
  1305 %\draw[->,line width=1mm]  (v2) -- (v1) node[below,midway] {\bl{$inj\,a$}};
  1301 \draw[->,line width=1mm]  (v2) -- (v1) node[below,midway] {\bl{$inj\,a$}};
  1306 %\draw[->,line width=0.5mm]  (r3) -- (v3);
  1302 \draw[->,line width=0.5mm]  (r3) -- (v3);
  1307 %\draw[->,line width=0.5mm]  (r2) -- (v2);
  1303 \draw[->,line width=0.5mm]  (r2) -- (v2);
  1308 %\draw[->,line width=0.5mm]  (r1) -- (v1);
  1304 \draw[->,line width=0.5mm]  (r1) -- (v1);
  1309 %\draw (r4) node[anchor=north west] {\;\raisebox{-8mm}{\bl{$mkeps$}}};
  1305 \draw (r4) node[anchor=north west] {\;\raisebox{-8mm}{\bl{$mkeps$}}};
  1310 %\end{tikzpicture}
  1306 \end{tikzpicture}
  1311 %\end{textblock}
  1307 \end{textblock}
  1312 %
  1308 
  1313 %\begin{textblock}{6}(1,0.8)
  1309 \begin{textblock}{6}(1,0.8)
  1314 %\begin{bubble}[6cm]
  1310 \begin{bubble}[6cm]
  1315 %\small
  1311 \small
  1316 %\begin{tabular}{ll}
  1312 \begin{tabular}{ll}
  1317 %\bl{$r_1$}: & \bl{$a \cdot (b \cdot c)$}\\
  1313 \bl{$r_1$}: & \bl{$a \cdot (b \cdot c)$}\\
  1318 %\bl{$r_2$}: & \bl{$\ONE \cdot (b \cdot c)$}\\
  1314 \bl{$r_2$}: & \bl{$\ONE \cdot (b \cdot c)$}\\
  1319 %\bl{$r_3$}: & \bl{$(\ZERO \cdot (b \cdot c)) + (\ONE \cdot c)$}\\
  1315 \bl{$r_3$}: & \bl{$(\ZERO \cdot (b \cdot c)) + (\ONE \cdot c)$}\\
  1320 %\bl{$r_4$}: & \bl{$(\ZERO \cdot (b \cdot c)) + ((\ZERO \cdot c) + \ONE)$}\\
  1316 \bl{$r_4$}: & \bl{$(\ZERO \cdot (b \cdot c)) + ((\ZERO \cdot c) + \ONE)$}\\
  1321 %\end{tabular}
  1317 \end{tabular}
  1322 %\end{bubble}
  1318 \end{bubble}
  1323 %\end{textblock}
  1319 \end{textblock}
  1324 %
  1320 
  1325 %\begin{textblock}{6}(1,11.4)
  1321 \begin{textblock}{6}(1,11.4)
  1326 %\begin{bubble}[7.6cm]
  1322 \begin{bubble}[7.6cm]
  1327 %\small
  1323 \small
  1328 %\begin{tabular}{ll}
  1324 \begin{tabular}{ll}
  1329 %\bl{$v_1$}: & \bl{$Seq(Char(a), Seq(Char(b), Char(c)))$}\\
  1325 \bl{$v_1$}: & \bl{$Seq(Char(a), Seq(Char(b), Char(c)))$}\\
  1330 %\bl{$v_2$}: & \bl{$Seq(Empty, Seq(Char(b), Char(c)))$}\\
  1326 \bl{$v_2$}: & \bl{$Seq(Empty, Seq(Char(b), Char(c)))$}\\
  1331 %\bl{$v_3$}: & \bl{$Right(Seq(Empty, Char(c)))$}\\
  1327 \bl{$v_3$}: & \bl{$Right(Seq(Empty, Char(c)))$}\\
  1332 %\bl{$v_4$}: & \bl{$Right(Right(Empty))$}\\
  1328 \bl{$v_4$}: & \bl{$Right(Right(Empty))$}\\
  1333 %\end{tabular}
  1329 \end{tabular}
  1334 %\end{bubble}
  1330 \end{bubble}
  1335 %\end{textblock}
  1331 \end{textblock}
  1336 %
  1332 
  1337 %\begin{textblock}{6}(12,11.4)
  1333 \begin{textblock}{6}(12,11.4)
  1338 %\begin{bubble}[2cm]
  1334 \begin{bubble}[2cm]
  1339 %\small
  1335 \small
  1340 %\begin{tabular}{ll}
  1336 \begin{tabular}{ll}
  1341 %\bl{$|v_1|$}: & \bl{$abc$}\\
  1337 \bl{$|v_1|$}: & \bl{$abc$}\\
  1342 %\bl{$|v_2|$}: & \bl{$bc$}\\
  1338 \bl{$|v_2|$}: & \bl{$bc$}\\
  1343 %\bl{$|v_3|$}: & \bl{$c$}\\
  1339 \bl{$|v_3|$}: & \bl{$c$}\\
  1344 %\bl{$|v_4|$}: & \bl{$[]$}
  1340 \bl{$|v_4|$}: & \bl{$[]$}
  1345 %\end{tabular}
  1341 \end{tabular}
  1346 %\end{bubble}
  1342 \end{bubble}
  1347 %\end{textblock}
  1343 \end{textblock}
  1348 %
  1344 
  1349 %
  1345 
  1350 %%\end{frame}
  1346 \end{frame}
  1351 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
  1347 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
  1352 %
  1348 
  1353 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1349 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1354 %\begin{frame}[c]
  1350 \begin{frame}[c]
  1355 %\frametitle{Simplification}
  1351 \frametitle{Simplification}
  1356 %
  1352 
  1357 %\begin{itemize}
  1353 \begin{itemize}
  1358 %\item If we simplify after the derivative, then we are builing the
  1354 \item If we simplify after the derivative, then we are builing the
  1359 %value for the simplified regular expression, but \emph{not} for the original
  1355 value for the simplified regular expression, but \emph{not} for the original
  1360 %regular expression.
  1356 regular expression.
  1361 %\end{itemize}
  1357 \end{itemize}
  1362 %
  1358 
  1363 %\begin{center}
  1359 \begin{center}
  1364 %\begin{tikzpicture}[scale=2,node distance=1.3cm,every node/.style={minimum size=8mm}]
  1360 \begin{tikzpicture}[scale=2,node distance=1.3cm,every node/.style={minimum size=8mm}]
  1365 %\node (r1)  {\bl{$r_1$}};
  1361 \node (r1)  {\bl{$r_1$}};
  1366 %\node (r2) [right=of r1] {\bl{$r_2$}};
  1362 \node (r2) [right=of r1] {\bl{$r_2$}};
  1367 %\draw[->,line width=1mm]  (r1) -- (r2) node[above,midway] {\bl{$der\,a$}};
  1363 \draw[->,line width=1mm]  (r1) -- (r2) node[above,midway] {\bl{$der\,a$}};
  1368 %\node (r3) [right=of r2] {\bl{$r_3$}};
  1364 \node (r3) [right=of r2] {\bl{$r_3$}};
  1369 %\draw[->,line width=1mm]  (r2) -- (r3) node[above,midway] {\bl{$der\,b$}};
  1365 \draw[->,line width=1mm]  (r2) -- (r3) node[above,midway] {\bl{$der\,b$}};
  1370 %\node (r4) [right=of r3] {\bl{$r_4$}};
  1366 \node (r4) [right=of r3] {\bl{$r_4$}};
  1371 %\draw[->,line width=1mm]  (r3) -- (r4) node[above,midway] {\bl{$der\,c$}};
  1367 \draw[->,line width=1mm]  (r3) -- (r4) node[above,midway] {\bl{$der\,c$}};
  1372 %\draw (r4) node[anchor=west] {\;\raisebox{3mm}{\bl{$nullable$}}};
  1368 \draw (r4) node[anchor=west] {\;\raisebox{3mm}{\bl{$nullable$}}};
  1373 %\node (v4) [below=of r4] {\bl{$v_4$}};
  1369 \node (v4) [below=of r4] {\bl{$v_4$}};
  1374 %\draw[->,line width=1mm]  (r4) -- (v4);
  1370 \draw[->,line width=1mm]  (r4) -- (v4);
  1375 %\node (v3) [left=of v4] {\bl{$v_3$}};
  1371 \node (v3) [left=of v4] {\bl{$v_3$}};
  1376 %\draw[->,line width=1mm]  (v4) -- (v3) node[below,midway] {\bl{$inj\,c$}};
  1372 \draw[->,line width=1mm]  (v4) -- (v3) node[below,midway] {\bl{$inj\,c$}};
  1377 %\node (v2) [left=of v3] {\bl{$v_2$}};
  1373 \node (v2) [left=of v3] {\bl{$v_2$}};
  1378 %\draw[->,line width=1mm]  (v3) -- (v2) node[below,midway] {\bl{$inj\,b$}};
  1374 \draw[->,line width=1mm]  (v3) -- (v2) node[below,midway] {\bl{$inj\,b$}};
  1379 %\node (v1) [left=of v2] {\bl{$v_1$}};
  1375 \node (v1) [left=of v2] {\bl{$v_1$}};
  1380 %\draw[->,line width=1mm]  (v2) -- (v1) node[below,midway] {\bl{$inj\,a$}};
  1376 \draw[->,line width=1mm]  (v2) -- (v1) node[below,midway] {\bl{$inj\,a$}};
  1381 %\draw[->,line width=0.5mm]  (r3) -- (v3);
  1377 \draw[->,line width=0.5mm]  (r3) -- (v3);
  1382 %\draw[->,line width=0.5mm]  (r2) -- (v2);
  1378 \draw[->,line width=0.5mm]  (r2) -- (v2);
  1383 %\draw[->,line width=0.5mm]  (r1) -- (v1);
  1379 \draw[->,line width=0.5mm]  (r1) -- (v1);
  1384 %\draw (r4) node[anchor=north west] {\;\raisebox{-8mm}{\bl{$mkeps$}}};
  1380 \draw (r4) node[anchor=north west] {\;\raisebox{-8mm}{\bl{$mkeps$}}};
  1385 %\end{tikzpicture}
  1381 \end{tikzpicture}
  1386 %\end{center}
  1382 \end{center}
  1387 %
  1383 
  1388 %\small
  1384 \small
  1389 %\hspace{4.5cm}\bl{$(b \cdot c) + (\ZERO + \ONE)$}
  1385 \hspace{4.5cm}\bl{$(b \cdot c) + (\ZERO + \ONE)$}
  1390 %$\mapsto$
  1386 $\mapsto$
  1391 %\bl{$(b \cdot c) + \ONE$}
  1387 \bl{$(b \cdot c) + \ONE$}
  1392 %
  1388 
  1393 %\end{frame}
  1389 \end{frame}
  1394 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
  1390 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
  1395 %
  1391 
  1396 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1392 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
  1393 % \begin{frame}[t]
  1397 % \begin{frame}[t]
  1394 
  1398 
  1395 % \begin{center}
  1399 % \begin{center}
  1396 % \bl{$\only<1>{(b \cdot c)}%
  1400 % \bl{$\only<1>{(b \cdot c)}%
  1397 %      \only<2-3>{(\underline{b \cdot c})}%
  1401 %      \only<2-3>{(\underline{b \cdot c})}%
  1449 % \end{center}}%
  1453 % \end{center}}%
  1450 
  1454 
  1451 % \end{frame}
  1455 % \end{frame}
  1452 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1456 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1453 
  1457 
  1454 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1458 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1455 \begin{frame}[c]
  1459 %\begin{frame}[c]
  1456 \frametitle{Records}
  1460 %\frametitle{Records}
  1457 
  1461 %
  1458 \begin{itemize}
  1462 %\begin{itemize}
  1459 \item new regex: \bl{$(x:r)$}\hspace{7mm}new value: \bl{$Rec(x,v)$}\medskip\pause
  1463 %\item new regex: \bl{$(x:r)$}\hspace{7mm}new value: \bl{$Rec(x,v)$}\medskip\pause
  1460 
  1464 %
  1461 \item \bl{$nullable(x:r) \dn nullable(r)$}
  1465 %\item \bl{$nullable(x:r) \dn nullable(r)$}
  1462 \item \bl{$der\,c\,(x:r) \dn der\,c\,r$}
  1466 %\item \bl{$der\,c\,(x:r) \dn der\,c\,r$}
  1463 \item \bl{$mkeps(x:r) \dn Rec(x, mkeps(r))$}
  1467 %\item \bl{$mkeps(x:r) \dn Rec(x, mkeps(r))$}
  1464 \item \bl{$inj\,(x:r)\,c\,v \dn Rec(x, inj\,r\,c\,v)$}
  1468 %\item \bl{$inj\,(x:r)\,c\,v \dn Rec(x, inj\,r\,c\,v)$}
  1465 \end{itemize}\bigskip\bigskip\pause
  1469 %\end{itemize}\bigskip\bigskip\pause
  1466 
  1470 %
  1467 \small
  1471 %\small
  1468 for extracting subpatterns \bl{$(z: ((x:ab) + (y:ba))$}
  1472 %for extracting subpatterns \bl{$(z: ((x:ab) + (y:ba))$}
  1469 
  1473 %
  1470 \end{frame}
  1474 %\end{frame}
  1471 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1475 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1472 
  1476 
  1473 
  1477 
  1474 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1478 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1475 \begin{frame}[c]
  1479 \begin{frame}[c]
  1476 \frametitle{Environments}
  1480 \frametitle{Environments}
  1645 %\end{tabular}
  1649 %\end{tabular}
  1646 %\end{center}
  1650 %\end{center}
  1647 %
  1651 %
  1648 %\end{frame}
  1652 %\end{frame}
  1649 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1653 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1650  
  1654 
       
  1655 \begin{frame}[t]
       
  1656 \begin{mybox3}{}
       
  1657   Are dfas completed by definition as in do they have a to have transitions
       
  1658   for every char at every state?
       
  1659 \end{mybox3}
       
  1660 \end{frame}
       
  1661 
       
  1662 \begin{frame}[t]
       
  1663 \begin{mybox3}{}
       
  1664   How can you tell if a language will be regular or irregular?
       
  1665 \end{mybox3}
       
  1666 \end{frame}
       
  1667 
       
  1668 \begin{frame}<1-12>[c]
       
  1669 \end{frame}
       
  1670 
       
  1671 \begin{frame}[c]
       
  1672   \small
       
  1673   \begin{itemize}
       
  1674 \item[$\bullet$] contentwise probably the most enjoyable module I have had so far at KCL 
       
  1675 
       
  1676 \item[$\bullet$] I personally found the coursework sheets a bit unclear. For example I couldnt see what was required from the CFUN section but once explained it actually was very easy and didnt take long to get working
       
  1677 
       
  1678 \item[$\bullet$] Please can tutorial sessions be recorded \& linked on Keats.
       
  1679   
       
  1680 \item[$\bullet$] One of the best taught modules I've had, with a genuinely interested and engaging lecturer. Thanks Dr.~Urban!
       
  1681 \end{itemize}
       
  1682 \end{frame}
       
  1683 
       
  1684 \begin{frame}[c]
       
  1685   \small
       
  1686   \begin{itemize}
       
  1687 \item[$\bullet$] Dr.~Urban is honestly a great lecturer, he's incredibly helpful and responsive. He also teaches at a very good pace and explains things clearly so students who sometimes struggle with the content like myself can keep up. It's a pleasure to learn from him.
       
  1688   
       
  1689 \item[$\bullet$] I just wish the Coursework content was explained better, in such a way that allows students to get on with the coursework as soon as possible.
       
  1690   
       
  1691 \item[$\bullet$] I'm thoroughly enjoying the module so far. I find that the handouts and homework really solidify my knowledge and the feedback is extremely useful. I enjoy doing the homework and then using the feedback alongside the workshop to correct where I have gone wrong.
       
  1692   
       
  1693 \item[$\bullet$] I enjoy this module and think it is taught well. The homework is very useful.
       
  1694 \end{itemize}
       
  1695 \end{frame}
       
  1696 
       
  1697 \begin{frame}[c]
       
  1698   \begin{center}
       
  1699   \begin{tabular}{cc}  
       
  1700   \includegraphics[scale=0.3]{s1.png} &
       
  1701   \includegraphics[scale=0.3]{s2.png} \\
       
  1702   \includegraphics[scale=0.3]{s3.png} &
       
  1703   \includegraphics[scale=0.3]{s4.png} \\
       
  1704   \end{tabular}                                      
       
  1705   \end{center}
       
  1706 \end{frame}
       
  1707 
       
  1708 \begin{frame}[c]
       
  1709   \begin{center}
       
  1710   \begin{tabular}{cc}  
       
  1711   \includegraphics[scale=0.3]{s5.png} &
       
  1712   \includegraphics[scale=0.3]{s6.png} \\
       
  1713   \includegraphics[scale=0.3]{s7.png} &
       
  1714   \includegraphics[scale=0.3]{s8.png} \\
       
  1715   \end{tabular}                                      
       
  1716   \end{center}
       
  1717 \end{frame}
       
  1718 
       
  1719 \begin{frame}[c]
       
  1720   \begin{center}
       
  1721   \begin{tabular}{cc}  
       
  1722   \includegraphics[scale=0.3]{s9.png} 
       
  1723   \end{tabular}                                      
       
  1724   \end{center}
       
  1725 \end{frame}
  1651 
  1726 
  1652 \end{document}
  1727 \end{document}
  1653 
  1728 
  1654 %%% Local Variables:  
  1729 %%% Local Variables:  
  1655 %%% mode: latex
  1730 %%% mode: latex