Slides/Slides1.thy
author urbanc
Wed, 03 Nov 2010 21:42:44 +0000
changeset 16 663816814e3e
child 21 6a0538d8ccd5
permissions -rw-r--r--
added initial slides for informal talk in Cambridge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
     1
(*<*)
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
     2
theory Slides1
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
     3
imports "LaTeXsugar"
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
     4
begin
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
     5
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
     6
notation (latex output)
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
     7
  set ("_") and
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
     8
  Cons  ("_::/_" [66,65] 65) 
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
     9
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    10
(*>*)
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    11
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    12
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    13
text_raw {*
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    14
  \renewcommand{\slidecaption}{Cambridge, 9 November 2010}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    15
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    16
  \mode<presentation>{
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    17
  \begin{frame}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    18
  \frametitle{%
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    19
  \begin{tabular}{@ {}c@ {}}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    20
  \Large A Formalisation of the\\[-5mm] 
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    21
  \Large Myhill-Nerode Theorem\\[-5mm] 
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    22
  \Large based on Regular Expressions\\[-3mm] 
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    23
  \large \onslide<2>{or, Regular Languages Done Right}\\
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    24
  \end{tabular}}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    25
  
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    26
  \begin{center}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    27
  Christian Urban
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    28
  \end{center}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    29
 
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    30
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    31
  \begin{center}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    32
  joint work with Chunhan Wu and Xingyuan Zhang from the PLA
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    33
  University of Science and Technology in Nanjing
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    34
  \end{center}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    35
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    36
  \end{frame}}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    37
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    38
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    39
*}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    40
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    41
text_raw {*
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    42
  \renewcommand{\slidecaption}{Cambridge, 9 November 2010}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    43
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    44
  \mode<presentation>{
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    45
  \begin{frame}[c]
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    46
  \frametitle{In Textbooks\ldots}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    47
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    48
  \begin{itemize}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    49
  \item A \alert{regular language} is one where there is DFA that 
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    50
  recognises it.\pause
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    51
  \item Pumping lemma, closure properties of regular languages (closed 
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    52
  under ``negation'') etc are all described and proved in terms of DFAs\pause
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    53
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    54
  \item similarly the Myhill-Nerode theorem, which gives necessary and sufficient
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    55
  conditions for a language being regular (also describes a minimal DFA for a language)
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    56
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    57
  \end{itemize}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    58
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    59
  \end{frame}}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    60
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    61
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    62
*}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    63
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    64
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    65
text_raw {*
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    66
  \renewcommand{\slidecaption}{Cambridge, 9 November 2010}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    67
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    68
  \mode<presentation>{
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    69
  \begin{frame}[c]
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    70
  \frametitle{Really Bad News!}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    71
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    72
  This is bad news for formalisations in theorem provers. DFAs might
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    73
  be represented as
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    74
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    75
  \begin{itemize}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    76
  \item graphs
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    77
  \item matrices
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    78
  \item partial functions
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    79
  \end{itemize}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    80
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    81
  All constructions are difficult to reason about.\bigskip\bigskip 
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    82
  \pause
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    83
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    84
  \small
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    85
  Constable et al needed (on and off) 18 months for a 3-person team 
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    86
  to formalise automata theory in Nuprl including Myhill-Nerode. There is 
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    87
  only very little other formalised work on regular languages I know of
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    88
  in Coq, Isabelle and HOL.
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    89
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    90
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    91
  
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    92
  \end{frame}}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    93
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    94
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    95
*}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    96
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    97
text_raw {*
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    98
  \renewcommand{\slidecaption}{Cambridge, 9 November 2010}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
    99
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   100
  \mode<presentation>{
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   101
  \begin{frame}[c]
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   102
  \frametitle{Regular Expressions}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   103
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   104
  \ldots are a simple datatype defined as:
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   105
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   106
  \only<1>{
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   107
  \begin{center}\color{blue}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   108
  \begin{tabular}{rcl}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   109
  rexp & $::=$ & NULL\\
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   110
               & $\mid$ & EMPTY\\
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   111
               & $\mid$ & CHR c\\
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   112
               & $\mid$ & ALT rexp rexp\\
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   113
               & $\mid$ & SEQ rexp rexp\\
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   114
               & $\mid$ & STAR rexp
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   115
  \end{tabular}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   116
  \end{center}}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   117
  \only<2->{
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   118
  \begin{center}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   119
  \begin{tabular}{rcl}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   120
  \smath{r} & \smath{::=}  & \smath{\varepsilon} \\
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   121
            & \smath{\mid} & \smath{[]}\\
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   122
            & \smath{\mid} & \smath{c}\\
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   123
            & \smath{\mid} & \smath{r_1 + r_2}\\
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   124
            & \smath{\mid} & \smath{r_1 ; r_2}\\
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   125
            & \smath{\mid} & \smath{r^\star}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   126
  \end{tabular}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   127
  \end{center}}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   128
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   129
  \end{frame}}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   130
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   131
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   132
*}
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   133
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   134
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   135
(*<*)
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   136
end
663816814e3e added initial slides for informal talk in Cambridge
urbanc
parents:
diff changeset
   137
(*>*)