1092  \bl{$L(\ZERO)$}  & \bl{$\dn$} & \bl{$\{\}$}\\ | 
  1148  \bl{$L(\ZERO)$}  & \bl{$\dn$} & \bl{$\{\}$}\\ | 
  1093  \bl{$L(\ONE)$}     & \bl{$\dn$} & \bl{$\{[]\}$}\\ | 
  1149  \bl{$L(\ONE)$}     & \bl{$\dn$} & \bl{$\{[]\}$}\\ | 
  1094  \bl{$L(c)$}            & \bl{$\dn$} & \bl{$\{[c]\}$}\\ | 
  1150  \bl{$L(c)$}            & \bl{$\dn$} & \bl{$\{[c]\}$}\\ | 
  1095  \bl{$L(r_1 + r_2)$}    & \bl{$\dn$} & \bl{$L(r_1) \cup L(r_2)$}\\ | 
  1151  \bl{$L(r_1 + r_2)$}    & \bl{$\dn$} & \bl{$L(r_1) \cup L(r_2)$}\\ | 
  1096  \bl{$L(r_1 \cdot r_2)$} & \bl{$\dn$} & \bl{$\{ s_1 \,@\, s_2 \;|\; s_1 \in L(r_1) \wedge s_2 \in L(r_2) \}$}\\ | 
  1152  \bl{$L(r_1 \cdot r_2)$} & \bl{$\dn$} & \bl{$\{ s_1 \,@\, s_2 \;|\; s_1 \in L(r_1) \wedge s_2 \in L(r_2) \}$}\\ | 
  1097  \bl{$L(r^*)$}           & \bl{$\dn$} & \onslide<4->{\bl{$\bigcup_{0 \le n} L(r)^n$}}\\ | 
  1153  \bl{$L(r^*)$}           & \bl{$\dn$} & \onslide<2->{\bl{$\bigcup_{0 \le n} L(r)^n$}}\\ | 
  1098   \end{tabular}\bigskip | 
  1154   \end{tabular}\bigskip | 
  1099     | 
  1155     | 
  1100 \onslide<2->{ | 
  1156 %\onslide<2->{ | 
  1101 \hspace{5mm}\bl{$L(r)^0 \;\dn\; \{[]\}$}\\ | 
  1157 %\hspace{5mm}\bl{$L(r)^0 \;\dn\; \{[]\}$}\\ | 
  1102 \bl{$L(r)^{n+1} \;\dn\; L(r) \,@\, L(r)^n$}\hspace{9mm}\onslide<3->{\small\textcolor{gray}{(append on sets)}\\ | 
  1158 %\bl{$L(r)^{n+1} \;\dn\; L(r) \,@\, L(r)^n$}\hspace{9mm}\onslide<3->{\small\textcolor{gray}{(append on sets)}\\ | 
  1103 \small\hspace{5cm}\textcolor{gray}{$\{ s_1 @ s_2 \;|\; s_1\in L(r) \wedge s_2 \in L(r)^n \}$}} | 
  1159 %\small\hspace{5cm}\textcolor{gray}{$\{ s_1 @ s_2 \;|\; s_1\in L(r) \wedge s_2 \in L(r)^n \}$}} | 
  1104 }    | 
  1160 %}    | 
  1105     \end{textblock} | 
  1161 \end{textblock} | 
  1106   | 
  1162   | 
  1107 \end{frame} | 
  1163 \end{frame} | 
  1108 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
  1164 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
  1109   | 
  1165 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
  1110 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
  1166 \begin{frame}[c] | 
  1111 \begin{frame}[c] | 
  1167   \frametitle{The Star Operation} | 
  1112 \frametitle{The Meaning of Matching} | 
         | 
  1113   | 
         | 
  1114 \begin{bubble}[10cm] | 
         | 
  1115 \large\bf   | 
         | 
  1116 A regular expression \bl{$r$} matches a string~\bl{$s$}  | 
         | 
  1117 provided  | 
         | 
  1118   | 
         | 
  1119 \begin{center} | 
         | 
  1120 \bl{$s \in L(r)$}\\  | 
         | 
  1121 \end{center} | 
         | 
  1122 \end{bubble}\bigskip\bigskip | 
         | 
  1123   | 
         | 
  1124 \ldots and the point of the next lecture is   | 
         | 
  1125 to decide this problem as fast as possible (unlike Python,  | 
         | 
  1126 Ruby, Java)  | 
         | 
  1127   | 
         | 
  1128 \end{frame} | 
         | 
  1129 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
         | 
  1130   | 
         | 
  1131 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
  1132 \begin{frame}[c] | 
         | 
  1133   \frametitle{The Power Operation} | 
         | 
  1134     | 
  1168     | 
  1135   \begin{itemize} | 
  1169   \begin{itemize} | 
  1136   \item The \alert{\textbf{\boldmath$n$th Power}} of a language: | 
  1170   \item The \alert{\bf Kleene Star} of a \underline{language}: | 
         | 
  1171   \bigskip  | 
  1137     | 
  1172     | 
  1138   \begin{center} | 
  1173   \begin{center} | 
  1139   \begin{tabular}{lcl} | 
  1174   \begin{tabular}{c} | 
  1140   \bl{$A^0$}    & \bl{$\dn$} & \bl{$\{[]\}$}\\ | 
  1175   \bl{$A\star \dn \bigcup_{0\le n} A^n$} | 
  1141   \bl{$A^{n+1}$} & \bl{$\dn$} & \bl{$A \,@\, A^n$} | 
         | 
  1142   \end{tabular} | 
  1176   \end{tabular} | 
  1143   \end{center}\bigskip | 
  1177   \end{center}\bigskip | 
  1144     | 
  1178     | 
  1145   \item[] For example  | 
  1179   \item[] This expands to   | 
  1146     | 
  1180     | 
  1147   \begin{center} | 
  1181   \[  | 
  1148   \begin{tabular}{lcl@{\hspace{10mm}}l} | 
  1182   \bl{A^0 \cup A^1 \cup A^2 \cup A^3 \cup A^4 \cup \ldots} | 
  1149   \bl{$A^4$} & \bl{$=$} & \bl{$A \,@\, A \,@\, A \,@\, A$} & \bl{$(@\,\{[]\})$}\\ | 
  1183   \]  | 
  1150   \bl{$A^1$} & \bl{$=$} & \bl{$A$} & \bl{$(@\,\{[]\})$}\\ | 
  1184     | 
  1151   \bl{$A^0$} & \bl{$=$} & \bl{$\{[]\}$}\\ | 
  1185   or  | 
  1152   \end{tabular} | 
  1186     | 
  1153   \end{center} | 
  1187   \small  | 
         | 
  1188   \[  | 
         | 
  1189   \bl{\{[]\} \;\cup\; A \;\cup\; A\,@\,A \;\cup\;  | 
         | 
  1190     A\,@\,A\,@\,A \;\cup\; A\,@\,A\,@\,A\,@\,A \cup \ldots}  | 
         | 
  1191   \]  | 
  1154     | 
  1192     | 
  1155   \end{itemize}   | 
  1193   \end{itemize}   | 
  1156     | 
  1194     | 
  1157   \end{frame} | 
  1195   \end{frame} | 
  1158 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
  1196   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
  1159   | 
         | 
  1160 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
  1161 \begin{frame}[c] | 
         | 
  1162   \frametitle{Questions} | 
         | 
  1163     | 
         | 
  1164   \begin{itemize} | 
         | 
  1165   \item Say \bl{$A = \{[a],[b],[c],[d]\}$}.\bigskip | 
         | 
  1166     | 
         | 
  1167   \item[]  | 
         | 
  1168   How many strings are in \bl{$A^4$}\,? | 
         | 
  1169   \bigskip\medskip\pause  | 
         | 
  1170     | 
         | 
  1171     | 
         | 
  1172  \item[]  | 
         | 
  1173   What if \bl{$A = \{[a],[b],[c],[]\}$};\\  | 
         | 
  1174   how many strings are then in \bl{$A^4$}\,? | 
         | 
  1175   \end{itemize}   | 
         | 
  1176     | 
         | 
  1177 \end{frame} | 
         | 
  1178 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    | 
         | 
  1179   | 
         | 
  1180 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
  1181 \begin{frame}[c] | 
         | 
  1182 \frametitle{Languages (Sets of Strings)} | 
         | 
  1183   | 
         | 
  1184 \begin{itemize} | 
         | 
  1185   | 
         | 
  1186 \item A \alert{\bf Language} is a set of strings, for example\medskip | 
         | 
  1187 \begin{center} | 
         | 
  1188 \bl{$\{[], hello, foobar, a, abc\}$} | 
         | 
  1189 \end{center}\bigskip | 
         | 
  1190   | 
         | 
  1191 \item \alert{\bf Concatenation} for strings and languages | 
         | 
  1192   | 
         | 
  1193 \begin{center} | 
         | 
  1194 \begin{tabular}{rcl} | 
         | 
  1195 \bl{$foo\;@\;bar$} & \bl{$=$} & \bl{$foobar$}\medskip\\ | 
         | 
  1196 \bl{$A\;@\;B$}     & \bl{$\dn$} & \bl{$\{ s_1\,@\,s_2 \;\mid\; s_1 \in A \wedge s_2 \in B\}$} | 
         | 
  1197 \end{tabular} | 
         | 
  1198 \end{center} | 
         | 
  1199 \bigskip  | 
         | 
  1200   | 
         | 
  1201 \small  | 
         | 
  1202 \item [] For example \bl{$A = \{foo, bar\}$}, \bl{$B = \{a, b\}$} | 
         | 
  1203   | 
         | 
  1204 \[  | 
         | 
  1205 \bl{A \,@\, B = \{fooa, foob, bara, barb\}} | 
         | 
  1206 \]  | 
         | 
  1207   | 
         | 
  1208 \end{itemize}   | 
         | 
  1209 \end{frame} | 
         | 
  1210 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
         | 
  1211   | 
         | 
  1212 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
  1213 \begin{frame}[c] | 
         | 
  1214   \frametitle{Two Corner Cases} | 
         | 
  1215      | 
         | 
  1216   \Large  | 
         | 
  1217   \begin{center} | 
         | 
  1218   \bl{$A \,@\, \{[]\} = \;?$}\bigskip\bigskip\pause\\ | 
         | 
  1219   \bl{$A \,@\, \{\} = \;?$} | 
         | 
  1220   \end{center}   | 
         | 
  1221       | 
         | 
  1222   \end{frame} | 
         | 
  1223   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    | 
         | 
  1224     | 
         | 
  1225   | 
         | 
  1226   | 
  1197   | 
  1227 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
  1198 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
  1228 \begin{frame}[c] | 
  1199 \begin{frame}[c] | 
  1229 \frametitle{The Meaning of a Regex} | 
  1200 \frametitle{The Meaning of a Regex} | 
  1230   | 
  1201   | 
  1231  ...all the strings a regular expression can match.     | 
  1202 \begin{textblock}{15}(1,4) | 
  1232   | 
         | 
  1233 \begin{center} | 
         | 
  1234  \begin{tabular}{rcl} | 
  1203  \begin{tabular}{rcl} | 
  1235  \bl{$L(\ZERO)$}  & \bl{$\dn$} & \bl{$\{\}$}\\ | 
  1204  \bl{$L(\ZERO)$}  & \bl{$\dn$} & \bl{$\{\}$}\\ | 
  1236  \bl{$L(\ONE)$}     & \bl{$\dn$} & \bl{$\{[]\}$}\\ | 
  1205  \bl{$L(\ONE)$}     & \bl{$\dn$} & \bl{$\{[]\}$}\\ | 
  1237  \bl{$L(c)$}            & \bl{$\dn$} & \bl{$\{[c]\}$}\\ | 
  1206  \bl{$L(c)$}            & \bl{$\dn$} & \bl{$\{[c]\}$}\\ | 
  1238  \bl{$L(r_1 + r_2)$}    & \bl{$\dn$} & \bl{$L(r_1) \cup L(r_2)$}\\ | 
  1207  \bl{$L(r_1 + r_2)$}    & \bl{$\dn$} & \bl{$L(r_1) \cup L(r_2)$}\\ | 
  1239  \bl{$L(r_1 \cdot r_2)$} & \bl{$\dn$} & \bl{$L(r_1) \,@\, L(r_2)$}\\ | 
  1208  \bl{$L(r_1 \cdot r_2)$} & \bl{$\dn$} & \bl{$\{ s_1 \,@\, s_2 \;|\; s_1 \in L(r_1) \wedge s_2 \in L(r_2) \}$}\\ | 
  1240  \bl{$L(r^*)$}           & \bl{$\dn$} & \\ | 
  1209  \bl{$L(r^*)$}           & \bl{$\dn$} & \bl{$(L(r))\star$}\\ | 
  1241   \end{tabular} | 
  1210   \end{tabular} | 
         | 
  1211     | 
         | 
  1212 \end{textblock} | 
         | 
  1213   | 
         | 
  1214 \end{frame} | 
         | 
  1215 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
  1216   | 
         | 
  1217 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
  1218 \begin{frame}[c] | 
         | 
  1219 \frametitle{The Meaning of Matching} | 
         | 
  1220   | 
         | 
  1221 \begin{bubble}[10cm] | 
         | 
  1222 \large\bf   | 
         | 
  1223 A regular expression \bl{$r$} matches a string~\bl{$s$}  | 
         | 
  1224 provided  | 
         | 
  1225   | 
         | 
  1226 \begin{center} | 
         | 
  1227 \bl{$s \in L(r)$}\\  | 
  1242 \end{center} | 
  1228 \end{center} | 
  1243   | 
  1229 \end{bubble}\bigskip\bigskip | 
  1244 \begin{textblock}{14}(1.5,13.5)\small | 
  1230   | 
  1245 \bl{$L$} is a function from regular expressions to  | 
  1231 \ldots and the point of the next lecture is   | 
  1246 sets of strings (languages):\smallskip\\  | 
  1232 to decide this problem as fast as possible (unlike Python,  | 
  1247 \bl{\quad$L$ : Rexp $\Rightarrow$ Set$[$String$]$} | 
  1233 Ruby, Java)  | 
  1248 \end{textblock} | 
  1234   | 
  1249   | 
  1235 \end{frame} | 
  1250 \end{frame} | 
  1236 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        | 
  1251 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
  1237   | 
  1252   | 
  1238 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
  1253 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
  1239 \begin{frame}[c] | 
  1254 \begin{frame}[c] | 
  1240   \frametitle{Questions} | 
  1255 \frametitle{The Power Operation} | 
  1241     | 
  1256   | 
  1242   \begin{itemize} | 
  1257 \begin{itemize} | 
  1243   \item Say \bl{$A = \{[a],[b],[c],[d]\}$}.\bigskip | 
  1258 \item The \alert{\textbf{\boldmath$n$th Power}} of a language: | 
  1244     | 
  1259   | 
  1245   \item[]  | 
  1260 \begin{center} | 
  1246   How many strings are in \bl{$A^4$}\,? | 
  1261 \begin{tabular}{lcl} | 
  1247   \bigskip\medskip\pause  | 
  1262 \bl{$A^0$}    & \bl{$\dn$} & \bl{$\{[]\}$}\\ | 
  1248     | 
  1263 \bl{$A^{n+1}$} & \bl{$\dn$} & \bl{$A \,@\, A^n$} | 
  1249     | 
  1264 \end{tabular} | 
  1250  \item[]  | 
  1265 \end{center}\bigskip | 
  1251   What if \bl{$A = \{[a],[b],[c],[]\}$};\\  | 
  1266   | 
  1252   how many strings are then in \bl{$A^4$}\,? | 
  1267 \item[] For example  | 
  1253   \end{itemize}   | 
  1268   | 
  1254     | 
  1269 \begin{center} | 
  1255 \end{frame} | 
  1270 \begin{tabular}{lcl@{\hspace{10mm}}l} | 
  1256 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    | 
  1271 \bl{$A^4$} & \bl{$=$} & \bl{$A \,@\, A \,@\, A \,@\, A$} & \bl{$(@\,\{[]\})$}\\ | 
  1257   | 
  1272 \bl{$A^1$} & \bl{$=$} & \bl{$A$} & \bl{$(@\,\{[]\})$}\\ | 
  1258 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
  1273 \bl{$A^0$} & \bl{$=$} & \bl{$\{[]\}$}\\ | 
  1259 % \begin{frame}[c] | 
  1274 \end{tabular} | 
  1260 % \frametitle{Languages (Sets of Strings)} | 
  1275 \end{center} | 
  1261   | 
  1276   | 
  1262 % \begin{itemize} | 
  1277 \end{itemize}   | 
  1263   | 
  1278   | 
  1264 % \item A \alert{\bf Language} is a set of strings, for example\medskip | 
  1279 \end{frame} | 
  1265 % \begin{center} | 
         | 
  1266 % \bl{$\{[], hello, foobar, a, abc\}$} | 
         | 
  1267 % \end{center}\bigskip | 
         | 
  1268   | 
         | 
  1269 % \item \alert{\bf Concatenation} for strings and languages | 
         | 
  1270   | 
         | 
  1271 % \begin{center} | 
         | 
  1272 % \begin{tabular}{rcl} | 
         | 
  1273 % \bl{$foo\;@\;bar$} & \bl{$=$} & \bl{$foobar$}\medskip\\ | 
         | 
  1274 % \bl{$A\;@\;B$}     & \bl{$\dn$} & \bl{$\{ s_1\,@\,s_2 \;\mid\; s_1 \in A \wedge s_2 \in B\}$} | 
         | 
  1275 % \end{tabular} | 
         | 
  1276 % \end{center} | 
         | 
  1277 % \bigskip  | 
         | 
  1278   | 
         | 
  1279 % \small  | 
         | 
  1280 % \item [] For example \bl{$A = \{foo, bar\}$}, \bl{$B = \{a, b\}$} | 
         | 
  1281   | 
         | 
  1282 % \[  | 
         | 
  1283 % \bl{A \,@\, B = \{fooa, foob, bara, barb\}} | 
         | 
  1284 % \]  | 
         | 
  1285   | 
         | 
  1286   | 
         | 
  1287   | 
         | 
  1288   | 
         | 
  1289 % \end{itemize}   | 
         | 
  1290 % \end{frame} | 
         | 
  1291 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
         | 
  1292   | 
         | 
  1293 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
  1294 % \begin{frame}[c] | 
         | 
  1295 %   \frametitle{Two Corner Cases} | 
         | 
  1296      | 
         | 
  1297 %   \Large  | 
         | 
  1298 %   \begin{center} | 
         | 
  1299 %   \bl{$A \,@\, \{[]\} = \;?$}\bigskip\bigskip\pause\\ | 
         | 
  1300 %   \bl{$A \,@\, \{\} = \;?$} | 
         | 
  1301 %   \end{center}   | 
         | 
  1302       | 
         | 
  1303 %   \end{frame} | 
         | 
  1304 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    | 
         | 
  1305     | 
         | 
  1306   | 
         | 
  1307   | 
         | 
  1308 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
  1309 % \begin{frame}[c] | 
         | 
  1310 % \frametitle{The Meaning of a Regex} | 
         | 
  1311   | 
         | 
  1312 %  ...all the strings a regular expression can match.     | 
         | 
  1313   | 
         | 
  1314 % \begin{center} | 
         | 
  1315 %  \begin{tabular}{rcl} | 
         | 
  1316 %  \bl{$L(\ZERO)$}  & \bl{$\dn$} & \bl{$\{\}$}\\ | 
         | 
  1317 %  \bl{$L(\ONE)$}     & \bl{$\dn$} & \bl{$\{[]\}$}\\ | 
         | 
  1318 %  \bl{$L(c)$}            & \bl{$\dn$} & \bl{$\{[c]\}$}\\ | 
         | 
  1319 %  \bl{$L(r_1 + r_2)$}    & \bl{$\dn$} & \bl{$L(r_1) \cup L(r_2)$}\\ | 
         | 
  1320 %  \bl{$L(r_1 \cdot r_2)$} & \bl{$\dn$} & \bl{$L(r_1) \,@\, L(r_2)$}\\ | 
         | 
  1321 %  \bl{$L(r^*)$}           & \bl{$\dn$} & \\ | 
         | 
  1322 %   \end{tabular} | 
         | 
  1323 % \end{center} | 
         | 
  1324   | 
         | 
  1325 % \begin{textblock}{14}(1.5,13.5)\small | 
         | 
  1326 % \bl{$L$} is a function from regular expressions to  | 
         | 
  1327 % sets of strings (languages):\smallskip\\  | 
         | 
  1328 % \bl{\quad$L$ : Rexp $\Rightarrow$ Set$[$String$]$} | 
         | 
  1329 % \end{textblock} | 
         | 
  1330   | 
         | 
  1331 % \end{frame} | 
         | 
  1332 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
  1333   | 
         | 
  1334 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
  1335 % \begin{frame}[c] | 
         | 
  1336 % \frametitle{The Power Operation} | 
         | 
  1337   | 
         | 
  1338 % \begin{itemize} | 
         | 
  1339 % \item The \alert{\textbf{\boldmath$n$th Power}} of a language: | 
         | 
  1340   | 
         | 
  1341 % \begin{center} | 
         | 
  1342 % \begin{tabular}{lcl} | 
         | 
  1343 % \bl{$A^0$}    & \bl{$\dn$} & \bl{$\{[]\}$}\\ | 
         | 
  1344 % \bl{$A^{n+1}$} & \bl{$\dn$} & \bl{$A \,@\, A^n$} | 
         | 
  1345 % \end{tabular} | 
         | 
  1346 % \end{center}\bigskip | 
         | 
  1347   | 
         | 
  1348 % \item[] For example  | 
         | 
  1349   | 
         | 
  1350 % \begin{center} | 
         | 
  1351 % \begin{tabular}{lcl@{\hspace{10mm}}l} | 
         | 
  1352 % \bl{$A^4$} & \bl{$=$} & \bl{$A \,@\, A \,@\, A \,@\, A$} & \bl{$(@\,\{[]\})$}\\ | 
         | 
  1353 % \bl{$A^1$} & \bl{$=$} & \bl{$A$} & \bl{$(@\,\{[]\})$}\\ | 
         | 
  1354 % \bl{$A^0$} & \bl{$=$} & \bl{$\{[]\}$}\\ | 
         | 
  1355 % \end{tabular} | 
         | 
  1356 % \end{center} | 
         | 
  1357   | 
         | 
  1358 % \end{itemize}   | 
         | 
  1359   | 
         | 
  1360 % \end{frame} | 
  1280 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   | 
  1361 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   | 
  1281   | 
  1362   | 
  1282 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
  1363   | 
  1283 \begin{frame}[c] | 
         | 
  1284   \frametitle{The Star Operation} | 
         | 
  1285     | 
         | 
  1286   \begin{itemize} | 
         | 
  1287   \item The \alert{\bf Kleene Star} of a \underline{language}: | 
         | 
  1288   \bigskip  | 
         | 
  1289     | 
         | 
  1290   \begin{center} | 
         | 
  1291   \begin{tabular}{c} | 
         | 
  1292   \bl{$A\star \dn \bigcup_{0\le n} A^n$} | 
         | 
  1293   \end{tabular} | 
         | 
  1294   \end{center}\bigskip | 
         | 
  1295     | 
         | 
  1296   \item[] This expands to   | 
         | 
  1297     | 
         | 
  1298   \[  | 
         | 
  1299   \bl{A^0 \cup A^1 \cup A^2 \cup A^3 \cup A^4 \cup \ldots} | 
         | 
  1300   \]  | 
         | 
  1301     | 
         | 
  1302   or  | 
         | 
  1303     | 
         | 
  1304   \small  | 
         | 
  1305   \[  | 
         | 
  1306   \bl{\{[]\} \;\cup\; A \;\cup\; A\,@\,A \;\cup\;  | 
         | 
  1307     A\,@\,A\,@\,A \;\cup\; A\,@\,A\,@\,A\,@\,A \cup \ldots}  | 
         | 
  1308   \]  | 
         | 
  1309     | 
         | 
  1310   \end{itemize}   | 
         | 
  1311     | 
         | 
  1312   \end{frame} | 
         | 
  1313   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
         | 
  1314     | 
         | 
  1315   | 
  1364   | 
  1316   | 
  1365   | 
  1317 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
  1366 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
  1318 \begin{frame}[c] | 
  1367 % \begin{frame}[c] | 
  1319 \frametitle{Written Exam} | 
  1368 % \frametitle{Written Exam} | 
  1320   | 
  1369   | 
  1321 \begin{itemize} | 
  1370 % \begin{itemize} | 
  1322 \item Accounts for 80\%.\bigskip  | 
  1371 % \item Accounts for 80\%.\bigskip  | 
  1323   | 
  1372   | 
  1324 \item The question ``\textit{Is this relevant for | 
  1373 % \item The question ``\textit{Is this relevant for | 
  1325       the exam?}'' is very demotivating for the lecturer!\bigskip\\  | 
  1374 %       the exam?}'' is very demotivating for the lecturer!\bigskip\\  | 
  1326   | 
  1375   | 
  1327 \item Deal: Whatever is in the homework (and is not marked  | 
  1376 % \item Deal: Whatever is in the homework (and is not marked  | 
  1328       ``\textit{optional}'') is relevant for the exam.\bigskip | 
  1377 %       ``\textit{optional}'') is relevant for the exam.\bigskip | 
  1329         | 
  1378         | 
  1330 \item Each lecture has also a handout. There are also handouts about  | 
  1379 % \item Each lecture has also a handout. There are also handouts about  | 
  1331 notation and Scala.        | 
  1380 % notation and Scala.        | 
  1332 \end{itemize} | 
  1381 % \end{itemize} | 
  1333   | 
  1382   | 
  1334 \end{frame} | 
  1383 % \end{frame} | 
  1335 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
  1384 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
  1336   | 
  1385   | 
  1337 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
  1386 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
  1338 \begin{frame}[t] | 
  1387 % \begin{frame}[t] | 
  1339 \frametitle{Coursework} | 
  1388 % \frametitle{Coursework} | 
  1340   | 
  1389   | 
  1341 \begin{itemize} | 
  1390 % \begin{itemize} | 
  1342 \item Accounts for 20\%. Two strands. Choose \alert{\bf one}!\bigskip | 
  1391 % \item Accounts for 20\%. Two strands. Choose \alert{\bf one}!\bigskip | 
  1343 \end{itemize} | 
  1392 % \end{itemize} | 
  1344   | 
  1393   | 
  1345 \begin{columns}[t] | 
  1394 % \begin{columns}[t] | 
  1346 \begin{column}{.5\textwidth} | 
  1395 % \begin{column}{.5\textwidth} | 
  1347 \underline{\bf Strand 1}\medskip | 
  1396 % \underline{\bf Strand 1}\medskip | 
  1348 \begin{itemize} | 
  1397 % \begin{itemize} | 
  1349 \item 4 programming tasks:  | 
  1398 % \item 4 programming tasks:  | 
  1350 \begin{itemize} | 
  1399 % \begin{itemize} | 
  1351 \item matcher (4\%, 11.10.)   | 
  1400 % \item matcher (4\%, 11.10.)   | 
  1352 \item lexer (5\%, 04.11.)  | 
  1401 % \item lexer (5\%, 04.11.)  | 
  1353 \item parser (5\%, 22.11.)  | 
  1402 % \item parser (5\%, 22.11.)  | 
  1354 \item compiler (6\%, 13.12.)  | 
  1403 % \item compiler (6\%, 13.12.)  | 
  1355 \end{itemize} | 
  1404 % \end{itemize} | 
  1356 \item in any lang.~you like,\\ but I want to see the\\ code  | 
  1405 % \item in any lang.~you like,\\ but I want to see the\\ code  | 
  1357 \end{itemize} | 
  1406 % \end{itemize} | 
  1358 \end{column} | 
  1407 % \end{column} | 
  1359   | 
  1408   | 
  1360 \hspace{-45pt}\vrule{}\hspace{10pt} | 
  1409 % \hspace{-45pt}\vrule{}\hspace{10pt} | 
  1361 \begin{column}{.5\textwidth} | 
  1410 % \begin{column}{.5\textwidth} | 
  1362 \underline{\bf Strand 2}\smallskip\begin{itemize} | 
  1411 % \underline{\bf Strand 2}\smallskip\begin{itemize} | 
  1363 \item one task: prove the correctness of a regular expression matcher in   | 
  1412 % \item one task: prove the correctness of a regular expression matcher in   | 
  1364 the \underline{Isabelle} theorem prover | 
  1413 % the \underline{Isabelle} theorem prover | 
  1365 \item 20\%, submission on~13.12.\hspace{-5mm}\mbox{} | 
  1414 % \item 20\%, submission on~13.12.\hspace{-5mm}\mbox{} | 
  1366 \end{itemize} | 
  1415 % \end{itemize} | 
  1367 \end{column} | 
  1416 % \end{column} | 
  1368 \end{columns}\medskip | 
  1417 % \end{columns}\medskip | 
  1369   | 
  1418   | 
  1370 \small  | 
  1419 % \small  | 
  1371 \begin{itemize} | 
  1420 % \begin{itemize} | 
  1372 \item Solving more than one strand will {\bf not} give you more  | 
  1421 % \item Solving more than one strand will {\bf not} give you more  | 
  1373 marks.  | 
  1422 % marks.  | 
  1374   | 
  1423   | 
  1375 \end{itemize} | 
  1424 % \end{itemize} | 
  1376   | 
  1425   | 
  1377 \end{frame} | 
  1426 % \end{frame} | 
  1378 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
  1427 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
  1379   | 
  1428   | 
  1380 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
  1429 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
  1381 %\begin{frame}[c] | 
  1430 %\begin{frame}[c] | 
  1382 %\frametitle{Lecture Capture} | 
  1431 %\frametitle{Lecture Capture} |