slides/slides06.tex
changeset 126 b091e0abb894
parent 90 d1d07f05325a
child 128 4e108563716c
equal deleted inserted replaced
125:27103cafb297 126:b091e0abb894
     1 \documentclass[dvipsnames,14pt,t]{beamer}
     1 \documentclass[dvipsnames,14pt,t]{beamer}
     2 \usepackage{proof}
     2 \usepackage{proof}
     3 \usepackage{beamerthemeplainculight}
     3 \usepackage{beamerthemeplaincu}
     4 \usepackage[T1]{fontenc}
     4 %\usepackage[T1]{fontenc}
     5 \usepackage[latin1]{inputenc}
     5 %\usepackage[latin1]{inputenc}
     6 \usepackage{mathpartir}
     6 \usepackage{mathpartir}
     7 \usepackage{isabelle}
     7 \usepackage{isabelle}
     8 \usepackage{isabellesym}
     8 \usepackage{isabellesym}
     9 \usepackage[absolute,overlay]{textpos}
     9 \usepackage[absolute,overlay]{textpos}
    10 \usepackage{ifthen}
    10 \usepackage{ifthen}
    12 \usepackage{courier}
    12 \usepackage{courier}
    13 \usepackage{listings}
    13 \usepackage{listings}
    14 \usetikzlibrary{arrows}
    14 \usetikzlibrary{arrows}
    15 \usetikzlibrary{positioning}
    15 \usetikzlibrary{positioning}
    16 \usetikzlibrary{calc}
    16 \usetikzlibrary{calc}
       
    17 \usetikzlibrary{shapes}
    17 \usepackage{graphicx} 
    18 \usepackage{graphicx} 
    18 
    19 
    19 \isabellestyle{rm}
    20 \isabellestyle{rm}
    20 \renewcommand{\isastyle}{\rm}%
    21 \renewcommand{\isastyle}{\rm}%
    21 \renewcommand{\isastyleminor}{\rm}%
    22 \renewcommand{\isastyleminor}{\rm}%
    33 \renewcommand{\isacharless}{$\langle$}
    34 \renewcommand{\isacharless}{$\langle$}
    34 \renewcommand{\isachargreater}{$\rangle$}
    35 \renewcommand{\isachargreater}{$\rangle$}
    35 \renewcommand{\isasymsharp}{\isamath{\#}}
    36 \renewcommand{\isasymsharp}{\isamath{\#}}
    36 \renewcommand{\isasymdots}{\isamath{...}}
    37 \renewcommand{\isasymdots}{\isamath{...}}
    37 \renewcommand{\isasymbullet}{\act}
    38 \renewcommand{\isasymbullet}{\act}
       
    39 \newcommand{\isaliteral}[1]{}
       
    40 \newcommand{\isactrlisub}[1]{\emph{\isascriptstyle${}\sb{#1}$}}
    38 
    41 
    39 
    42 
    40 
    43 
    41 \definecolor{javared}{rgb}{0.6,0,0} % for strings
    44 \definecolor{javared}{rgb}{0.6,0,0} % for strings
    42 \definecolor{javagreen}{rgb}{0.25,0.5,0.35} % comments
    45 \definecolor{javagreen}{rgb}{0.25,0.5,0.35} % comments
    86 	numbersep=10pt,
    89 	numbersep=10pt,
    87 	tabsize=2,
    90 	tabsize=2,
    88 	showspaces=false,
    91 	showspaces=false,
    89 	showstringspaces=false}
    92 	showstringspaces=false}
    90 
    93 
       
    94 %sudoku
       
    95 \newcounter{row}
       
    96 \newcounter{col}
       
    97 
       
    98 \newcommand\setrow[9]{
       
    99         \setcounter{col}{1}
       
   100         \foreach \n in {#1, #2, #3, #4, #5, #6, #7, #8, #9} {
       
   101             \edef\x{\value{col} - 0.5}
       
   102             \edef\y{9.5 - \value{row}}
       
   103             \node[anchor=center] at (\x, \y) {\n};
       
   104             \stepcounter{col}
       
   105         }
       
   106         \stepcounter{row}
       
   107 }
       
   108 
       
   109 
    91 % beamer stuff 
   110 % beamer stuff 
    92 \renewcommand{\slidecaption}{APP 06, King's College London, 29 October 2012}
   111 \renewcommand{\slidecaption}{APP 06, King's College London, 12 November 2013}
    93 
   112 
    94 \newcommand{\bl}[1]{\textcolor{blue}{#1}}
   113 \newcommand{\bl}[1]{\textcolor{blue}{#1}}
    95 \begin{document}
   114 \begin{document}
    96 
   115 
    97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   116 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   110 
   129 
   111 \normalsize
   130 \normalsize
   112   \begin{center}
   131   \begin{center}
   113   \begin{tabular}{ll}
   132   \begin{tabular}{ll}
   114   Email:  & christian.urban at kcl.ac.uk\\
   133   Email:  & christian.urban at kcl.ac.uk\\
   115   Of$\!$fice: & S1.27 (1st floor Strand Building)\\
   134   Office: & S1.27 (1st floor Strand Building)\\
   116   Slides: & KEATS (also homework is there)\\
   135   Slides: & KEATS (also homework is there)\\
   117   \end{tabular}
   136   \end{tabular}
   118   \end{center}
   137   \end{center}
   119 
   138 
   120 
   139 
   121 \end{frame}}
   140 \end{frame}}
   122  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   141  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   123 
       
   124 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   125 \mode<presentation>{
       
   126 \begin{frame}[c]
       
   127 \frametitle{1st Week}
       
   128 
       
   129 \begin{itemize}
       
   130 \item What are hashes and salts?\bigskip\pause
       
   131 \item \ldots can be use to store securely data on a client, but
       
   132 you cannot make your protocol dependent on the
       
   133 presence of the data\bigskip\pause
       
   134 \item \ldots can be used to store and verify passwords
       
   135 
       
   136 \end{itemize}
       
   137 
       
   138 \end{frame}}
       
   139 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   140 
       
   141 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   142 \mode<presentation>{
       
   143 \begin{frame}[c]
       
   144 \frametitle{2nd Week}
       
   145 
       
   146 \begin{itemize}
       
   147 \item Buffer overflows\bigskip
       
   148 \item choice of programming language can mitigate or even eliminate this problem
       
   149 \end{itemize}
       
   150 
       
   151 \end{frame}}
       
   152 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   153 
       
   154 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   155 \mode<presentation>{
       
   156 \begin{frame}[c]
       
   157 \frametitle{3rd Week}
       
   158 
       
   159 \begin{itemize}
       
   160 \item defence in depth\bigskip
       
   161 \item privilege separation afforded by the OS
       
   162 \end{itemize}
       
   163 
       
   164 \begin{center}
       
   165 \begin{tikzpicture}[scale=1]
       
   166   
       
   167   \draw[line width=1mm] (0, 1.1) rectangle (1.2,2);
       
   168   \draw (4.7,1) node {Internet};
       
   169   \draw (0.6,1.7) node {\footnotesize Slave};
       
   170   \draw[line width=1mm] (0, 0) rectangle (1.2,0.9);
       
   171   \draw (0.6,1.7) node {\footnotesize Slave};
       
   172   \draw (0.6,0.6) node {\footnotesize Slave};
       
   173   \draw (0.6,-0.5) node {\footnotesize \begin{tabular}{c}unprivileged\\[-1mm] processes\end{tabular}};
       
   174   \draw (-2.7,-0.4) node {\footnotesize \begin{tabular}{c}privileged\\[-1mm] process\end{tabular}};
       
   175   
       
   176   \draw[line width=1mm] (-1.8, 0) rectangle (-3.6,2);
       
   177   \draw (-2.9,1.7) node {\footnotesize Monitor};
       
   178 
       
   179   \draw[white] (1.7,1) node (X) {};
       
   180   \draw[white] (3.7,1) node (Y) {};
       
   181   \draw[red, <->, line width = 2mm] (X) -- (Y);
       
   182  
       
   183   \draw[red, <->, line width = 1mm] (-0.4,1.4) -- (-1.4,1.1);
       
   184   \draw[red, <->, line width = 1mm] (-0.4,0.6) -- (-1.4,0.9);
       
   185 
       
   186   \end{tikzpicture}
       
   187 \end{center}
       
   188 
       
   189 \end{frame}}
       
   190 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   191 
       
   192 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   193 \mode<presentation>{
       
   194 \begin{frame}[c]
       
   195 \frametitle{4th Week}
       
   196 
       
   197 \begin{itemize}
       
   198 \item voting\ldots has security requirements that are in tension with each other
       
   199 \begin{center}
       
   200 integrity vs ballot secrecy\\
       
   201 authentication vs enfranchisment 
       
   202 \end{center}\bigskip
       
   203 
       
   204 \item electronic voting makes `whole sale' fraud easier as opposed to `retail attacks' 
       
   205 \end{itemize}
       
   206 
       
   207 \end{frame}}
       
   208 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   209 
       
   210 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   211 \mode<presentation>{
       
   212 \begin{frame}[c]
       
   213 \frametitle{5th Week}
       
   214 
       
   215 \begin{itemize}
       
   216 \item access control logic\bigskip
       
   217 
       
   218 \item formulas
       
   219 \item judgements
       
   220 \item inference rules
       
   221 \end{itemize}
       
   222 
       
   223 \end{frame}}
       
   224 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   225 
   142 
   226 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   143 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   227   \mode<presentation>{
   144   \mode<presentation>{
   228   \begin{frame}[t]
   145   \begin{frame}[t]
   229   \frametitle{\Large\begin{tabular}{@ {}c@ {}}Access Control Logic\end{tabular}}
   146   \frametitle{\Large\begin{tabular}{@ {}c@ {}}Access Control Logic\end{tabular}}
   467 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   384 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   468 
   385 
   469 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   386 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   470 \mode<presentation>{
   387 \mode<presentation>{
   471 \begin{frame}[c]
   388 \begin{frame}[c]
       
   389 \frametitle{Sudoku}
       
   390 
       
   391 \begin{tikzpicture}[scale=.5]
       
   392   \begin{scope}
       
   393     \draw (0, 0) grid (9, 9);
       
   394     \draw[very thick, scale=3] (0, 0) grid (3, 3);
       
   395 
       
   396     \setcounter{row}{1}
       
   397     \setrow { }{2}{ }  {5}{ }{1}  { }{9}{ }
       
   398     \setrow {8}{ }{ }  {2}{ }{3}  { }{ }{6}
       
   399     \setrow { }{3}{ }  { }{6}{ }  { }{7}{ }
       
   400 
       
   401     \setrow { }{ }{1}  { }{ }{ }  {6}{ }{ }
       
   402     \setrow {5}{4}{ }  { }{ }{ }  { }{1}{9}
       
   403     \setrow { }{ }{2}  { }{ }{ }  {7}{ }{ }
       
   404 
       
   405     \setrow { }{9}{ }  { }{3}{ }  { }{8}{ }
       
   406     \setrow {2}{ }{ }  {8}{ }{4}  { }{ }{7}
       
   407     \setrow { }{1}{ }  {9}{ }{7}  { }{6}{ }
       
   408 
       
   409     \fill[red, fill opacity=0.4] (4,0) rectangle (5,9);
       
   410     \fill[red, fill opacity=0.4] (0,5) rectangle (9,6);
       
   411     \fill[red!50, fill opacity=0.4] (3,3) rectangle (4,5);
       
   412     \fill[red!50, fill opacity=0.4] (5,3) rectangle (6,5);  
       
   413     \node[gray, anchor=center] at (4.5, -0.5) {columns};
       
   414     \node[gray, rotate=90, anchor=center] at (-0.6, 4.5, -0.5) {rows};
       
   415     \node[gray, anchor=center] at (4.5, 4.5) {box};
       
   416   \end{scope}
       
   417   \end{tikzpicture}
       
   418 
       
   419 \small
       
   420 \begin{textblock}{7}(9,3)
       
   421 \begin{enumerate}
       
   422 \item {\bf Row-Column:} each cell, must contain exactly one number
       
   423 \item {\bf Row-Number:} each row must contain each number exactly once
       
   424 \item {\bf Column-Number:} each column must contain each number exactly once
       
   425 \item {\bf Box-Number:} each box must contain each number exactly once
       
   426 \end{enumerate}
       
   427 \end{textblock}
       
   428 
       
   429 
       
   430 \end{frame}}
       
   431 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   432 
       
   433 
       
   434 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   435 \mode<presentation>{
       
   436 \begin{frame}[c]
       
   437 \frametitle{Solving Sudokus}
       
   438 
       
   439 \begin{tikzpicture}[scale=.5]
       
   440   \begin{scope}
       
   441     \draw (0, 0) grid (9, 9);
       
   442     \draw[very thick, scale=3] (0, 0) grid (3, 3);
       
   443 
       
   444     \setcounter{row}{1}
       
   445     \setrow { }{ }{ }  {7}{ }{ }  { }{5}{8}
       
   446     \setrow {}{5}{6}  {2}{1}{8}  {7}{9}{3}
       
   447     \setrow { }{ }{ }  { }{ }{ }  {1}{ }{ }
       
   448 
       
   449     \setrow { }{ }{ }  { }{ }{ }  { }{8}{1}
       
   450     \setrow { }{ }{ }  {3}{7}{6}  { }{ }{ }
       
   451     \setrow {9}{6}{ }  { }{ }{ }  { }{ }{ }
       
   452 
       
   453     \setrow { }{ }{5}  { }{3}{ }  { }{ }{ }
       
   454     \setrow { }{ }{4}  { }{2}{1}  {8}{3}{ }
       
   455     \setrow {8}{7}{ }  { }{ }{3}  { }{ }{ }
       
   456 
       
   457     \fill[red, fill opacity=0.4] (0,7) rectangle (1,8);
       
   458 
       
   459   \end{scope}
       
   460   \end{tikzpicture}
       
   461 
       
   462 \small
       
   463 \begin{textblock}{6}(9,6)
       
   464 {\bf single position rules}\\
       
   465 \begin{center}
       
   466 \bl{\infer{4\;\text{in empty position}}{\{1..9\} - \{4\}\;\text{in one row}}}
       
   467 \end{center}
       
   468 
       
   469 \onslide<2->{
       
   470 \begin{center}
       
   471 \bl{\infer{x\;\text{in empty position}}{\{1..9\} - \{x\}\;\text{in one column}}}\medskip\\
       
   472 \bl{\infer{x\;\text{in empty position}}{\{1..9\} - \{x\}\;\text{in one box}}}
       
   473 \end{center}}
       
   474 \end{textblock}
       
   475 
       
   476 
       
   477 \end{frame}}
       
   478 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   479 
       
   480 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   481 \mode<presentation>{
       
   482 \begin{frame}[c]
       
   483 \frametitle{Solving Sudokus}
       
   484 
       
   485 \begin{tikzpicture}[scale=.5]
       
   486   \begin{scope}
       
   487     \draw (0, 0) grid (9, 9);
       
   488     \draw[very thick, scale=3] (0, 0) grid (3, 3);
       
   489 
       
   490     \setcounter{row}{1}
       
   491     \setrow { }{ }{ }  {7}{ }{ }  {\alert{\footnotesize 2}}{5}{8}
       
   492     \setrow {}{5}{6}  {2}{1}{8}  {7}{9}{3}
       
   493     \setrow { }{ }{ }  { }{ }{ }  {1}{\alert{\footnotesize 2}}{\alert{\footnotesize 2}}
       
   494 
       
   495     \setrow { }{ }{ }  { }{ }{ }  { }{8}{1}
       
   496     \setrow { }{ }{ }  {3}{7}{6}  { }{ }{ }
       
   497     \setrow {9}{6}{ }  { }{ }{ }  { }{ }{ }
       
   498 
       
   499     \setrow { }{ }{5}  { }{3}{ }  { }{ }{ }
       
   500     \setrow { }{ }{4}  { }{2}{1}  {8}{3}{ }
       
   501     \setrow {8}{7}{ }  { }{ }{3}  { }{ }{ }
       
   502 
       
   503   \end{scope}
       
   504   \end{tikzpicture}
       
   505 
       
   506 \small
       
   507 \begin{textblock}{6}(7.5,6)
       
   508 {\bf candidate rules}\\
       
   509 \begin{center}
       
   510 \bl{\infer{x\;\text{candidate in empty positions}}{X - \{x\}\;\text{in one box} & X \subseteq \{1..9\}}}
       
   511 \end{center}
       
   512 \end{textblock}
       
   513 
       
   514 \end{frame}}
       
   515 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   516 
       
   517 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   518 \mode<presentation>{
       
   519 \begin{frame}[c]
       
   520 \frametitle{Solving Sudokus}
       
   521 
       
   522 \begin{tikzpicture}[scale=.5]
       
   523   \begin{scope}
       
   524     \draw (0, 0) grid (9, 9);
       
   525     \draw[very thick, scale=3] (0, 0) grid (3, 3);
       
   526 
       
   527     \setcounter{row}{1}
       
   528     \setrow { }{ }{ }  {7}{ }{ }  {\alert{\footnotesize 2}}{5}{8}
       
   529     \setrow {\alert{4}}{5}{6}  {2}{1}{8}  {7}{9}{3}
       
   530     \setrow { }{ }{ }  { }{ }{ }  {1}{\alert{\footnotesize 2}}{\alert{\footnotesize 2}}
       
   531 
       
   532     \setrow { }{ }{ }  { }{ }{ }  { }{8}{1}
       
   533     \setrow { }{ }{ }  {3}{7}{6}  { }{ }{ }
       
   534     \setrow {9}{6}{ }  { }{ }{ }  { }{ }{ }
       
   535 
       
   536     \setrow { }{ }{5}  { }{3}{ }  { }{ }{ }
       
   537     \setrow { }{ }{4}  { }{2}{1}  {8}{3}{ }
       
   538     \setrow {8}{7}{ }  { }{ }{3}  { }{ }{ }
       
   539 
       
   540   \end{scope}
       
   541   \end{tikzpicture}
       
   542 
       
   543 \small
       
   544 \begin{textblock}{6}(7.5,6)
       
   545 \begin{center}
       
   546 \bl{\infer{4\;\text{in empty position}}{\{1..9\} - \{4\}\;\text{in one row}}}\bigskip\\
       
   547 \bl{\infer{2\;\text{candidate in empty positions}}{X - \{2\}\;\text{in one box} & X \subseteq \{1..9\}}}
       
   548 \end{center}
       
   549 \end{textblock}
       
   550 
       
   551 
       
   552 \begin{textblock}{3}(13.5,6.8)
       
   553   \begin{tikzpicture}
       
   554   \onslide<1>{\node at (0,0) [single arrow, shape border rotate=270, fill=red,text=white]{\mbox{\alert{a}}};}
       
   555   \onslide<2>{\node at (0,0) [single arrow, shape border rotate=90, fill=red,text=white]{\mbox{\alert{a}}};}
       
   556   \end{tikzpicture}
       
   557 \end{textblock}
       
   558 
       
   559 \begin{textblock}{3}(14.5,9.3)
       
   560   \begin{tikzpicture}
       
   561   \onslide<1>{\node at (0,0) [single arrow, shape border rotate=270, fill=red,text=white]{\mbox{\alert{a}}};}
       
   562   \onslide<2>{\node at (0,0) [single arrow, shape border rotate=90, fill=red,text=white]{\mbox{\alert{a}}};}
       
   563   \end{tikzpicture}
       
   564 \end{textblock}
       
   565 
       
   566 \end{frame}}
       
   567 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   568 
       
   569 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   570 \mode<presentation>{
       
   571 \begin{frame}[c]
       
   572 \frametitle{Solving Sudokus}
       
   573 
       
   574 \begin{tikzpicture}[scale=.5]
       
   575   \begin{scope}
       
   576     \draw (0, 0) grid (9, 9);
       
   577     \draw[very thick, scale=3] (0, 0) grid (3, 3);
       
   578 
       
   579     \setcounter{row}{1}
       
   580     \setrow { }{ }{ }  {7}{ }{ }  { }{5}{8}
       
   581     \setrow { }{5}{6}  {2}{1}{8}  {7}{9}{3}
       
   582     \setrow { }{ }{ }  { }{ }{ }  {1}{ }{ }
       
   583 
       
   584     \setrow { }{ }{ }  { }{ }{ }  { }{8}{1}
       
   585     \setrow { }{ }{ }  {3}{7}{6}  { }{ }{ }
       
   586     \setrow {9}{6}{ }  { }{ }{ }  { }{ }{ \alert{2}}
       
   587 
       
   588     \setrow { }{ }{5}  { }{3}{ }  { }{ }{ }
       
   589     \setrow { }{ }{4}  { }{2}{1}  {8}{3}{ }
       
   590     \setrow {8}{7}{ }  { }{ }{3}  { }{ }{ }
       
   591 
       
   592   \end{scope}
       
   593   \end{tikzpicture}
       
   594 
       
   595 \small
       
   596 \begin{textblock}{6}(7.5,6)
       
   597 \begin{center}
       
   598 \bl{\infer{2\;\text{candidate}}{X - \{2\}\;\text{in one box} & X \subseteq \{1..9\}}}
       
   599 \end{center}
       
   600 \end{textblock}
       
   601 
       
   602 \begin{textblock}{3}(14.5,8.3)
       
   603   \begin{tikzpicture}
       
   604   \onslide<1>{\node at (0,0) [single arrow, shape border rotate=90, fill=red,text=white]{\mbox{\alert{a}}};}
       
   605   \end{tikzpicture}
       
   606 \end{textblock}
       
   607 
       
   608 \end{frame}}
       
   609 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   610 
       
   611 
       
   612 
       
   613 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   614 \mode<presentation>{
       
   615 \begin{frame}[c]
       
   616 \frametitle{Sudoku}
       
   617 
       
   618 Are there sudokus that cannot be solved?\pause
       
   619 
       
   620 \begin{center}
       
   621 \begin{tikzpicture}[scale=.5]
       
   622   \begin{scope}
       
   623     \draw (0, 0) grid (9, 9);
       
   624     \draw[very thick, scale=3] (0, 0) grid (3, 3);
       
   625 
       
   626     \setcounter{row}{1}
       
   627     \setrow {1}{2}{3}  {4}{5}{6}  {7}{8}{ }
       
   628     \setrow { }{ }{ }  { }{ }{ }  { }{ }{2}
       
   629     \setrow { }{ }{ }  { }{ }{ }  { }{ }{3}
       
   630 
       
   631     \setrow { }{ }{ }  { }{ }{ }  { }{ }{4}
       
   632     \setrow { }{ }{ }  { }{ }{ }  { }{ }{5}
       
   633     \setrow { }{ }{ }  { }{ }{ }  { }{ }{6}
       
   634 
       
   635     \setrow { }{ }{ }  { }{ }{ }  { }{ }{7}
       
   636     \setrow { }{ }{ }  { }{ }{ }  { }{ }{8}
       
   637     \setrow { }{ }{ }  { }{ }{ }  { }{ }{9}
       
   638 
       
   639   \end{scope}
       
   640   \end{tikzpicture}
       
   641 \end{center}
       
   642 
       
   643 Sometimes no rules apply at all....unsolvable sudoku.
       
   644 
       
   645 
       
   646 \end{frame}}
       
   647 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   648 
       
   649 
       
   650 
       
   651 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   652 \mode<presentation>{
       
   653 \begin{frame}[c]
   472 \frametitle{Protocol Specifications}
   654 \frametitle{Protocol Specifications}
   473 
   655 
   474 The Needham-Schroeder Protocol:
   656 The Needham-Schroeder Protocol:
   475 
   657 
   476 \begin{center}
   658 \begin{center}