Slides/Slides5.thy
author urbanc
Wed, 29 Aug 2012 13:05:25 +0000
changeset 366 827e487b9e92
child 369 cbb4ac6c8081
permissions -rw-r--r--
added slides for talk at Imperial
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
366
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
     1
(*<*)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
     2
theory Slides5
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
     3
imports "~~/src/HOL/Library/LaTeXsugar"
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
     4
begin
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
     5
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
     6
notation (latex output)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
     7
  set ("_") and
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
     8
  Cons  ("_::/_" [66,65] 65) 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
     9
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    10
(*>*)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    11
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    12
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    13
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    14
  \renewcommand{\slidecaption}{London, 29 August 2012}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    15
  \newcommand{\bl}[1]{\textcolor{blue}{#1}}                        
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    16
  \newcommand{\sout}[1]{\tikz[baseline=(X.base), inner sep=-0.1pt, outer sep=0pt]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    17
  \node [cross out,red, ultra thick, draw] (X) {\textcolor{black}{#1}};}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    18
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    19
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    20
  \begin{frame}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    21
  \frametitle{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    22
  \begin{tabular}{@ {}c@ {}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    23
  \\[-3mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    24
  \LARGE The Myhill-Nerode Theorem\\[-3mm] 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    25
  \LARGE in a Theorem Prover\\[0mm] 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    26
  \end{tabular}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    27
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    28
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    29
   Christian Urban\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    30
  \small King's College London
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    31
  \end{center}\bigskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    32
 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    33
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    34
  \small joint work with Chunhan Wu and Xingyuan Zhang from the PLA
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    35
  University of Science and Technology in Nanjing
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    36
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    37
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    38
  \only<2->{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    39
  \begin{textblock}{6}(9,5.3)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    40
  \alert{\bf Isabelle/HOL}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    41
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    42
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    43
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    44
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    45
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    46
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    47
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    48
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    49
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    50
  \begin{frame}<1->[c]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    51
  \frametitle{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    52
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    53
  \mbox{}\\[2mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    54
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    55
  \item my background is in 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    56
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    57
  \item \normalsize programming languages and theorem provers
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    58
  \item \normalsize develop Nominal Isabelle
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    59
  \end{itemize}\bigskip\bigskip\bigskip\bigskip\bigskip  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    60
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    61
  \item<1->to formalise and mechanically check proofs from 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    62
  programming language research, TCS \textcolor{gray}{and OS}\bigskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    63
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    64
  \item<2->we found out that the variable convention can lead to
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    65
  faulty proofs\ldots 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    66
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    67
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    68
  \onslide<2->{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    69
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    70
  \begin{block}{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    71
  \color{gray}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    72
  \footnotesize
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    73
  {\bf\mbox{}\hspace{-1.5mm}Variable Convention:}\\[0mm] 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    74
  If $M_1,\ldots,M_n$ occur in a certain mathematical context
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    75
  (e.g. definition, proof), then in these terms all bound variables 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    76
  are chosen to be different from the free variables.\hfill Henk Barendregt
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    77
  \end{block}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    78
  \end{center}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    79
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    80
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    81
  \only<1->{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    82
  \begin{textblock}{6}(10.9,3.5)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    83
  \includegraphics[scale=0.23]{isabelle1.png}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    84
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    85
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    86
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    87
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    88
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    89
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    90
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    91
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    92
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    93
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    94
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    95
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    96
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    97
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    98
  \begin{frame}[c]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
    99
  \frametitle{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   100
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   101
  \begin{tabular}{c@ {\hspace{2mm}}c}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   102
  \\[6mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   103
  \begin{tabular}{c}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   104
  \includegraphics[scale=0.11]{harper.jpg}\\[-2mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   105
  {\footnotesize Bob Harper}\\[-2.5mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   106
  {\footnotesize (CMU)}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   107
  \end{tabular}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   108
  \begin{tabular}{c}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   109
  \includegraphics[scale=0.37]{pfenning.jpg}\\[-2mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   110
  {\footnotesize Frank Pfenning}\\[-2.5mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   111
  {\footnotesize (CMU)}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   112
  \end{tabular} &
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   113
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   114
  \begin{tabular}{p{6cm}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   115
  \raggedright
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   116
  \color{gray}{published a proof on LF in\\ {\bf ACM Transactions on Computational Logic}, 2005,
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   117
  $\sim$31pp}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   118
  \end{tabular}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   119
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   120
  \pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   121
  \\[0mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   122
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   123
  \begin{tabular}{c}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   124
  \includegraphics[scale=0.36]{appel.jpg}\\[-2mm] 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   125
  {\footnotesize Andrew Appel}\\[-2.5mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   126
  {\footnotesize (Princeton)}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   127
  \end{tabular} &
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   128
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   129
  \begin{tabular}{p{6cm}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   130
  \raggedright
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   131
  \color{gray}{relied on their proof in a\\ {\bf security} critical application\\ (proof-carrying code)}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   132
  \end{tabular}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   133
  \end{tabular}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   134
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   135
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   136
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   137
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   138
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   139
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   140
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   141
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   142
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   143
text {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   144
  \tikzstyle{every node}=[node distance=25mm,text height=1.5ex, text depth=.25ex]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   145
  \tikzstyle{node1}=[rectangle, minimum size=10mm, rounded corners=3mm, very thick, 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   146
                     draw=black!50, top color=white, bottom color=black!20]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   147
  \tikzstyle{node2}=[rectangle, minimum size=12mm, rounded corners=3mm, very thick, 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   148
                     draw=red!70, top color=white, bottom color=red!50!black!20]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   149
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   150
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   151
  \begin{frame}<2->[squeeze]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   152
  \frametitle{} 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   153
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   154
  \begin{columns}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   155
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   156
  \begin{column}{0.8\textwidth}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   157
  \begin{textblock}{0}(1,2)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   158
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   159
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   160
  \matrix[ampersand replacement=\&,column sep=7mm, row sep=5mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   161
  { \&[-10mm] 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   162
    \node (def1)   [node1] {\large\hspace{1mm}Spec\hspace{1mm}\mbox{}}; \&
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   163
    \node (proof1) [node1] {\large Proof}; \&
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   164
    \node (alg1)   [node1] {\large\hspace{1mm}Alg\hspace{1mm}\mbox{}}; \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   165
    
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   166
    \onslide<4->{\node {\begin{tabular}{c}\small 1st\\[-2.5mm] \footnotesize solution\end{tabular}};} \&
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   167
    \onslide<4->{\node (def2)   [node2] {\large Spec$^\text{+ex}$};} \&
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   168
    \onslide<4->{\node (proof2) [node1] {\large Proof};} \&
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   169
    \onslide<4->{\node (alg2)   [node1] {\large\hspace{1mm}Alg\hspace{1mm}\mbox{}};} \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   170
     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   171
    \onslide<5->{\node {\begin{tabular}{c}\small 2nd\\[-2.5mm] \footnotesize solution\end{tabular}};} \&
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   172
    \onslide<5->{\node (def3)   [node1] {\large\hspace{1mm}Spec\hspace{1mm}\mbox{}};} \&
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   173
    \onslide<5->{\node (proof3) [node1] {\large Proof};} \&
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   174
    \onslide<5->{\node (alg3)   [node2] {\large Alg$^\text{-ex}$};} \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   175
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   176
    \onslide<6->{\node {\begin{tabular}{c}\small 3rd\\[-2.5mm] \footnotesize solution\end{tabular}};} \&
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   177
    \onslide<6->{\node (def4)   [node1] {\large\hspace{1mm}Spec\hspace{1mm}\mbox{}};} \&
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   178
    \onslide<6->{\node (proof4) [node2] {\large\hspace{1mm}Proof\hspace{1mm}};} \&
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   179
    \onslide<6->{\node (alg4)   [node1] {\large\hspace{1mm}Alg\hspace{1mm}\mbox{}};} \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   180
  };
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   181
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   182
  \draw[->,black!50,line width=2mm] (proof1) -- (def1);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   183
  \draw[->,black!50,line width=2mm] (proof1) -- (alg1);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   184
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   185
  \onslide<4->{\draw[->,black!50,line width=2mm] (proof2) -- (def2);}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   186
  \onslide<4->{\draw[->,black!50,line width=2mm] (proof2) -- (alg2);}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   187
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   188
  \onslide<5->{\draw[->,black!50,line width=2mm] (proof3) -- (def3);}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   189
  \onslide<5->{\draw[->,black!50,line width=2mm] (proof3) -- (alg3);}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   190
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   191
  \onslide<6->{\draw[->,black!50,line width=2mm] (proof4) -- (def4);}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   192
  \onslide<6->{\draw[->,black!50,line width=2mm] (proof4) -- (alg4);}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   193
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   194
  \onslide<3->{\draw[white,line width=1mm] (1.1,3.2) -- (0.9,2.85) -- (1.1,2.35) -- (0.9,2.0);} 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   195
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   196
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   197
  \end{textblock}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   198
  \end{column}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   199
  \end{columns}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   200
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   201
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   202
  \begin{textblock}{3}(12,3.6)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   203
  \onslide<4->{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   204
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   205
  \node at (0,0) [single arrow, shape border rotate=270, fill=red,text=white]{2h};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   206
  \end{tikzpicture}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   207
  \end{textblock}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   208
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   209
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   210
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   211
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   212
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   213
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   214
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   215
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   216
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   217
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   218
  \begin{frame}[c]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   219
  \frametitle{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   220
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   221
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   222
  \item I also found fixable errors in my Ph.D.-thesis about cut-elimination
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   223
  (examined by Henk Barendregt and Andy Pitts)\bigskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   224
  \item found flaws in a proof about a classic OS scheduling algorithm
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   225
  --- helped us to implement\\ it correctly and ef$\!$ficiently\\ 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   226
  {\small\textcolor{gray}{(the existing literature ``proved'' 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   227
  correct an incorrect algorithm; used in the Mars Pathfinder mission)}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   228
  \end{itemize}\bigskip\bigskip\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   229
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   230
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   231
  {\bf Conclusion:}\smallskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   232
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   233
  Pencil-and-paper proofs in TCS are not foolproof, 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   234
  not even expertproof.
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   235
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   236
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   237
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   238
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   239
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   240
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   241
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   242
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   243
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   244
  \begin{frame}[t]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   245
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   246
  \small Scott Aaronson (Berkeley/MIT):\\[-7mm]\mbox{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   247
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   248
  \begin{block}{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   249
  \color{gray}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   250
  \small
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   251
  ``I still remember having to grade hundreds of exams where the
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   252
  students started out by assuming what had to be proved, or filled
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   253
  page after page with gibberish in the hope that, somewhere in the
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   254
  mess, they might accidentally have said something
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   255
  correct. \ldots{}innumerable examples of ``parrot proofs'' ---
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   256
  NP-completeness reductions done in the wrong direction, arguments
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   257
  that look more like LSD trips than coherent chains of logic \ldots{}''
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   258
  \end{block}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   259
  \end{center}\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   260
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   261
  \begin{tabular}{@ {}c@ {}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   262
  Tobias Nipkow calls this the ``London Underground Phenomenon'':
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   263
  \end{tabular}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   264
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   265
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   266
  \begin{tabular}{ccc}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   267
  students & \;\;\raisebox{-8mm}{\includegraphics[scale=0.16]{gap.jpg}}\;\; & proofs
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   268
  \end{tabular}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   269
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   270
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   271
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   272
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   273
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   274
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   275
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   276
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   277
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   278
  \begin{frame}[c]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   279
  \frametitle{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   280
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   281
  \begin{textblock}{12.9}(1.5,2.0)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   282
  \begin{block}{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   283
  \begin{minipage}{12.4cm}\raggedright
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   284
  \large {\bf Motivation:}\\[2mm]I want to teach \alert{students} with
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   285
  theorem\\ provers (especially for inductions).
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   286
  \end{minipage}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   287
  \end{block}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   288
  \end{textblock}\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   289
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   290
  \mbox{}\\[35mm]\mbox{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   291
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   292
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   293
  \item \only<2>{\smath{\text{fib}}, \smath{\text{even}} and \smath{\text{odd}}}%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   294
        \only<3->{\sout{\smath{\text{fib}}, \smath{\text{even}} and \smath{\text{odd}}}}\medskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   295
  \item<3-> formal language theory \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   296
  \mbox{}\;\;@{text "\<Rightarrow>"} nice textbooks: Kozen, Hopcroft \& Ullman\ldots
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   297
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   298
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   299
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   300
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   301
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   302
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   303
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   304
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   305
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   306
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   307
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   308
  \begin{frame}<1->[t]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   309
  \frametitle{Regular Expressions}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   310
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   311
  \begin{textblock}{6}(2,4)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   312
  \begin{tabular}{@ {}rrl}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   313
  \bl{r} & \bl{$::=$}  & \bl{$\varnothing$}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   314
         & \bl{$\mid$} & \bl{[]}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   315
         & \bl{$\mid$} & \bl{c}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   316
         & \bl{$\mid$} & \bl{r$_1$ $\cdot$ r$_2$}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   317
         & \bl{$\mid$} & \bl{r$_1$ + r$_2$}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   318
         & \bl{$\mid$} & \bl{r$^*$}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   319
  \end{tabular}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   320
  \end{textblock}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   321
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   322
  \begin{textblock}{6}(8,3.5)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   323
  \includegraphics[scale=0.35]{Screen1.png}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   324
  \end{textblock}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   325
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   326
  \begin{textblock}{6}(10.2,2.8)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   327
  \footnotesize Isabelle:
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   328
  \end{textblock}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   329
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   330
  \begin{textblock}{6}(7,12)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   331
  \footnotesize\textcolor{gray}{students have seen them and can be motivated about them}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   332
  \end{textblock}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   333
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   334
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   335
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   336
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   337
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   338
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   339
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   340
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   341
  \begin{frame}<1->[t]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   342
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   343
  \mbox{}\\[-2mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   344
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   345
  \small
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   346
  \begin{tabular}{@ {}l@ {\hspace{2mm}}c@ {\hspace{2mm}}ll@ {}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   347
  \bl{nullable ($\varnothing$)}            & \bl{$=$} & \bl{false} &\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   348
  \bl{nullable ([])}           & \bl{$=$} & \bl{true}  &\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   349
  \bl{nullable (c)}           & \bl{$=$} & \bl{false} &\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   350
  \bl{nullable (r$_1$ + r$_2$)} & \bl{$=$} & \bl{(nullable r$_1$) $\vee$ (nullable r$_2$)} & \\ 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   351
  \bl{nullable (r$_1$ $\cdot$ r$_2$)} & \bl{$=$} & \bl{(nullable r$_1$) $\wedge$ (nullable r$_2$)} & \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   352
  \bl{nullable (r$^*$)}          & \bl{$=$} & \bl{true} & \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   353
  \end{tabular}\medskip\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   354
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   355
  \begin{tabular}{@ {}l@ {\hspace{2mm}}c@ {\hspace{2mm}}l@ {\hspace{-10mm}}l@ {}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   356
  \bl{der c ($\varnothing$)}            & \bl{$=$} & \bl{$\varnothing$} & \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   357
  \bl{der c ([])}           & \bl{$=$} & \bl{$\varnothing$} & \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   358
  \bl{der c (d)}           & \bl{$=$} & \bl{if c $=$ d then [] else $\varnothing$} & \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   359
  \bl{der c (r$_1$ + r$_2$)} & \bl{$=$} & \bl{(der c r$_1$) + (der c r$_2$)} & \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   360
  \bl{der c (r$_1$ $\cdot$ r$_2$)} & \bl{$=$} & \bl{((der c r$_1$) $\cdot$ r$_2$) + } & \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   361
       &          & \bl{\hspace{3mm}(if nullable r$_1$ then der c r$_2$ else $\varnothing$)}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   362
  \bl{der c (r$^*$)}          & \bl{$=$} & \bl{(der c r) $\cdot$ (r$^*$)} &\smallskip\\\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   363
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   364
  \bl{derivative [] r}     & \bl{$=$} & \bl{r} & \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   365
  \bl{derivative (c::s) r} & \bl{$=$} & \bl{derivative s (der c r)} & \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   366
  \end{tabular}\medskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   367
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   368
  \bl{matches r s $=$ nullable (derivative s r)}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   369
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   370
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   371
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   372
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   373
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   374
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   375
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   376
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   377
  \begin{frame}[c]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   378
  \frametitle{\LARGE Regular Expression Matching\\[-2mm] in Education}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   379
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   380
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   381
  \item Harper in JFP'99: ``Functional Pearl: Proof- Directed Debugging''\medskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   382
  \item Yi in JFP'06: ``Educational Pearl: `Proof-Directed Debugging' revisited 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   383
  for a first-order version''\medskip\bigskip\bigskip\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   384
  \item Owens et al in JFP'09: ``Regular-expression derivatives re-examined''
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   385
  \bigskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   386
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   387
  \begin{quote}\small
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   388
  ``Unfortunately, regular expression derivatives have been lost in the 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   389
  sands of time, and few computer scientists are aware of them.''
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   390
  \end{quote}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   391
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   392
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   393
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   394
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   395
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   396
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   397
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   398
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   399
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   400
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   401
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   402
  \begin{frame}[t]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   403
  \frametitle{\normalsize Formal language theory\ldots\hfill\mbox{}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   404
  \mbox{}\\[-15mm]\mbox{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   405
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   406
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   407
  \huge\bf\textcolor{gray}{in Theorem Provers}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   408
  \footnotesize\textcolor{gray}{e.g.~Isabelle, Coq, HOL4, \ldots}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   409
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   410
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   411
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   412
  \item automata @{text "\<Rightarrow>"} graphs, matrices, functions
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   413
  \item<2-> combining automata / graphs
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   414
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   415
  \onslide<2->{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   416
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   417
  \begin{tabular}{ccc}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   418
  \begin{tikzpicture}[scale=1]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   419
  %\draw[step=2mm] (-1,-1) grid (1,1);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   420
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   421
  \draw[rounded corners=1mm, very thick] (-1.0,-0.3) rectangle (-0.2,0.3);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   422
  \draw[rounded corners=1mm, very thick] ( 0.2,-0.3) rectangle ( 1.0,0.3);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   423
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   424
  \node (A) at (-1.0,0.0) [circle, very thick, draw, fill=white, inner sep=0.4mm] {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   425
  \node (B) at ( 0.2,0.0) [circle, very thick, draw, fill=white, inner sep=0.4mm] {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   426
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   427
  \node (C) at (-0.2, 0.13) [circle, very thick, draw, fill=white, inner sep=0.4mm] {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   428
  \node (D) at (-0.2,-0.13) [circle, very thick, draw, fill=white, inner sep=0.4mm] {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   429
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   430
  \node (E) at (1.0, 0.2) [circle, very thick, draw, fill=white, inner sep=0.4mm] {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   431
  \node (F) at (1.0,-0.0) [circle, very thick, draw, fill=white, inner sep=0.4mm] {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   432
  \node (G) at (1.0,-0.2) [circle, very thick, draw, fill=white, inner sep=0.4mm] {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   433
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   434
  \draw (-0.6,0.0) node {\small$A_1$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   435
  \draw ( 0.6,0.0) node {\small$A_2$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   436
  \end{tikzpicture}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   437
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   438
  & 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   439
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   440
  \onslide<3->{\raisebox{1.1mm}{\bf\Large$\;\Rightarrow\,$}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   441
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   442
  &
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   443
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   444
  \onslide<3->{\begin{tikzpicture}[scale=1]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   445
  %\draw[step=2mm] (-1,-1) grid (1,1);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   446
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   447
  \draw[rounded corners=1mm, very thick] (-1.0,-0.3) rectangle (-0.2,0.3);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   448
  \draw[rounded corners=1mm, very thick] ( 0.2,-0.3) rectangle ( 1.0,0.3);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   449
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   450
  \node (A) at (-1.0,0.0) [circle, very thick, draw, fill=white, inner sep=0.4mm] {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   451
  \node (B) at ( 0.2,0.0) [circle, very thick, draw, fill=white, inner sep=0.4mm] {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   452
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   453
  \node (C) at (-0.2, 0.13) [circle, very thick, draw, fill=white, inner sep=0.4mm] {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   454
  \node (D) at (-0.2,-0.13) [circle, very thick, draw, fill=white, inner sep=0.4mm] {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   455
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   456
  \node (E) at (1.0, 0.2) [circle, very thick, draw, fill=white, inner sep=0.4mm] {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   457
  \node (F) at (1.0,-0.0) [circle, very thick, draw, fill=white, inner sep=0.4mm] {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   458
  \node (G) at (1.0,-0.2) [circle, very thick, draw, fill=white, inner sep=0.4mm] {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   459
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   460
  \draw [very thick, red] (C) to [bend left=45] (B);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   461
  \draw [very thick, red] (D) to [bend right=45] (B);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   462
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   463
  \draw (-0.6,0.0) node {\small$A_1$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   464
  \draw ( 0.6,0.0) node {\small$A_2$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   465
  \end{tikzpicture}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   466
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   467
  \end{tabular}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   468
  \end{center}\medskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   469
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   470
  \only<4-5>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   471
  \begin{tabular}{@ {\hspace{-5mm}}l@ {}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   472
  disjoint union:\\[2mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   473
  \smath{A_1\uplus A_2 \dn \{(1, x)\,|\, x \in A_1\} \,\cup\, \{(2, y)\,|\, y \in A_2\}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   474
  \end{tabular}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   475
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   476
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   477
  \only<5>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   478
  \begin{textblock}{13.9}(0.7,7.7)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   479
  \begin{block}{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   480
  \medskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   481
  \begin{minipage}{14cm}\raggedright
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   482
  Problems with definition for regularity:\bigskip\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   483
  \smath{\;\text{is\_regular}(A) \dn \exists M.\;\text{is\_dfa}(M) \wedge {\cal L} (M) = A}\bigskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   484
  \end{minipage}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   485
  \end{block}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   486
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   487
  \medskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   488
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   489
  \only<6->{\underline{A solution}:\;\;use \smath{\text{nat}}s \;@{text "\<Rightarrow>"}\; state nodes\medskip}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   490
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   491
  \only<7->{You have to \alert{rename} states!}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   492
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   493
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   494
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   495
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   496
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   497
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   498
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   499
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   500
  \begin{frame}[t]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   501
  \frametitle{\normalsize Formal language theory\ldots\hfill\mbox{}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   502
  \mbox{}\\[-15mm]\mbox{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   503
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   504
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   505
  \huge\bf\textcolor{gray}{in Theorem Provers}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   506
  \footnotesize\textcolor{gray}{e.g.~Isabelle, Coq, HOL4, \ldots}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   507
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   508
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   509
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   510
  \item Kozen's paper-proof of Myhill-Nerode:\\ 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   511
  requires absence of \alert{inaccessible states}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   512
  \item complementation of automata only works for \alert{complete} automata
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   513
  (need sink states)\medskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   514
  \end{itemize}\bigskip\bigskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   515
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   516
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   517
  \smath{\;\text{is\_regular}(A) \dn \exists M.\;\text{is\_dfa}(M) \wedge {\cal L} (M) = A}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   518
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   519
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   520
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   521
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   522
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   523
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   524
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   525
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   526
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   527
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   528
  \begin{frame}[t]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   529
  \frametitle{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   530
  \mbox{}\\[25mm]\mbox{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   531
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   532
  \begin{textblock}{13.9}(0.7,1.2)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   533
  \begin{block}{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   534
  \begin{minipage}{13.4cm}\raggedright
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   535
  {\bf Definition:}\smallskip\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   536
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   537
  A language \smath{A} is \alert{regular}, provided there exists a\\ 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   538
  \alert{regular expression} that matches all strings of \smath{A}.
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   539
  \end{minipage}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   540
  \end{block}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   541
  \end{textblock}\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   542
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   543
  {\noindent\large\bf\alert{\ldots{}and forget about automata}}\bigskip\bigskip\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   544
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   545
  Infrastructure for free. But do we lose anything?\medskip\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   546
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   547
  \begin{minipage}{1.1\textwidth}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   548
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   549
  \item pumping lemma\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   550
  \item closure under complementation\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   551
  \item \only<6>{regular expression matching}%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   552
       \only<7->{\sout{regular expression matching}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   553
  {\footnotesize(@{text "\<Rightarrow>"}Brzozowski'64, Owens et al '09)}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   554
  \item<8-> most textbooks are about automata
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   555
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   556
  \end{minipage}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   557
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   558
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   559
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   560
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   561
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   562
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   563
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   564
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   565
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   566
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   567
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   568
  \begin{frame}[c]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   569
  \frametitle{\LARGE The Myhill-Nerode Theorem}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   570
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   571
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   572
  \item provides necessary and suf\!ficient conditions\\ for a language 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   573
  being regular\\ \textcolor{gray}{(pumping lemma only necessary)}\bigskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   574
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   575
  \item key is the equivalence relation:\medskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   576
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   577
  \smath{x \approx_{A} y \,\dn\, \forall z.\; x @ z \in A \Leftrightarrow y @ z \in A}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   578
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   579
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   580
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   581
 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   582
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   583
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   584
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   585
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   586
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   587
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   588
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   589
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   590
  \begin{frame}[c]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   591
  \frametitle{\LARGE The Myhill-Nerode Theorem}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   592
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   593
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   594
  \only<1>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   595
  \begin{tikzpicture}[scale=3]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   596
  \draw[very thick] (0.5,0.5) circle (.6cm);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   597
  \end{tikzpicture}}%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   598
  \only<2->{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   599
  \begin{tikzpicture}[scale=3]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   600
  \draw[very thick] (0.5,0.5) circle (.6cm);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   601
  \clip[draw] (0.5,0.5) circle (.6cm);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   602
  \draw[step=2mm, very thick] (-1.4,-1.4) grid (1.4,1.4);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   603
  \end{tikzpicture}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   604
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   605
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   606
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   607
  \item \smath{\text{finite}\, (U\!N\!IV /\!/ \approx_A) \;\Leftrightarrow\; A\; \text{is regular}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   608
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   609
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   610
  \begin{textblock}{5}(2.1,5.3)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   611
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   612
  \node at (0,0) [single arrow, fill=red,text=white, minimum height=2cm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   613
  {$U\!N\!IV$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   614
  \draw (-0.3,-1.1) node {\begin{tabular}{l}set of all\\[-1mm] strings\end{tabular}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   615
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   616
  \end{textblock}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   617
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   618
  \only<2->{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   619
  \begin{textblock}{5}(9.1,7.2)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   620
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   621
  \node at (0,0) [shape border rotate=180,single arrow, fill=red,text=white, minimum height=2cm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   622
  {@{text "\<lbrakk>s\<rbrakk>"}$_{\approx_{A}}$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   623
  \draw (0.9,-1.1) node {\begin{tabular}{l}an equivalence class\end{tabular}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   624
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   625
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   626
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   627
  \only<3->{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   628
  \begin{textblock}{11.9}(1.7,3)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   629
  \begin{block}{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   630
  \begin{minipage}{11.4cm}\raggedright
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   631
  Two directions:\medskip\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   632
  \begin{tabular}{@ {}ll}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   633
  1.)\;finite $\Rightarrow$ regular\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   634
  \;\;\;\smath{\text{finite}\,(U\!N\!IV /\!/ \approx_A) \Rightarrow \exists r.\;A = {\cal L}(r)}\\[3mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   635
  2.)\;regular $\Rightarrow$ finite\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   636
  \;\;\;\smath{\text{finite}\, (U\!N\!IV /\!/ \approx_{{\cal L}(r)})}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   637
  \end{tabular}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   638
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   639
  \end{minipage}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   640
  \end{block}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   641
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   642
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   643
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   644
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   645
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   646
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   647
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   648
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   649
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   650
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   651
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   652
  \begin{frame}[c]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   653
  \frametitle{\LARGE Initial and Final {\sout{\textcolor{gray}{States}}}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   654
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   655
  \begin{textblock}{8}(10, 2)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   656
  \textcolor{black}{Equivalence Classes}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   657
  \end{textblock}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   658
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   659
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   660
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   661
  \begin{tikzpicture}[scale=3]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   662
  \draw[very thick] (0.5,0.5) circle (.6cm);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   663
  \clip[draw] (0.5,0.5) circle (.6cm);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   664
  \draw[step=2mm, very thick] (-1.4,-1.4) grid (1.4,1.4);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   665
  \only<2->{\draw[blue, fill] (0.0, 0.6) rectangle (0.2, 0.8);}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   666
  \only<3->{\draw[red, fill] (0.2, 0.2) rectangle (0.4, 0.4);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   667
  \draw[red, fill] (0.4, 0.8) rectangle (0.6, 1.0);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   668
  \draw[red, fill] (0.6, 0.0) rectangle (0.8, 0.2);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   669
  \draw[red, fill] (0.8, 0.4) rectangle (1.0, 0.6);}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   670
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   671
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   672
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   673
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   674
  \item \smath{\text{finals}\,A\,\dn \{[\!|s|\!]_{\approx_{A}}\;|\;s \in A\}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   675
  \smallskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   676
  \item we can prove: \smath{A = \bigcup \text{finals}\,A}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   677
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   678
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   679
  \only<2->{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   680
  \begin{textblock}{5}(2.1,4.6)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   681
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   682
  \node at (0,0) [single arrow, fill=blue,text=white, minimum height=2cm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   683
  {$[] \in X$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   684
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   685
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   686
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   687
  \only<3->{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   688
  \begin{textblock}{5}(10,7.4)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   689
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   690
  \node at (0,0) [shape border rotate=180,single arrow, fill=red,text=white, minimum height=2cm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   691
  {a final};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   692
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   693
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   694
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   695
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   696
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   697
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   698
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   699
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   700
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   701
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   702
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   703
  \begin{frame}<-1>[c]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   704
  \frametitle{\begin{tabular}{@ {}l}\LARGE% 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   705
  Transitions between Eq-Classes\end{tabular}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   706
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   707
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   708
  \begin{tikzpicture}[scale=3]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   709
  \draw[very thick] (0.5,0.5) circle (.6cm);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   710
  \clip[draw] (0.5,0.5) circle (.6cm);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   711
  \draw[step=2mm, very thick] (-1.4,-1.4) grid (1.4,1.4);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   712
  \draw[blue, fill] (0.0, 0.6) rectangle (0.2, 0.8);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   713
  \draw[blue, fill] (0.8, 0.4) rectangle (1.0, 0.6);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   714
  \draw[white] (0.1,0.7) node (X) {$X$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   715
  \draw[white] (0.9,0.5) node (Y) {$Y$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   716
  \draw[blue, ->, line width = 2mm, bend left=45] (X) -- (Y);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   717
  \node [inner sep=1pt,label=above:\textcolor{blue}{$c$}] at ($ (X)!.5!(Y) $) {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   718
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   719
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   720
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   721
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   722
  \smath{X \stackrel{c}{\longrightarrow} Y \;\dn\; X ; c \subseteq Y}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   723
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   724
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   725
  \onslide<8>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   726
  \begin{tabular}{c}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   727
  \begin{tikzpicture}[shorten >=1pt,node distance=2cm,auto, ultra thick]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   728
  \tikzstyle{state}=[circle,thick,draw=blue!75,fill=blue!20,minimum size=0mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   729
  \node[state,initial] (q_0) {$R_1$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   730
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   731
  \end{tabular}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   732
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   733
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   734
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   735
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   736
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   737
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   738
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   739
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   740
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   741
  \begin{frame}[c]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   742
  \frametitle{\LARGE Systems of Equations}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   743
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   744
  Inspired by a method of Brzozowski\;'64:\bigskip\bigskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   745
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   746
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   747
  \begin{tabular}{@ {\hspace{-20mm}}c}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   748
  \\[-13mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   749
  \begin{tikzpicture}[shorten >=1pt,node distance=2cm,auto, ultra thick]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   750
  \tikzstyle{state}=[circle,thick,draw=blue!75,fill=blue!20,minimum size=0mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   751
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   752
  %\draw[help lines] (0,0) grid (3,2);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   753
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   754
  \node[state,initial]   (p_0)                  {$X_1$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   755
  \node[state,accepting] (p_1) [right of=q_0]   {$X_2$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   756
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   757
  \path[->] (p_0) edge [bend left]   node        {a} (p_1)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   758
                  edge [loop above]   node       {b} ()
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   759
            (p_1) edge [loop above]   node       {a} ()
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   760
                  edge [bend left]   node        {b} (p_0);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   761
  \end{tikzpicture}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   762
  \\[-13mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   763
  \end{tabular}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   764
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   765
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   766
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   767
  \begin{tabular}{@ {\hspace{-6mm}}ll@ {\hspace{1mm}}c@ {\hspace{1mm}}l}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   768
  & \smath{X_1} & \smath{=} & \smath{X_1;b + X_2;b \onslide<2->{\alert<2>{+ \lambda;[]}}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   769
  & \smath{X_2} & \smath{=} & \smath{X_1;a + X_2;a}\medskip\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   770
  \end{tabular}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   771
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   772
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   773
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   774
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   775
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   776
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   777
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   778
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   779
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   780
  \begin{frame}<1>[t]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   781
  \small
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   782
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   783
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   784
  \begin{tabular}{l@ {\hspace{1mm}}c@ {\hspace{1mm}}ll}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   785
  \onslide<1->{\smath{X_1}} & \onslide<1->{\smath{=}} 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   786
      & \onslide<1->{\smath{X_1; b + X_2; b + \lambda;[]}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   787
  \onslide<1->{\smath{X_2}} & \onslide<1->{\smath{=}}    
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   788
      & \onslide<1->{\smath{X_1; a + X_2; a}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   789
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   790
  & & & \onslide<2->{by Arden}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   791
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   792
  \onslide<2->{\smath{X_1}} & \onslide<2->{\smath{=}} 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   793
      & \onslide<2->{\smath{X_1; b + X_2; b + \lambda;[]}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   794
  \onslide<2->{\smath{X_2}} & \onslide<2->{\smath{=}}    
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   795
      & \only<2->{\smath{X_1; a\cdot a^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   796
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   797
  & & & \onslide<4->{by Arden}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   798
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   799
  \onslide<4->{\smath{X_1}} & \onslide<4->{\smath{=}} 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   800
      & \onslide<4->{\smath{X_2; b \cdot b^\star+ \lambda;b^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   801
  \onslide<4->{\smath{X_2}} & \onslide<4->{\smath{=}}    
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   802
      & \onslide<4->{\smath{X_1; a\cdot a^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   803
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   804
  & & & \onslide<5->{by substitution}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   805
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   806
  \onslide<5->{\smath{X_1}} & \onslide<5->{\smath{=}} 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   807
      & \onslide<5->{\smath{X_1; a\cdot a^\star \cdot b \cdot b^\star+ \lambda;b^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   808
  \onslide<5->{\smath{X_2}} & \onslide<5->{\smath{=}}    
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   809
      & \onslide<5->{\smath{X_1; a\cdot a^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   810
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   811
  & & & \onslide<6->{by Arden}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   812
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   813
  \onslide<6->{\smath{X_1}} & \onslide<6->{\smath{=}} 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   814
      & \onslide<6->{\smath{\lambda;b^\star\cdot (a\cdot a^\star \cdot b \cdot b^\star)^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   815
  \onslide<6->{\smath{X_2}} & \onslide<6->{\smath{=}}    
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   816
      & \onslide<6->{\smath{X_1; a\cdot a^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   817
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   818
  & & & \onslide<7->{by substitution}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   819
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   820
  \onslide<7->{\smath{X_1}} & \onslide<7->{\smath{=}} 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   821
      & \onslide<7->{\smath{\lambda;b^\star\cdot (a\cdot a^\star \cdot b \cdot b^\star)^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   822
  \onslide<7->{\smath{X_2}} & \onslide<7->{\smath{=}}    
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   823
      & \onslide<7->{\smath{\lambda; b^\star\cdot (a\cdot a^\star \cdot b \cdot b^\star)^\star 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   824
          \cdot a\cdot a^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   825
  \end{tabular}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   826
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   827
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   828
  \only<8->{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   829
  \begin{textblock}{6}(2.5,4)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   830
  \begin{block}{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   831
  \begin{minipage}{8cm}\raggedright
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   832
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   833
  \begin{tikzpicture}[shorten >=1pt,node distance=2cm,auto, ultra thick, inner sep=1mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   834
  \tikzstyle{state}=[circle,thick,draw=blue!75,fill=blue!20,minimum size=0mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   835
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   836
  %\draw[help lines] (0,0) grid (3,2);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   837
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   838
  \node[state,initial]   (p_0)                  {$X_1$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   839
  \node[state,accepting] (p_1) [right of=q_0]   {$X_2$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   840
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   841
  \path[->] (p_0) edge [bend left]   node        {a} (p_1)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   842
                  edge [loop above]   node       {b} ()
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   843
            (p_1) edge [loop above]   node       {a} ()
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   844
                  edge [bend left]   node        {b} (p_0);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   845
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   846
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   847
  \end{minipage}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   848
  \end{block}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   849
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   850
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   851
  \only<1,2>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   852
  \begin{textblock}{3}(0.6,1.2)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   853
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   854
  \node at (0,0) [single arrow, fill=red,text=white, minimum height=0cm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   855
  {\textcolor{red}{a}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   856
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   857
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   858
  \only<2>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   859
  \begin{textblock}{3}(0.6,3.6)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   860
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   861
  \node at (0,0) [single arrow, fill=red,text=white, minimum height=0cm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   862
  {\textcolor{red}{a}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   863
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   864
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   865
  \only<4>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   866
  \begin{textblock}{3}(0.6,2.9)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   867
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   868
  \node at (0,0) [single arrow, fill=red,text=white, minimum height=0cm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   869
  {\textcolor{red}{a}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   870
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   871
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   872
  \only<4>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   873
  \begin{textblock}{3}(0.6,5.3)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   874
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   875
  \node at (0,0) [single arrow, fill=red,text=white, minimum height=0cm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   876
  {\textcolor{red}{a}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   877
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   878
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   879
  \only<5>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   880
  \begin{textblock}{3}(1.0,5.6)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   881
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   882
  \node at (0,0) (A) {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   883
  \node at (0,1) (B) {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   884
  \draw[<-, line width=2mm, red] (B) to  (A);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   885
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   886
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   887
  \only<5,6>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   888
  \begin{textblock}{3}(0.6,7.7)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   889
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   890
  \node at (0,0) [single arrow, fill=red,text=white, minimum height=0cm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   891
  {\textcolor{red}{a}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   892
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   893
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   894
  \only<6>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   895
  \begin{textblock}{3}(0.6,10.1)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   896
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   897
  \node at (0,0) [single arrow, fill=red,text=white, minimum height=0cm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   898
  {\textcolor{red}{a}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   899
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   900
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   901
  \only<7>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   902
  \begin{textblock}{3}(1.0,10.3)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   903
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   904
  \node at (0,0) (A) {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   905
  \node at (0,1) (B) {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   906
  \draw[->, line width=2mm, red] (B) to  (A);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   907
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   908
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   909
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   910
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   911
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   912
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   913
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   914
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   915
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   916
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   917
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   918
  \begin{frame}[c]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   919
  \frametitle{\LARGE A Variant of Arden's Lemma}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   920
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   921
  {\bf Arden's Lemma:}\smallskip 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   922
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   923
  If \smath{[] \not\in A} then
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   924
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   925
  \smath{X = X; A + \text{something}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   926
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   927
  has the (unique) solution
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   928
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   929
  \smath{X = \text{something} ; A^\star}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   930
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   931
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   932
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   933
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   934
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   935
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   936
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   937
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   938
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   939
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   940
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   941
  \begin{frame}<1-2,4->[t]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   942
  \small
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   943
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   944
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   945
  \begin{tabular}{l@ {\hspace{1mm}}c@ {\hspace{1mm}}ll}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   946
  \onslide<1->{\smath{X_1}} & \onslide<1->{\smath{=}} 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   947
      & \onslide<1->{\smath{X_1; b + X_2; b + \lambda;[]}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   948
  \onslide<1->{\smath{X_2}} & \onslide<1->{\smath{=}}    
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   949
      & \onslide<1->{\smath{X_1; a + X_2; a}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   950
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   951
  & & & \onslide<2->{by Arden}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   952
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   953
  \onslide<2->{\smath{X_1}} & \onslide<2->{\smath{=}} 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   954
      & \onslide<2->{\smath{X_1; b + X_2; b + \lambda;[]}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   955
  \onslide<2->{\smath{X_2}} & \onslide<2->{\smath{=}}    
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   956
      & \only<2->{\smath{X_1; a\cdot a^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   957
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   958
  & & & \onslide<4->{by Arden}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   959
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   960
  \onslide<4->{\smath{X_1}} & \onslide<4->{\smath{=}} 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   961
      & \onslide<4->{\smath{X_2; b \cdot b^\star+ \lambda;b^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   962
  \onslide<4->{\smath{X_2}} & \onslide<4->{\smath{=}}    
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   963
      & \onslide<4->{\smath{X_1; a\cdot a^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   964
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   965
  & & & \onslide<5->{by substitution}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   966
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   967
  \onslide<5->{\smath{X_1}} & \onslide<5->{\smath{=}} 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   968
      & \onslide<5->{\smath{X_1; a\cdot a^\star \cdot b \cdot b^\star+ \lambda;b^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   969
  \onslide<5->{\smath{X_2}} & \onslide<5->{\smath{=}}    
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   970
      & \onslide<5->{\smath{X_1; a\cdot a^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   971
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   972
  & & & \onslide<6->{by Arden}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   973
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   974
  \onslide<6->{\smath{X_1}} & \onslide<6->{\smath{=}} 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   975
      & \onslide<6->{\smath{\lambda;b^\star\cdot (a\cdot a^\star \cdot b \cdot b^\star)^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   976
  \onslide<6->{\smath{X_2}} & \onslide<6->{\smath{=}}    
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   977
      & \onslide<6->{\smath{X_1; a\cdot a^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   978
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   979
  & & & \onslide<7->{by substitution}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   980
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   981
  \onslide<7->{\smath{X_1}} & \onslide<7->{\smath{=}} 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   982
      & \onslide<7->{\smath{\lambda;b^\star\cdot (a\cdot a^\star \cdot b \cdot b^\star)^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   983
  \onslide<7->{\smath{X_2}} & \onslide<7->{\smath{=}}    
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   984
      & \onslide<7->{\smath{\lambda; b^\star\cdot (a\cdot a^\star \cdot b \cdot b^\star)^\star 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   985
          \cdot a\cdot a^\star}}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   986
  \end{tabular}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   987
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   988
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   989
  \only<8->{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   990
  \begin{textblock}{6}(2.5,4)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   991
  \begin{block}{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   992
  \begin{minipage}{8cm}\raggedright
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   993
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   994
  \begin{tikzpicture}[shorten >=1pt,node distance=2cm,auto, ultra thick, inner sep=1mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   995
  \tikzstyle{state}=[circle,thick,draw=blue!75,fill=blue!20,minimum size=0mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   996
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   997
  %\draw[help lines] (0,0) grid (3,2);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   998
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
   999
  \node[state,initial]   (p_0)                  {$X_1$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1000
  \node[state,accepting] (p_1) [right of=q_0]   {$X_2$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1001
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1002
  \path[->] (p_0) edge [bend left]   node        {a} (p_1)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1003
                  edge [loop above]   node       {b} ()
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1004
            (p_1) edge [loop above]   node       {a} ()
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1005
                  edge [bend left]   node        {b} (p_0);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1006
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1007
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1008
  \end{minipage}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1009
  \end{block}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1010
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1011
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1012
  \only<1,2>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1013
  \begin{textblock}{3}(0.6,1.2)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1014
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1015
  \node at (0,0) [single arrow, fill=red,text=white, minimum height=0cm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1016
  {\textcolor{red}{a}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1017
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1018
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1019
  \only<2>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1020
  \begin{textblock}{3}(0.6,3.6)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1021
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1022
  \node at (0,0) [single arrow, fill=red,text=white, minimum height=0cm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1023
  {\textcolor{red}{a}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1024
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1025
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1026
  \only<4>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1027
  \begin{textblock}{3}(0.6,2.9)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1028
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1029
  \node at (0,0) [single arrow, fill=red,text=white, minimum height=0cm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1030
  {\textcolor{red}{a}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1031
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1032
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1033
  \only<4>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1034
  \begin{textblock}{3}(0.6,5.3)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1035
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1036
  \node at (0,0) [single arrow, fill=red,text=white, minimum height=0cm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1037
  {\textcolor{red}{a}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1038
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1039
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1040
  \only<5>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1041
  \begin{textblock}{3}(1.0,5.6)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1042
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1043
  \node at (0,0) (A) {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1044
  \node at (0,1) (B) {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1045
  \draw[<-, line width=2mm, red] (B) to  (A);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1046
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1047
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1048
  \only<5,6>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1049
  \begin{textblock}{3}(0.6,7.7)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1050
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1051
  \node at (0,0) [single arrow, fill=red,text=white, minimum height=0cm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1052
  {\textcolor{red}{a}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1053
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1054
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1055
  \only<6>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1056
  \begin{textblock}{3}(0.6,10.1)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1057
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1058
  \node at (0,0) [single arrow, fill=red,text=white, minimum height=0cm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1059
  {\textcolor{red}{a}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1060
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1061
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1062
  \only<7>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1063
  \begin{textblock}{3}(1.0,10.3)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1064
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1065
  \node at (0,0) (A) {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1066
  \node at (0,1) (B) {};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1067
  \draw[->, line width=2mm, red] (B) to  (A);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1068
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1069
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1070
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1071
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1072
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1073
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1074
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1075
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1076
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1077
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1078
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1079
  \begin{frame}[c]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1080
  \frametitle{\LARGE The Other Direction}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1081
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1082
  One has to prove
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1083
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1084
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1085
  \smath{\text{finite} (U\!N\!IV /\!/ \approx_{{\cal L}(r)})}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1086
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1087
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1088
  by induction on \smath{r}. Not trivial, but after a bit 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1089
  of thinking, one can find a \alert{refined} relation:\bigskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1090
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1091
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1092
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1093
  \mbox{\begin{tabular}{c@ {\hspace{7mm}}c@ {\hspace{7mm}}c}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1094
  \begin{tikzpicture}[scale=1.1]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1095
  %Circle
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1096
  \draw[thick] (0,0) circle (1.1);    
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1097
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1098
  &
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1099
  \begin{tikzpicture}[scale=1.1]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1100
  %Circle
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1101
  \draw[thick] (0,0) circle (1.1);    
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1102
  %Main rays
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1103
  \foreach \a in {0, 90,...,359}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1104
    \draw[very thick] (0, 0) -- (\a:1.1);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1105
  \foreach \a / \l in {45/1, 135/2, 225/3, 315/4}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1106
      \draw (\a: 0.65) node {\small$a_\l$};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1107
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1108
  &
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1109
  \begin{tikzpicture}[scale=1.1]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1110
  %Circle
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1111
  \draw[red, thick] (0,0) circle (1.1);    
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1112
  %Main rays
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1113
  \foreach \a in {0, 45,...,359}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1114
     \draw[red, very thick] (0, 0) -- (\a:1.1);
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1115
  \foreach \a / \l in {22.5/1.1, 67.5/1.2, 112.5/2.1, 157.5/2.2, 202.4/3.1, 247.5/3.2, 292.5/4.1, 337.5/4.2}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1116
      \draw (\a: 0.77) node {\textcolor{red}{\footnotesize$a_{\l}$}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1117
  \end{tikzpicture}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1118
  \small\smath{U\!N\!IV} & 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1119
  \small\smath{U\!N\!IV /\!/ \approx_{{\cal L}(r)}} &
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1120
  \small\smath{U\!N\!IV /\!/ \alert{R}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1121
  \end{tabular}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1122
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1123
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1124
  \begin{textblock}{5}(9.8,2.6)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1125
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1126
  \node at (0,0) [shape border rotate=270,single arrow, fill=red,text=white, minimum height=0cm]{\textcolor{red}{a}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1127
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1128
  \end{textblock}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1129
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1130
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1131
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1132
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1133
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1134
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1135
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1136
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1137
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1138
  \begin{frame}[t]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1139
  \frametitle{\LARGE\begin{tabular}{c}Derivatives of RExps\end{tabular}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1140
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1141
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1142
  \item introduced by Brzozowski~'64
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1143
  \item produces a regular expression after a character has been ``parsed''\\[-18mm]\mbox{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1144
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1145
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1146
  \only<1->{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1147
  \textcolor{blue}{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1148
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1149
  \begin{tabular}{@ {}lc@ {\hspace{3mm}}l@ {}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1150
  der c $\varnothing$     & $\dn$ & $\varnothing$\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1151
  der c []                & $\dn$ & $\varnothing$\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1152
  der c d                 & $\dn$ & if c $=$ d then [] else $\varnothing$\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1153
  der c ($r_1 + r_2$)     & $\dn$ & (der c $r_1$) $+$ (der c $r_2$)\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1154
  der c ($r^*$)       & $\dn$ & (der c $r$) $\cdot$ ($r^*$)\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1155
  der c ($r_1 \cdot r_2$) & $\dn$ & ((der c $r_1$) $\cdot$ $r_2$) +\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1156
                          &       & \hspace{-3mm}(if nullable $r_1$ then der c $r_2$ else $\varnothing$)\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1157
  \end{tabular}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1158
  \end{center}}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1159
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1160
  \only<2->{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1161
  \begin{textblock}{13}(1.5,5.7)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1162
  \begin{block}{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1163
  \begin{quote}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1164
  \begin{minipage}{13cm}\raggedright
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1165
  derivatives refine \smath{x \approx_{{\cal{L}}(r)} y}\bigskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1166
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1167
  \only<2>{\mbox{\hspace{-22mm}}\smath{{\cal{L}}(\text{ders}~x~r) = {\cal{L}}(\text{ders}~y~r)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1168
    \Longleftrightarrow x \approx_{L(r)} y}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1169
  \only<3>{\mbox{\hspace{-22mm}}\smath{\text{ders}~x~r = \text{ders}~y~r 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1170
   \Longrightarrow x \approx_{L(r)} y}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1171
  \end{center}\bigskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1172
  \
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1173
  \smath{\text{finite}(\text{ders}~A~r)}, but only modulo ACI
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1174
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1175
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1176
  \begin{tabular}{@ {\hspace{-10mm}}rcl}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1177
  \smath{(r_1 + r_2) + r_3} & \smath{\equiv} & \smath{r_1 + (r_2 + r_3)}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1178
  \smath{r_1 + r_2} &         \smath{\equiv} & \smath{r_2 + r_1}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1179
  \smath{r + r} &             \smath{\equiv} & \smath{r}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1180
  \end{tabular}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1181
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1182
  \end{minipage}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1183
  \end{quote}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1184
  \end{block}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1185
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1186
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1187
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1188
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1189
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1190
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1191
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1192
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1193
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1194
  \begin{frame}<2>[t]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1195
  \frametitle{\LARGE\begin{tabular}{c}Partial Derivatives of RExps\end{tabular}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1196
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1197
 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1198
  \only<2>{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1199
  \textcolor{blue}{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1200
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1201
  \begin{tabular}{@ {}l@ {\hspace{2mm}}c@ {\hspace{2mm}}l@ {}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1202
  pder c $\varnothing$     & $\dn$ & \alert{$\{\}$}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1203
  pder c []                & $\dn$ & \alert{$\{\}$}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1204
  pder c d                 & $\dn$ & if c $=$ d then $\{$[]$\}$ else $\{\}$\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1205
  pder c ($r_1 + r_2$)     & $\dn$ & (pder c $r_1$) \alert{$\cup$} (der c $r_2$)\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1206
  pder c ($r^\star$)       & $\dn$ & (pder c $r$) $\cdot$ $r^\star$\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1207
  pder c ($r_1 \cdot r_2$) & $\dn$ & (pder c $r_1$) $\cdot$ $r_2$ \alert{$\cup$}\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1208
                           &       & \hspace{-4mm}if nullable $r_1$ then (pder c $r_2$) else $\varnothing$\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1209
  \end{tabular}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1210
  \end{center}}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1211
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1212
  \only<2>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1213
  \begin{textblock}{6}(8.5,2.7)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1214
  \begin{block}{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1215
  \begin{quote}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1216
  \begin{minipage}{6cm}\raggedright
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1217
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1218
  \item partial derivatives
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1219
  \item by Antimirov~'95
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1220
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1221
  \end{minipage}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1222
  \end{quote}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1223
  \end{block}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1224
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1225
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1226
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1227
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1228
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1229
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1230
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1231
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1232
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1233
  \begin{frame}[t]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1234
  \frametitle{\LARGE Partial Derivatives}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1235
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1236
  \mbox{}\\[0mm]\mbox{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1237
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1238
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1239
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1240
  \item \alt<1>{\smath{\text{pders $x$ $r$ \mbox{$=$} pders $y$ $r$}}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1241
            {\smath{\underbrace{\text{pders $x$ $r$ \mbox{$=$} pders $y$ $r$}}_{R}}} 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1242
        refines \textcolor{blue}{$x$ $\approx_{{\cal L}(r)}$ $y$}\\[16mm]\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1243
  \item \smath{\text{finite} (U\!N\!IV /\!/ R)} \bigskip\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1244
  \item Therefore \smath{\text{finite} (U\!N\!IV /\!/ \approx_{{\cal L}(r)})}. Qed.
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1245
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1246
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1247
  \only<2->{%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1248
  \begin{textblock}{5}(3.9,7.2)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1249
  \begin{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1250
  \node at (0,0) [shape border rotate=270,single arrow, fill=red,text=white, minimum height=0cm]{\textcolor{red}{a}};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1251
  \draw (2.2,0) node {Antimirov '95};
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1252
  \end{tikzpicture}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1253
  \end{textblock}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1254
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1255
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1256
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1257
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1258
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1259
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1260
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1261
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1262
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1263
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1264
  \begin{frame}[t]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1265
  \frametitle{\LARGE What Have We Achieved?}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1266
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1267
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1268
  \item \smath{\text{finite}\, (U\!N\!IV /\!/ \approx_A) \;\Leftrightarrow\; A\; \text{is regular}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1269
  \medskip\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1270
  \item regular languages are closed under complementation; this is now easy
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1271
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1272
  \smath{U\!N\!IV /\!/ \approx_A \;\;=\;\; U\!N\!IV /\!/ \approx_{\overline{A}}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1273
  \end{center}\pause\medskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1274
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1275
  \item non-regularity (\smath{a^nb^n})\medskip\pause\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1276
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1277
  \item take \alert{\bf any} language\\ build the language of substrings\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1278
  \pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1279
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1280
  then this language \alert{\bf is} regular\;\; (\smath{a^nb^n} $\Rightarrow$ \smath{a^\star{}b^\star})
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1281
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1282
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1283
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1284
\only<2>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1285
\begin{textblock}{10}(4,14)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1286
\small
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1287
\smath{x \approx_{A} y \,\dn\, \forall z.\; x @ z \in A \Leftrightarrow y @ z \in A}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1288
\end{textblock}} 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1289
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1290
\only<4>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1291
\begin{textblock}{5}(2,8.6)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1292
\begin{minipage}{8.8cm}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1293
\begin{block}{}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1294
\begin{minipage}{8.6cm}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1295
If there exists a sufficiently large set \smath{B} (for example infinitely large), 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1296
such that
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1297
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1298
\begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1299
\smath{\forall x,y \in B.\; x \not= y \;\Rightarrow\; x \not\approx_{A} y}. 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1300
\end{center}  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1301
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1302
then \smath{A} is not regular.\hspace{1.3cm}\small(\smath{B \dn \bigcup_n a^n})
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1303
\end{minipage}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1304
\end{block}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1305
\end{minipage}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1306
\end{textblock}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1307
}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1308
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1309
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1310
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1311
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1312
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1313
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1314
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1315
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1316
  \begin{frame}[c]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1317
  \frametitle{\normalsize Formal language theory\ldots\hfill\mbox{}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1318
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1319
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1320
  \huge\bf\textcolor{gray}{in Nuprl}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1321
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1322
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1323
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1324
  \item Constable, Jackson, Naumov, Uribe\medskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1325
  \item \alert{18 months} for automata theory from Hopcroft \& Ullman chapters 1--11 (including Myhill-Nerode)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1326
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1327
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1328
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1329
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1330
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1331
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1332
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1333
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1334
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1335
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1336
  \begin{frame}[c]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1337
  \frametitle{\normalsize Formal language theory\ldots\hfill\mbox{}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1338
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1339
  \begin{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1340
  \huge\bf\textcolor{gray}{in Coq}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1341
  \end{center}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1342
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1343
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1344
  \item Filli\^atre, Briais, Braibant and others
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1345
  \item multi-year effort; a number of results in automata theory, e.g.\medskip 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1346
    \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1347
    \item Kleene's thm.~by Filli\^atre (\alert{``rather big''})
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1348
    \item automata theory by Briais (5400 loc)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1349
    \item Braibant ATBR library, including Myhill-Nerode\\ ($>$7000 loc)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1350
    \item Mirkin's partial derivative automaton construction (10600 loc)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1351
    \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1352
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1353
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1354
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1355
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1356
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1357
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1358
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1359
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1360
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1361
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1362
  \begin{frame}[c]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1363
  \frametitle{\LARGE Conclusion}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1364
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1365
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1366
  \item we have never seen a proof of Myhill-Nerode based on
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1367
  regular expressions only\smallskip\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1368
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1369
  \item great source of examples (inductions)\smallskip\pause
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1370
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1371
  \item no need to fight the theorem prover:\\ 
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1372
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1373
  \item first direction (790 loc)\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1374
  \item second direction (400 / 390 loc)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1375
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1376
  
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1377
  \item I am not saying automata are bad; just formal proofs about
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1378
  them are quite dif$\!$ficult\pause\bigskip\medskip
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1379
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1380
  \item parsing with derivatives of grammars\\ (Matt Might ICFP'11)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1381
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1382
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1383
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1384
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1385
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1386
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1387
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1388
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1389
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1390
  \begin{frame}[c]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1391
  \frametitle{\LARGE An Apology}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1392
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1393
  \begin{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1394
  \item This should all of course be done co-inductively
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1395
  \end{itemize}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1396
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1397
  \footnotesize
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1398
  \begin{tabular}{@ {\hspace{4mm}}l}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1399
  From: Jasmin Christian Blanchette\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1400
  To: isabelle-dev@mailbroy.informatik.tu-muenchen.de\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1401
  Subject: [isabelle-dev] NEWS\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1402
  Date: \alert{\bf Tue, 28 Aug 2012} 17:40:55 +0200\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1403
  \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1404
  * {\bf HOL/Codatatype}: New (co)datatype package with support for mixed,\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1405
  nested recursion and interesting non-free datatypes.\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1406
  \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1407
  * HOL/Ordinals\_and\_Cardinals: Theories of ordinals and cardinals\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1408
  (supersedes the AFP entry of the same name).\\[2mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1409
  Kudos to Andrei and Dmitriy!\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1410
  \\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1411
  Jasmin\\[-1mm]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1412
  ------------------------------------\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1413
  isabelle-dev mailing list\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1414
  isabelle-dev@in.tum.de\\
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1415
  \end{tabular}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1416
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1417
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1418
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1419
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1420
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1421
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1422
text_raw {*
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1423
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1424
  \mode<presentation>{
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1425
  \begin{frame}[b]
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1426
  \frametitle{\mbox{}\\[2cm]\textcolor{red}{Thank you very much!\\[5mm]Questions?}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1427
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1428
  \end{frame}}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1429
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1430
*}
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1431
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1432
(*<*)
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1433
end
827e487b9e92 added slides for talk at Imperial
urbanc
parents:
diff changeset
  1434
(*>*)