updated
authorChristian Urban <christian.urban@kcl.ac.uk>
Sat, 24 Oct 2020 13:02:18 +0100
changeset 788 3b1136fb6bee
parent 787 4b2496bc79b2
child 789 f0696713177b
updated
progs/app05.scala
progs/app06.scala
slides/slides01.pdf
slides/slides04.pdf
slides/slides04.tex
--- a/progs/app05.scala	Wed Oct 21 16:09:44 2020 +0100
+++ b/progs/app05.scala	Sat Oct 24 13:02:18 2020 +0100
@@ -12,7 +12,6 @@
   }
   ...
 }
-
 def F_RIGHT(f: Val => Val) = (v:Val) => Right(f(v))
 def F_LEFT(f: Val => Val) = (v:Val) => Left(f(v))
 def F_ALT(f1: Val => Val, f2: Val => Val) = 
--- a/progs/app06.scala	Wed Oct 21 16:09:44 2020 +0100
+++ b/progs/app06.scala	Sat Oct 24 13:02:18 2020 +0100
@@ -5,17 +5,16 @@
     (r1s, r2s) match {
       case (ZERO, _) => (ZERO, F_ERROR)
       case (_, ZERO) => (ZERO, F_ERROR)
-      case (ONE, _) => (r2s, F_SEQ_Void1(f1s, f2s))
-      case (_, ONE) => (r1s, F_SEQ_Void2(f1s, f2s))
+      case (ONE, _) => (r2s, F_SEQ_Empty1(f1s, f2s))
+      case (_, ONE) => (r1s, F_SEQ_Empty2(f1s, f2s))
       case _ => (SEQ(r1s,r2s), F_SEQ(f1s, f2s))
     }
   }
-  ...
-
-def F_SEQ_Void1(f1: Val => Val, f2: Val => Val) = 
-  (v:Val) => Sequ(f1(Void), f2(v))
-def F_SEQ_Void2(f1: Val => Val, f2: Val => Val) = 
-  (v:Val) => Sequ(f1(v), f2(Void))
+  ...}
+def F_SEQ_Empty1(f1: Val => Val, f2: Val => Val) = 
+  (v:Val) => Sequ(f1(Empty), f2(v))
+def F_SEQ_Empty2(f1: Val => Val, f2: Val => Val) = 
+  (v:Val) => Sequ(f1(v), f2(Empty))
 def F_SEQ(f1: Val => Val, f2: Val => Val) = 
   (v:Val) => v match {
     case Sequ(v1, v2) => Sequ(f1(v1), f2(v2)) }
Binary file slides/slides01.pdf has changed
Binary file slides/slides04.pdf has changed
--- a/slides/slides04.tex	Wed Oct 21 16:09:44 2020 +0100
+++ b/slides/slides04.tex	Sat Oct 24 13:02:18 2020 +0100
@@ -10,10 +10,15 @@
 \pgfplotsset{compat=1.11}
 
 
+\usepackage{tcolorbox}
+\newtcolorbox{mybox}{colback=red!5!white,colframe=red!75!black}
+\newtcolorbox{mybox2}[1]{colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,title=#1}
+\newtcolorbox{mybox3}[1]{colback=Cyan!5!white,colframe=Cyan!75!black,fonttitle=\bfseries,title=#1}
+
 % a hand written lexer for SML
 % https://ponyo.org/
 % https://github.com/eatonphil/ponyo/blob/master/src/Sml/Lexer.sml
-
+\beamertemplateballitem
 
 \newcommand{\bl}[1]{\textcolor{blue}{#1}}  
 
@@ -914,7 +919,7 @@
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \begin{frame}[c]
-\frametitle{Rectification}
+\frametitle{Rectification $\_ + \_$}
 
 \begin{center}
 \begin{tabular}{l}
@@ -959,7 +964,7 @@
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \begin{frame}[c]
-\frametitle{Rectification}
+\frametitle{Rectification $\_ \cdot \_$}
 
 \begin{center}
 \begin{tabular}{@{\hspace{-3mm}}l}
@@ -1218,178 +1223,177 @@
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[c]
-\begin{center}
-\begin{tabular}{@ {}l@ {\hspace{2mm}}c@ {\hspace{2mm}}l@ {}}
-\bl{$zeroable(\ZERO)$}      & \bl{$\dn$} & \bl{$true$}\\
-\bl{$zeroable(\ONE)$}         & \bl{$\dn$} & \bl{$\textit{false}$}\\
-\bl{$zeroable(c)$}                & \bl{$\dn$} & \bl{$\textit{false}$}\\
-\bl{$zeroable(r_1 + r_2)$}        & \bl{$\dn$} & \bl{$zeroable(r_1) \wedge zeroable(r_2)$}\\ 
-\bl{$zeroable(r_1 \cdot r_2)$}    & \bl{$\dn$} & \bl{$zeroable(r_1) \vee zeroable(r_2)$}\\
-\bl{$zeroable(r^*)$}              & \bl{$\dn$} & \bl{$\textit{false}$}\\
-\end{tabular}
-\end{center}
-
-\begin{center}
-\bl{$zeroable(r)$} if and only if \bl{$L(r) = \{\}$}
-\end{center}
-
-
-\end{frame}
+%\begin{frame}[c]
+%\begin{center}
+%\begin{tabular}{@ {}l@ {\hspace{2mm}}c@ {\hspace{2mm}}l@ {}}
+%\bl{$zeroable(\ZERO)$}      & \bl{$\dn$} & \bl{$true$}\\
+%\bl{$zeroable(\ONE)$}         & \bl{$\dn$} & \bl{$\textit{false}$}\\
+%\bl{$zeroable(c)$}                & \bl{$\dn$} & \bl{$\textit{false}$}\\
+%\bl{$zeroable(r_1 + r_2)$}        & \bl{$\dn$} & \bl{$zeroable(r_1) \wedge zeroable(r_2)$}\\ 
+%\bl{$zeroable(r_1 \cdot r_2)$}    & \bl{$\dn$} & \bl{$zeroable(r_1) \vee zeroable(r_2)$}\\
+%\bl{$zeroable(r^*)$}              & \bl{$\dn$} & \bl{$\textit{false}$}\\
+%\end{tabular}
+%\end{center}
+%
+%\begin{center}
+%\bl{$zeroable(r)$} if and only if \bl{$L(r) = \{\}$}
+%\end{center}
+%
+%
+%\end{frame}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
 
 
   
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[c]
-\frametitle{\begin{tabular}{c}Last Week\\[-2mm] 
-            Regexes and Values\end{tabular}}
-
-Regular expressions and their corresponding values:
-
-\begin{center}
-\begin{columns}
-\begin{column}{3cm}
-\begin{tabular}{@{}rrl@{}}
-  \bl{$r$} & \bl{$::=$}  & \bl{$\ZERO$}\\
-           & \bl{$\mid$} & \bl{$\ONE$}   \\
-           & \bl{$\mid$} & \bl{$c$}          \\
-           & \bl{$\mid$} & \bl{$r_1 \cdot r_2$}\\
-           & \bl{$\mid$} & \bl{$r_1 + r_2$}   \\
-  \\
-           & \bl{$\mid$} & \bl{$r^*$}         \\
-  \end{tabular}
-\end{column}
-\begin{column}{3cm}
-\begin{tabular}{@{\hspace{-7mm}}rrl@{}}
-  \bl{$v$} & \bl{$::=$}  & \\
-           &             & \bl{$Empty$}   \\
-           & \bl{$\mid$} & \bl{$Char(c)$}          \\
-           & \bl{$\mid$} & \bl{$Seq(v_1,v_2)$}\\
-           & \bl{$\mid$} & \bl{$Left(v)$}   \\
-           & \bl{$\mid$} & \bl{$Right(v)$}  \\
-           & \bl{$\mid$} & \bl{$Stars [v_1,\ldots\,v_n]$} \\
-  \end{tabular}
-\end{column}
-\end{columns}
-\end{center}
-
-
-\end{frame}
+%\begin{frame}[c]
+%\frametitle{\begin{tabular}{c}Last Week\\[-2mm] 
+%            Regexes and Values\end{tabular}}
+%
+%Regular expressions and their corresponding values:
+%
+%\begin{center}
+%\begin{columns}
+%\begin{column}{3cm}
+%\begin{tabular}{@{}rrl@{}}
+%  \bl{$r$} & \bl{$::=$}  & \bl{$\ZERO$}\\
+%           & \bl{$\mid$} & \bl{$\ONE$}   \\
+%           & \bl{$\mid$} & \bl{$c$}          \\
+%           & \bl{$\mid$} & \bl{$r_1 \cdot r_2$}\\
+%           & \bl{$\mid$} & \bl{$r_1 + r_2$}   \\
+%  \\
+%           & \bl{$\mid$} & \bl{$r^*$}         \\
+%  \end{tabular}
+%\end{column}
+%\begin{column}{3cm}
+%\begin{tabular}{@{\hspace{-7mm}}rrl@{}}
+%  \bl{$v$} & \bl{$::=$}  & \\
+%           &             & \bl{$Empty$}   \\
+%           & \bl{$\mid$} & \bl{$Char(c)$}          \\
+%           & \bl{$\mid$} & \bl{$Seq(v_1,v_2)$}\\
+%           & \bl{$\mid$} & \bl{$Left(v)$}   \\
+%           & \bl{$\mid$} & \bl{$Right(v)$}  \\
+%           & \bl{$\mid$} & \bl{$Stars [v_1,\ldots\,v_n]$} \\
+%  \end{tabular}
+%\end{column}
+%\end{columns}
+%\end{center}
+%
+%\end{frame}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[c]
-
-\begin{textblock}{10}(3,5)
-\begin{tikzpicture}[scale=2,node distance=1.3cm,every node/.style={minimum size=8mm}]
-\node (r1)  {\bl{$r_1$}};
-\node (r2) [right=of r1] {\bl{$r_2$}};
-\draw[->,line width=1mm]  (r1) -- (r2) node[above,midway] {\bl{$der\,a$}};
-\node (r3) [right=of r2] {\bl{$r_3$}};
-\draw[->,line width=1mm]  (r2) -- (r3) node[above,midway] {\bl{$der\,b$}};
-\node (r4) [right=of r3] {\bl{$r_4$}};
-\draw[->,line width=1mm]  (r3) -- (r4) node[above,midway] {\bl{$der\,c$}};
-\draw (r4) node[anchor=west] {\;\raisebox{3mm}{\bl{$nullable$}}};
-\node (v4) [below=of r4] {\bl{$v_4$}};
-\draw[->,line width=1mm]  (r4) -- (v4);
-\node (v3) [left=of v4] {\bl{$v_3$}};
-\draw[->,line width=1mm]  (v4) -- (v3) node[below,midway] {\bl{$inj\,c$}};
-\node (v2) [left=of v3] {\bl{$v_2$}};
-\draw[->,line width=1mm]  (v3) -- (v2) node[below,midway] {\bl{$inj\,b$}};
-\node (v1) [left=of v2] {\bl{$v_1$}};
-\draw[->,line width=1mm]  (v2) -- (v1) node[below,midway] {\bl{$inj\,a$}};
-\draw[->,line width=0.5mm]  (r3) -- (v3);
-\draw[->,line width=0.5mm]  (r2) -- (v2);
-\draw[->,line width=0.5mm]  (r1) -- (v1);
-\draw (r4) node[anchor=north west] {\;\raisebox{-8mm}{\bl{$mkeps$}}};
-\end{tikzpicture}
-\end{textblock}
-
-\begin{textblock}{6}(1,0.8)
-\begin{bubble}[6cm]
-\small
-\begin{tabular}{ll}
-\bl{$r_1$}: & \bl{$a \cdot (b \cdot c)$}\\
-\bl{$r_2$}: & \bl{$\ONE \cdot (b \cdot c)$}\\
-\bl{$r_3$}: & \bl{$(\ZERO \cdot (b \cdot c)) + (\ONE \cdot c)$}\\
-\bl{$r_4$}: & \bl{$(\ZERO \cdot (b \cdot c)) + ((\ZERO \cdot c) + \ONE)$}\\
-\end{tabular}
-\end{bubble}
-\end{textblock}
-
-\begin{textblock}{6}(1,11.4)
-\begin{bubble}[7.6cm]
-\small
-\begin{tabular}{ll}
-\bl{$v_1$}: & \bl{$Seq(Char(a), Seq(Char(b), Char(c)))$}\\
-\bl{$v_2$}: & \bl{$Seq(Empty, Seq(Char(b), Char(c)))$}\\
-\bl{$v_3$}: & \bl{$Right(Seq(Empty, Char(c)))$}\\
-\bl{$v_4$}: & \bl{$Right(Right(Empty))$}\\
-\end{tabular}
-\end{bubble}
-\end{textblock}
-
-\begin{textblock}{6}(12,11.4)
-\begin{bubble}[2cm]
-\small
-\begin{tabular}{ll}
-\bl{$|v_1|$}: & \bl{$abc$}\\
-\bl{$|v_2|$}: & \bl{$bc$}\\
-\bl{$|v_3|$}: & \bl{$c$}\\
-\bl{$|v_4|$}: & \bl{$[]$}
-\end{tabular}
-\end{bubble}
-\end{textblock}
-
-
-\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[c]
-\frametitle{Simplification}
-
-\begin{itemize}
-\item If we simplify after the derivative, then we are builing the
-value for the simplified regular expression, but \emph{not} for the original
-regular expression.
-\end{itemize}
-
-\begin{center}
-\begin{tikzpicture}[scale=2,node distance=1.3cm,every node/.style={minimum size=8mm}]
-\node (r1)  {\bl{$r_1$}};
-\node (r2) [right=of r1] {\bl{$r_2$}};
-\draw[->,line width=1mm]  (r1) -- (r2) node[above,midway] {\bl{$der\,a$}};
-\node (r3) [right=of r2] {\bl{$r_3$}};
-\draw[->,line width=1mm]  (r2) -- (r3) node[above,midway] {\bl{$der\,b$}};
-\node (r4) [right=of r3] {\bl{$r_4$}};
-\draw[->,line width=1mm]  (r3) -- (r4) node[above,midway] {\bl{$der\,c$}};
-\draw (r4) node[anchor=west] {\;\raisebox{3mm}{\bl{$nullable$}}};
-\node (v4) [below=of r4] {\bl{$v_4$}};
-\draw[->,line width=1mm]  (r4) -- (v4);
-\node (v3) [left=of v4] {\bl{$v_3$}};
-\draw[->,line width=1mm]  (v4) -- (v3) node[below,midway] {\bl{$inj\,c$}};
-\node (v2) [left=of v3] {\bl{$v_2$}};
-\draw[->,line width=1mm]  (v3) -- (v2) node[below,midway] {\bl{$inj\,b$}};
-\node (v1) [left=of v2] {\bl{$v_1$}};
-\draw[->,line width=1mm]  (v2) -- (v1) node[below,midway] {\bl{$inj\,a$}};
-\draw[->,line width=0.5mm]  (r3) -- (v3);
-\draw[->,line width=0.5mm]  (r2) -- (v2);
-\draw[->,line width=0.5mm]  (r1) -- (v1);
-\draw (r4) node[anchor=north west] {\;\raisebox{-8mm}{\bl{$mkeps$}}};
-\end{tikzpicture}
-\end{center}
-
-\small
-\hspace{4.5cm}\bl{$(b \cdot c) + (\ZERO + \ONE)$}
-$\mapsto$
-\bl{$(b \cdot c) + \ONE$}
-
-\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
-
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\begin{frame}[c]
+%
+%\begin{textblock}{10}(3,5)
+%\begin{tikzpicture}[scale=2,node distance=1.3cm,every node/.style={minimum size=8mm}]
+%\node (r1)  {\bl{$r_1$}};
+%\node (r2) [right=of r1] {\bl{$r_2$}};
+%\draw[->,line width=1mm]  (r1) -- (r2) node[above,midway] {\bl{$der\,a$}};
+%\node (r3) [right=of r2] {\bl{$r_3$}};
+%\draw[->,line width=1mm]  (r2) -- (r3) node[above,midway] {\bl{$der\,b$}};
+%\node (r4) [right=of r3] {\bl{$r_4$}};
+%\draw[->,line width=1mm]  (r3) -- (r4) node[above,midway] {\bl{$der\,c$}};
+%\draw (r4) node[anchor=west] {\;\raisebox{3mm}{\bl{$nullable$}}};
+%\node (v4) [below=of r4] {\bl{$v_4$}};
+%\draw[->,line width=1mm]  (r4) -- (v4);
+%\node (v3) [left=of v4] {\bl{$v_3$}};
+%\draw[->,line width=1mm]  (v4) -- (v3) node[below,midway] {\bl{$inj\,c$}};
+%\node (v2) [left=of v3] {\bl{$v_2$}};
+%\draw[->,line width=1mm]  (v3) -- (v2) node[below,midway] {\bl{$inj\,b$}};
+%\node (v1) [left=of v2] {\bl{$v_1$}};
+%\draw[->,line width=1mm]  (v2) -- (v1) node[below,midway] {\bl{$inj\,a$}};
+%\draw[->,line width=0.5mm]  (r3) -- (v3);
+%\draw[->,line width=0.5mm]  (r2) -- (v2);
+%\draw[->,line width=0.5mm]  (r1) -- (v1);
+%\draw (r4) node[anchor=north west] {\;\raisebox{-8mm}{\bl{$mkeps$}}};
+%\end{tikzpicture}
+%\end{textblock}
+%
+%\begin{textblock}{6}(1,0.8)
+%\begin{bubble}[6cm]
+%\small
+%\begin{tabular}{ll}
+%\bl{$r_1$}: & \bl{$a \cdot (b \cdot c)$}\\
+%\bl{$r_2$}: & \bl{$\ONE \cdot (b \cdot c)$}\\
+%\bl{$r_3$}: & \bl{$(\ZERO \cdot (b \cdot c)) + (\ONE \cdot c)$}\\
+%\bl{$r_4$}: & \bl{$(\ZERO \cdot (b \cdot c)) + ((\ZERO \cdot c) + \ONE)$}\\
+%\end{tabular}
+%\end{bubble}
+%\end{textblock}
+%
+%\begin{textblock}{6}(1,11.4)
+%\begin{bubble}[7.6cm]
+%\small
+%\begin{tabular}{ll}
+%\bl{$v_1$}: & \bl{$Seq(Char(a), Seq(Char(b), Char(c)))$}\\
+%\bl{$v_2$}: & \bl{$Seq(Empty, Seq(Char(b), Char(c)))$}\\
+%\bl{$v_3$}: & \bl{$Right(Seq(Empty, Char(c)))$}\\
+%\bl{$v_4$}: & \bl{$Right(Right(Empty))$}\\
+%\end{tabular}
+%\end{bubble}
+%\end{textblock}
+%
+%\begin{textblock}{6}(12,11.4)
+%\begin{bubble}[2cm]
+%\small
+%\begin{tabular}{ll}
+%\bl{$|v_1|$}: & \bl{$abc$}\\
+%\bl{$|v_2|$}: & \bl{$bc$}\\
+%\bl{$|v_3|$}: & \bl{$c$}\\
+%\bl{$|v_4|$}: & \bl{$[]$}
+%\end{tabular}
+%\end{bubble}
+%\end{textblock}
+%
+%
+%%\end{frame}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\begin{frame}[c]
+%\frametitle{Simplification}
+%
+%\begin{itemize}
+%\item If we simplify after the derivative, then we are builing the
+%value for the simplified regular expression, but \emph{not} for the original
+%regular expression.
+%\end{itemize}
+%
+%\begin{center}
+%\begin{tikzpicture}[scale=2,node distance=1.3cm,every node/.style={minimum size=8mm}]
+%\node (r1)  {\bl{$r_1$}};
+%\node (r2) [right=of r1] {\bl{$r_2$}};
+%\draw[->,line width=1mm]  (r1) -- (r2) node[above,midway] {\bl{$der\,a$}};
+%\node (r3) [right=of r2] {\bl{$r_3$}};
+%\draw[->,line width=1mm]  (r2) -- (r3) node[above,midway] {\bl{$der\,b$}};
+%\node (r4) [right=of r3] {\bl{$r_4$}};
+%\draw[->,line width=1mm]  (r3) -- (r4) node[above,midway] {\bl{$der\,c$}};
+%\draw (r4) node[anchor=west] {\;\raisebox{3mm}{\bl{$nullable$}}};
+%\node (v4) [below=of r4] {\bl{$v_4$}};
+%\draw[->,line width=1mm]  (r4) -- (v4);
+%\node (v3) [left=of v4] {\bl{$v_3$}};
+%\draw[->,line width=1mm]  (v4) -- (v3) node[below,midway] {\bl{$inj\,c$}};
+%\node (v2) [left=of v3] {\bl{$v_2$}};
+%\draw[->,line width=1mm]  (v3) -- (v2) node[below,midway] {\bl{$inj\,b$}};
+%\node (v1) [left=of v2] {\bl{$v_1$}};
+%\draw[->,line width=1mm]  (v2) -- (v1) node[below,midway] {\bl{$inj\,a$}};
+%\draw[->,line width=0.5mm]  (r3) -- (v3);
+%\draw[->,line width=0.5mm]  (r2) -- (v2);
+%\draw[->,line width=0.5mm]  (r1) -- (v1);
+%\draw (r4) node[anchor=north west] {\;\raisebox{-8mm}{\bl{$mkeps$}}};
+%\end{tikzpicture}
+%\end{center}
+%
+%\small
+%\hspace{4.5cm}\bl{$(b \cdot c) + (\ZERO + \ONE)$}
+%$\mapsto$
+%\bl{$(b \cdot c) + \ONE$}
+%
+%\end{frame}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
+%
+%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % \begin{frame}[t]
 
 % \begin{center}
@@ -1451,24 +1455,24 @@
 % \end{frame}
 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[c]
-\frametitle{Records}
-
-\begin{itemize}
-\item new regex: \bl{$(x:r)$}\hspace{7mm}new value: \bl{$Rec(x,v)$}\medskip\pause
-
-\item \bl{$nullable(x:r) \dn nullable(r)$}
-\item \bl{$der\,c\,(x:r) \dn der\,c\,r$}
-\item \bl{$mkeps(x:r) \dn Rec(x, mkeps(r))$}
-\item \bl{$inj\,(x:r)\,c\,v \dn Rec(x, inj\,r\,c\,v)$}
-\end{itemize}\bigskip\bigskip\pause
-
-\small
-for extracting subpatterns \bl{$(z: ((x:ab) + (y:ba))$}
-
-\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\begin{frame}[c]
+%\frametitle{Records}
+%
+%\begin{itemize}
+%\item new regex: \bl{$(x:r)$}\hspace{7mm}new value: \bl{$Rec(x,v)$}\medskip\pause
+%
+%\item \bl{$nullable(x:r) \dn nullable(r)$}
+%\item \bl{$der\,c\,(x:r) \dn der\,c\,r$}
+%\item \bl{$mkeps(x:r) \dn Rec(x, mkeps(r))$}
+%\item \bl{$inj\,(x:r)\,c\,v \dn Rec(x, inj\,r\,c\,v)$}
+%\end{itemize}\bigskip\bigskip\pause
+%
+%\small
+%for extracting subpatterns \bl{$(z: ((x:ab) + (y:ba))$}
+%
+%\end{frame}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1647,7 +1651,78 @@
 %
 %\end{frame}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 
+
+\begin{frame}[t]
+\begin{mybox3}{}
+  Are dfas completed by definition as in do they have a to have transitions
+  for every char at every state?
+\end{mybox3}
+\end{frame}
+
+\begin{frame}[t]
+\begin{mybox3}{}
+  How can you tell if a language will be regular or irregular?
+\end{mybox3}
+\end{frame}
+
+\begin{frame}<1-12>[c]
+\end{frame}
+
+\begin{frame}[c]
+  \small
+  \begin{itemize}
+\item[$\bullet$] contentwise probably the most enjoyable module I have had so far at KCL 
+
+\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
+
+\item[$\bullet$] Please can tutorial sessions be recorded \& linked on Keats.
+  
+\item[$\bullet$] One of the best taught modules I've had, with a genuinely interested and engaging lecturer. Thanks Dr.~Urban!
+\end{itemize}
+\end{frame}
+
+\begin{frame}[c]
+  \small
+  \begin{itemize}
+\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.
+  
+\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.
+  
+\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.
+  
+\item[$\bullet$] I enjoy this module and think it is taught well. The homework is very useful.
+\end{itemize}
+\end{frame}
+
+\begin{frame}[c]
+  \begin{center}
+  \begin{tabular}{cc}  
+  \includegraphics[scale=0.3]{s1.png} &
+  \includegraphics[scale=0.3]{s2.png} \\
+  \includegraphics[scale=0.3]{s3.png} &
+  \includegraphics[scale=0.3]{s4.png} \\
+  \end{tabular}                                      
+  \end{center}
+\end{frame}
+
+\begin{frame}[c]
+  \begin{center}
+  \begin{tabular}{cc}  
+  \includegraphics[scale=0.3]{s5.png} &
+  \includegraphics[scale=0.3]{s6.png} \\
+  \includegraphics[scale=0.3]{s7.png} &
+  \includegraphics[scale=0.3]{s8.png} \\
+  \end{tabular}                                      
+  \end{center}
+\end{frame}
+
+\begin{frame}[c]
+  \begin{center}
+  \begin{tabular}{cc}  
+  \includegraphics[scale=0.3]{s9.png} 
+  \end{tabular}                                      
+  \end{center}
+\end{frame}
 
 \end{document}