slides/src/slides.tex
author Eugen Sawin <sawine@me73.com>
Wed, 20 Jul 2011 20:32:05 +0200
changeset 61 9cde5c0bf4d3
parent 60 f00c214f8e36
child 62 bb9b5ce427ae
permissions -rw-r--r--
LTL begin.
sawine@55
     1
\documentclass[9pt]{beamer}
sawine@55
     2
\usetheme{Boadilla}
sawine@58
     3
\usecolortheme{dove}
sawine@58
     4
\usecolortheme{orchid}
sawine@58
     5
\usecolortheme{dolphin}
sawine@58
     6
%\usecolortheme{seagull}
sawine@58
     7
sawine@60
     8
\usepackage{amsmath, amsthm, amssymb, amsfonts, verbatim}
sawine@61
     9
\usepackage{xcolor}
sawine@58
    10
\usepackage{ulem}
sawine@58
    11
\usepackage{graphicx}
sawine@58
    12
\usepackage{tikz}
sawine@58
    13
\usetikzlibrary{automata}
sawine@58
    14
\usepackage{subfigure}
sawine@55
    15
sawine@61
    16
\renewcommand{\emph}{\textit}
sawine@61
    17
\renewcommand{\em}{\textit}
sawine@55
    18
\newcommand{\M}{\mathcal{M}}
sawine@55
    19
\newcommand{\N}{\mathbb{N}_0}
sawine@55
    20
\newcommand{\F}{\mathcal{F}}
sawine@57
    21
\newcommand{\Fs}{\mathbb{F}}
sawine@55
    22
\newcommand{\Prop}{\mathcal{P}}
sawine@55
    23
\newcommand{\A}{\mathcal{A}}
sawine@55
    24
\newcommand{\X}{\mathcal{X}}
sawine@55
    25
\newcommand{\U}{\mathcal{U}}
sawine@55
    26
\newcommand{\V}{\mathcal{V}}
sawine@55
    27
\newcommand{\dnf}{\mathsf{dnf}}
sawine@55
    28
\newcommand{\consq}{\mathsf{consq}}
sawine@55
    29
sawine@55
    30
\theoremstyle{definition} %plain, definition, remark, proof, corollary
sawine@55
    31
\newtheorem*{def:finite words}{Finite words}
sawine@55
    32
\newtheorem*{def:infinite words}{Infinite words}
sawine@55
    33
\newtheorem*{def:regular languages}{Regular languages}
sawine@55
    34
\newtheorem*{def:regular languages closure}{Regular closure}
sawine@55
    35
\newtheorem*{def:omega regular languages}{$\omega$-regular languages}
sawine@55
    36
\newtheorem*{def:omega regular languages closure}{$\omega$-regular closure}
sawine@55
    37
\newtheorem*{def:buechi automata}{Automaton}
sawine@56
    38
\newtheorem*{def:automata runs}{Run}
sawine@56
    39
\newtheorem*{def:inf}{Infinite occurrences}
sawine@55
    40
\newtheorem*{def:automata acceptance}{Acceptance}
sawine@56
    41
\newtheorem*{def:automata language}{Recognised language}
sawine@57
    42
\newtheorem*{def:general automata}{Generalised automaton}
sawine@55
    43
\newtheorem*{def:general acceptance}{Acceptance}
sawine@61
    44
\newtheorem*{def:syntax}{Syntax}
sawine@61
    45
sawine@61
    46
sawine@55
    47
\newtheorem*{def:vocabulary}{Vocabulary}
sawine@55
    48
\newtheorem*{def:frames}{Frames}
sawine@55
    49
\newtheorem*{def:models}{Models}
sawine@55
    50
\newtheorem*{def:satisfiability}{Satisfiability}
sawine@55
    51
\newtheorem*{def:fs closure}{Closure}
sawine@55
    52
\newtheorem*{def:atoms}{Atoms}
sawine@55
    53
\newtheorem*{def:rep function}{Representation function}
sawine@55
    54
\newtheorem*{def:next}{Next function}
sawine@55
    55
\newtheorem*{def:dnf}{Disjunctive normal form}
sawine@55
    56
\newtheorem*{def:positive formulae}{Positive formulae}
sawine@55
    57
\newtheorem*{def:consq}{Logical consequences}
sawine@55
    58
\newtheorem*{def:partial automata}{Partial automata}
sawine@55
    59
sawine@55
    60
\theoremstyle{plain}
sawine@55
    61
\newtheorem{prop:vocabulary sat}{Proposition}[section]
sawine@55
    62
\newtheorem{prop:general equiv}{Proposition}[section]
sawine@55
    63
\newtheorem{prop:computation set=language}{Proposition}[section]
sawine@55
    64
sawine@55
    65
\theoremstyle{plain}
sawine@55
    66
\newtheorem{thm:model language}{Theorem}[section]
sawine@55
    67
\newtheorem{cor:mod=model language}{Corollary}[thm:model language]
sawine@55
    68
\newtheorem{cor:mod=program language}[cor:mod=model language]{Corollary}
sawine@55
    69
\newtheorem{thm:model checking}{Theorem}[section]
sawine@55
    70
\newtheorem{lem:dnf}{Lemma}[section]
sawine@55
    71
\newtheorem{lem:consq}[lem:dnf]{Lemma}
sawine@55
    72
sawine@55
    73
\title[Algorithmic Verification]{Algorithmic Verification of Reactive Systems}
sawine@55
    74
\author{Eugen Sawin}
sawine@55
    75
\institute[University of Freiburg]
sawine@55
    76
{ 
sawine@55
    77
  Research Group for Foundations in Artificial Intelligence\\
sawine@55
    78
  Computer Science Department\\
sawine@55
    79
  University of Freiburg
sawine@55
    80
}
sawine@55
    81
\date[SS 2011]{Seminar: Automata Constructions in Model Checking}
sawine@55
    82
\subject{Model Checking}
sawine@55
    83
sawine@55
    84
\begin{document}
sawine@55
    85
\frame{\titlepage}
sawine@55
    86
\begin{frame}
sawine@55
    87
\frametitle{Motivation}
sawine@55
    88
\tableofcontents[currentsection]
sawine@55
    89
\end{frame}
sawine@55
    90
sawine@55
    91
\begin{frame}
sawine@55
    92
\frametitle{Infinity}
sawine@55
    93
\framesubtitle{A bit more information about this}
sawine@55
    94
\end{frame}
sawine@55
    95
sawine@55
    96
\begin{frame}
sawine@56
    97
\frametitle{Automata}
sawine@59
    98
\framesubtitle{Example 1/2}
sawine@58
    99
\begin{figure}
sawine@58
   100
\centering
sawine@60
   101
\only<-3>{
sawine@58
   102
\begin{tikzpicture}[shorten >=1pt, node distance=2cm, auto, semithick, >=stealth
sawine@58
   103
    %every state/.style={fill, draw=none, gray, text=white},
sawine@58
   104
    ,accepting/.style={fill, gray!50!black, text=white}
sawine@58
   105
    %initial/.style ={gray, text=white}]%,  thick]
sawine@58
   106
    ]
sawine@58
   107
\node[state,initial, initial text=] (q_0) {$q_0$};
sawine@58
   108
\node[state] (q_1) [above right of= q_0] {$q_1$};
sawine@58
   109
\node[state,accepting](q_2) [below right of= q_1] {$q_2$};
sawine@58
   110
\path[->] 
sawine@58
   111
(q_0) edge node {$a$} (q_1)
sawine@58
   112
  edge [loop above] node {$b$} ()
sawine@58
   113
(q_1) edge node {$b$} (q_2)
sawine@58
   114
  edge [loop above] node {$a$} ()
sawine@58
   115
(q_2) %edge node {$a$} (q_1)
sawine@58
   116
  edge node {$b$} (q_0);
sawine@58
   117
\draw[->] (q_2) .. controls +(up:1cm) and +(right:1cm) .. node[above] {$a$} (q_1);
sawine@60
   118
\end{tikzpicture}\\
sawine@60
   119
\vspace{10pt}
sawine@60
   120
\visible<2-3>{$w_1 = \overline{bbaa} \implies \rho_1 = q_0q_0\overline{q_0q_1q_1q_2}$}\\
sawine@60
   121
\visible<3>{$w_2 = bb\overline{ab} \implies \rho_2 = q_0q_0\overline{q_1q_2}$}\\
sawine@60
   122
\vspace{10pt}
sawine@60
   123
\visible<4>{Accepts all inputs with infinite occurrences of $ab$.}
sawine@58
   124
}
sawine@58
   125
sawine@60
   126
\only<4>{
sawine@58
   127
\begin{tikzpicture}[shorten >=1pt, node distance=2cm, auto, semithick, >=stealth
sawine@58
   128
    %every state/.style={fill, draw=none, gray, text=white},
sawine@58
   129
    ,accepting/.style={fill, gray!50!black, text=white}
sawine@58
   130
    %initial/.style ={gray, text=white}]%,  thick]
sawine@58
   131
    ]
sawine@58
   132
\node[state,initial, initial text=] (q_0) {$q_0$};
sawine@58
   133
\node[state] (q_1) [above right of= q_0] {$q_1$};
sawine@58
   134
\node[state,accepting](q_2) [below right of= q_1] {$q_2$};
sawine@58
   135
\path[->] 
sawine@58
   136
(q_0) 
sawine@58
   137
  edge [loop above] node {$b$} ()
sawine@58
   138
(q_1) 
sawine@58
   139
  edge [loop above] node {$a$} ()
sawine@58
   140
(q_2) %edge node {$a$} (q_1)
sawine@58
   141
  edge node {$b$} (q_0);
sawine@58
   142
\color{green}
sawine@58
   143
\path[->] 
sawine@58
   144
(q_0) edge node {$a$} (q_1) 
sawine@58
   145
(q_1) edge node {$b$} (q_2);
sawine@58
   146
\draw[->] (q_2) .. controls +(up:1cm) and +(right:1cm) .. node[above] {$a$} (q_1);
sawine@59
   147
\end{tikzpicture}\\
sawine@58
   148
\color{black}
sawine@60
   149
\vspace{10pt}
sawine@60
   150
\visible<2->{$w_1 = \overline{\textcolor{green}{b}ba\textcolor{green}{a}} \implies \rho_1 = q_0q_0\overline{q_0q_1q_1\textcolor{green}{q_2}}$}\\
sawine@60
   151
\visible<3->{$w_2 = bb\overline{\textcolor{green}{ab}} \implies \rho_2 = q_0q_0\overline{q_1\textcolor{green}{q_2}}$}\\
sawine@60
   152
\vspace{10pt}
sawine@60
   153
\visible<4>{Accepts all inputs with infinite occurrences of $ab$.}
sawine@58
   154
}
sawine@58
   155
%Automaton $\A_1$
sawine@58
   156
\end{figure}
sawine@58
   157
\end{frame}
sawine@58
   158
sawine@58
   159
\begin{frame}
sawine@58
   160
\frametitle{Automata}
sawine@59
   161
\framesubtitle{Example 2/2 (Complement)}
sawine@58
   162
\begin{figure}
sawine@58
   163
\centering
sawine@60
   164
\only<1>{
sawine@58
   165
  \subfigure
sawine@58
   166
            {
sawine@58
   167
              \begin{tikzpicture}[shorten >=1pt, node distance=2cm, auto, semithick, >=stealth
sawine@58
   168
                  %every state/.style={fill, draw=none, gray, text=white},
sawine@58
   169
                  ,accepting/.style={fill, gray!50!black, text=white}
sawine@58
   170
                  %initial/.style ={gray, text=white}]%,  thick]
sawine@58
   171
                ]
sawine@58
   172
                \node[state,initial, initial text=, accepting] (q_0) {$q_0$};
sawine@58
   173
                \node[state, accepting] (q_1) [above right of= q_0] {$q_1$};
sawine@58
   174
                \node[state](q_2) [below right of= q_1] {$q_2$};
sawine@58
   175
                \path[->] 
sawine@58
   176
                (q_0) edge node {$a$} (q_1)
sawine@58
   177
                edge [loop above] node {$b$} ()
sawine@58
   178
                (q_1) edge node {$b$} (q_2)
sawine@58
   179
                edge [loop above] node {$a$} ()
sawine@58
   180
                (q_2) %edge node {$a$} (q_1)
sawine@58
   181
                edge node {$b$} (q_0);
sawine@58
   182
                \draw[->] (q_2) .. controls +(up:1cm) and +(right:1cm) .. node[above] {$a$} (q_1);
sawine@58
   183
              \end{tikzpicture}
sawine@58
   184
            }
sawine@58
   185
}
sawine@58
   186
\only<2>{ 
sawine@58
   187
  \subfigure
sawine@58
   188
            {
sawine@58
   189
              \begin{tikzpicture}[shorten >=1pt, node distance=2cm, auto, semithick, >=stealth
sawine@58
   190
                  %every state/.style={fill, draw=none, gray, text=white},
sawine@58
   191
                  ,accepting/.style={fill, gray!50!black, text=white}
sawine@58
   192
                  %initial/.style ={gray, text=white}]%,  thick]
sawine@58
   193
                ]
sawine@58
   194
                \node[state,initial, initial text=, accepting] (q_0) {$q_0$};
sawine@58
   195
                \node[state, accepting] (q_1) [above right of= q_0] {$q_1$};
sawine@58
   196
                \node[state](q_2) [below right of= q_1] {$q_2$};
sawine@58
   197
                \path[->] 
sawine@58
   198
                (q_0) 
sawine@58
   199
                edge [loop above] node {$b$} ()
sawine@58
   200
                (q_1) 
sawine@58
   201
                edge [loop above] node {$a$} ();                
sawine@58
   202
                \color{red}  
sawine@58
   203
                \path[->] 
sawine@58
   204
                (q_0) edge node {$a$} (q_1)
sawine@58
   205
                (q_1) edge node {$b$} (q_2)
sawine@58
   206
                (q_2) edge node {$b$} (q_0);  
sawine@58
   207
                \draw[->] (q_2) .. controls +(up:1cm) and +(right:1cm) .. node[above] {$a$} (q_1);              
sawine@58
   208
              \end{tikzpicture}  \color{red}  
sawine@58
   209
            }
sawine@58
   210
 \color{black}
sawine@58
   211
}
sawine@58
   212
\only<3->{ \setcounter{subfigure}{0} 
sawine@58
   213
  \subfigure[\sout{Complement automaton}]
sawine@58
   214
            {
sawine@58
   215
              \begin{tikzpicture}[shorten >=1pt, node distance=2cm, auto, semithick, >=stealth
sawine@58
   216
                  %every state/.style={fill, draw=none, gray, text=white},
sawine@58
   217
                  ,accepting/.style={fill, gray!50!black, text=white}
sawine@58
   218
                  %initial/.style ={gray, text=white}]%,  thick]
sawine@58
   219
                ]
sawine@58
   220
                \node[state,initial, initial text=, accepting] (q_0) {$q_0$};
sawine@58
   221
                \node[state, accepting] (q_1) [above right of= q_0] {$q_1$};
sawine@58
   222
                \node[state](q_2) [below right of= q_1] {$q_2$};
sawine@58
   223
                \path[->] 
sawine@58
   224
                (q_0) 
sawine@58
   225
                edge [loop above] node {$b$} ()
sawine@58
   226
                (q_1) 
sawine@58
   227
                edge [loop above] node {$a$} ();                
sawine@58
   228
                \path[->] 
sawine@58
   229
                (q_0) edge node {$a$} (q_1)
sawine@58
   230
                (q_1) edge node {$b$} (q_2)
sawine@58
   231
                (q_2) edge node {$b$} (q_0);  
sawine@58
   232
                \draw[->] (q_2) .. controls +(up:1cm) and +(right:1cm) .. node[above] {$a$} (q_1);              
sawine@58
   233
              \end{tikzpicture}  \color{red}  
sawine@58
   234
            }
sawine@58
   235
 \color{black}
sawine@58
   236
}
sawine@60
   237
%\hspace{10pt}
sawine@58
   238
\visible<3->{
sawine@58
   239
  \subfigure[Complement automaton]
sawine@58
   240
            {
sawine@58
   241
              \label{fig:complement automaton}
sawine@58
   242
              \begin{tikzpicture}[shorten >=1pt, node distance=2cm, auto, semithick, >=stealth   
sawine@58
   243
                  ,accepting/.style={fill, gray!50!black, text=white}]
sawine@58
   244
                \node[state, initial, initial text=] (q_0) {$q_0$};
sawine@58
   245
                \node[state, accepting] (q_1) [above right of= q_0] {$q_1$};
sawine@58
   246
                \node[state, accepting](q_2) [below right of= q_1] {$q_2$};
sawine@58
   247
                \path[->] 
sawine@58
   248
                (q_0) edge node {$a$} (q_1)
sawine@58
   249
                edge node {$b$} (q_2)
sawine@58
   250
                edge [loop above] node {$a, b$} ()
sawine@58
   251
                (q_1) edge [loop above] node {$a$} ()
sawine@58
   252
                (q_2) 
sawine@58
   253
                edge [loop above] node {$b$} ();
sawine@58
   254
              \end{tikzpicture}\color{green}  
sawine@59
   255
            }\\
sawine@58
   256
\color{black}  
sawine@59
   257
\vspace{20pt}
sawine@59
   258
Accepts all inputs with infinite occurrences of $a$ or $b$.\\
sawine@59
   259
Does \emph{not} accept inputs where both $a$ and $b$ occur infinitely often.
sawine@58
   260
}
sawine@58
   261
%\caption{Automata from Example \ref{ex:automaton}}
sawine@58
   262
\end{figure}
sawine@58
   263
\end{frame}
sawine@61
   264
\color{black}  
sawine@58
   265
sawine@58
   266
\begin{frame}
sawine@58
   267
\frametitle{Automata}
sawine@56
   268
\framesubtitle{Definition}
sawine@55
   269
\begin{def:buechi automata}
sawine@56
   270
A non-deterministic B\"uchi automaton is a tuple $\A = (\Sigma, S, S_0, \Delta, F)$ with:
sawine@55
   271
\begin{itemize}
sawine@57
   272
\item $\Sigma$ is a finite \emph{alphabet}.
sawine@57
   273
\item $S$ is a finite set of \emph{states}.
sawine@57
   274
\item $S_0 \subseteq S$ is the set of \emph{initial states}.
sawine@57
   275
\item $\Delta: S \times \Sigma \times S$ is a \emph{transition relation}.
sawine@57
   276
\item $F \subseteq S$ is the set of \emph{accepting states}.
sawine@55
   277
\end{itemize}
sawine@55
   278
\end{def:buechi automata}
sawine@55
   279
\end{frame}
sawine@55
   280
sawine@55
   281
\begin{frame}
sawine@56
   282
\frametitle{Automata}
sawine@56
   283
\framesubtitle{Runs}
sawine@56
   284
\begin{def:automata runs}
sawine@56
   285
Let $\A = (\Sigma, S, S_0, \Delta, F)$ be an automaton:
sawine@56
   286
\begin{itemize}
sawine@56
   287
\item A run $\rho$ of $\A$ on an infinite word $w = a_0,a_1,...$ is a sequence $\rho = s_0,s_1,...$:
sawine@56
   288
\begin{itemize}
sawine@57
   289
\item $s_0 \in S_0$.
sawine@57
   290
\item $(s_i, a_i, s_{i+1}) \in \Delta$, for all $i \geq 0$.
sawine@56
   291
\end{itemize}
sawine@57
   292
\item Alternative view of a run $\rho$ as a function $\rho : \N \to S$, with $\rho(i) = s_i$.
sawine@56
   293
\end{itemize}
sawine@56
   294
\end{def:automata runs}
sawine@56
   295
\end{frame}
sawine@56
   296
sawine@56
   297
\begin{frame}
sawine@56
   298
\frametitle{Automata}
sawine@56
   299
\framesubtitle{Acceptance}
sawine@56
   300
\begin{def:inf}
sawine@56
   301
Let $\A = (\Sigma, S, S_0, \Delta, F)$ be an automaton and let $\rho$ be a run of $\A$:
sawine@56
   302
\begin{itemize}
sawine@59
   303
\item $\exists^\omega$ denotes the existential quantifier for \emph{infinitely} many occurrences.
sawine@57
   304
\item $inf(\rho) = \{s \in S \mid \exists^\omega{n \in \N}: \rho(n) = s\}$.
sawine@56
   305
\end{itemize}
sawine@56
   306
\end{def:inf}
sawine@56
   307
sawine@56
   308
\begin{def:automata acceptance}
sawine@56
   309
Let $\A = (\Sigma, S, S_0, \Delta, F)$ be an automaton and let $\rho$ be a run of $\A$:
sawine@56
   310
\begin{itemize}
sawine@56
   311
\item $\rho$ is \emph{accepting} iff $inf(\rho) \cap F \neq \emptyset$.
sawine@59
   312
\item $\A$ \emph{accepts} an input word $w$ iff there exists a run $\rho$ of $\A$ on $w$, such that $\rho$ is accepting. 
sawine@56
   313
\end{itemize}
sawine@56
   314
\end{def:automata acceptance}
sawine@56
   315
\end{frame}
sawine@56
   316
sawine@56
   317
\begin{frame}
sawine@56
   318
\frametitle{Automata}
sawine@56
   319
\framesubtitle{Language}
sawine@56
   320
\begin{def:automata language}
sawine@56
   321
Let $\A = (\Sigma, S, S_0, \Delta, F)$ be an automaton:
sawine@56
   322
\begin{itemize}
sawine@57
   323
\item $L_\omega(\A) = \{w \in \Sigma^\omega \mid \A \text{ accepts } w\}$, we say $\A$ recognises language $L_\omega(\A)$.
sawine@57
   324
\item Language $L$ is \emph{B\"uchi-recognisable} iff there is an automaton $\A$ with $L = L_\omega(\A)$.
sawine@57
   325
\item The class of B\"uchi-recognisable languages corresponds to the class of $\omega$-regular languages.
sawine@56
   326
\end{itemize}
sawine@56
   327
\end{def:automata language}
sawine@56
   328
\end{frame}
sawine@56
   329
sawine@56
   330
\begin{frame}
sawine@57
   331
\frametitle{Generalised Automata}
sawine@57
   332
\framesubtitle{Definition}
sawine@57
   333
\begin{def:general automata}
sawine@57
   334
A \emph{generalised B\"uchi automaton} is a tuple $\A = (\Sigma, S, S_0, \Delta, \{F_i\}_{i<k})$:
sawine@57
   335
\begin{itemize}
sawine@57
   336
\item $\{F_i\}$ is a finite set of sets for a given $k$.
sawine@57
   337
\item Each $F_i \subseteq S$ is a finite set of accepting states.
sawine@57
   338
\end{itemize}
sawine@57
   339
\end{def:general automata}
sawine@57
   340
\end{frame}
sawine@57
   341
sawine@57
   342
\begin{frame}
sawine@57
   343
\frametitle{Generalised Automata}
sawine@57
   344
\framesubtitle{Acceptance}
sawine@57
   345
\begin{def:general acceptance}
sawine@57
   346
Let $\A = (\Sigma, S, S_0, \Delta, \{F_i\}_{i<k})$ be a generalised automaton and let $\rho$ be a run of $\A$:
sawine@57
   347
\begin{itemize}
sawine@57
   348
\item $\rho$ is \emph{accepting} iff $\forall{i < k}: inf(\rho) \cap F_i \neq \emptyset$.
sawine@59
   349
\item $\A$ \emph{accepts} an input word $w$ iff there exists a run $\rho$ of $\A$ on $w$, such that $\rho$ is accepting. 
sawine@57
   350
\end{itemize} 
sawine@57
   351
\end{def:general acceptance}
sawine@57
   352
\end{frame}
sawine@57
   353
sawine@57
   354
\begin{frame}
sawine@57
   355
\frametitle{Generalised Automata}
sawine@57
   356
\framesubtitle{Language}
sawine@57
   357
\begin{prop:general equiv}
sawine@57
   358
Let $\A = (\Sigma, S, S_0, \Delta, \{F_i\}_{i < k})$ be a generalised automaton and let $\A_i = (\Sigma, S, S_0, \Delta, F_i)$ be non-deterministic automata, then following equivalence condition holds:
sawine@57
   359
\[L_\omega(\A) = \bigcap_{i < k} L_\omega(\A_i)\]
sawine@57
   360
\end{prop:general equiv}
sawine@57
   361
\end{frame}
sawine@57
   362
sawine@61
   363
{
sawine@61
   364
\setbeamercolor{normal text}{bg=black, fg=white}
sawine@61
   365
\setbeamercolor{frametitle}{fg=white!30!black}
sawine@61
   366
\usebeamercolor*{normal text} 
sawine@61
   367
\usebeamercolor*{frametitle} 
sawine@57
   368
\begin{frame}
sawine@55
   369
\frametitle{Linear Temporal Logic}
sawine@61
   370
\framesubtitle{Motivation 1/2}
sawine@61
   371
\begin{center}
sawine@61
   372
``It is dark.''\\
sawine@61
   373
\visible<2->{``It is \emph{always} dark.''\\}
sawine@61
   374
\visible<3->{``It is \emph{currently} dark.''\\}
sawine@61
   375
\visible<4->{``It will \emph{eventually} be dark.''}
sawine@61
   376
\end{center}
sawine@61
   377
\end{frame}
sawine@61
   378
}
sawine@61
   379
sawine@61
   380
\begin{frame}
sawine@61
   381
\frametitle{Linear Temporal Logic}
sawine@61
   382
\framesubtitle{Motivation 2/2}
sawine@61
   383
\begin{center}
sawine@61
   384
\colorbox{black}{\color{white} ``It is dark} \colorbox{black!30}{\color{white} until someone puts on the light.''}
sawine@61
   385
\end{center}
sawine@61
   386
\end{frame}
sawine@61
   387
sawine@61
   388
\begin{frame}
sawine@61
   389
\frametitle{Linear Temporal Logic}
sawine@61
   390
\framesubtitle{Syntax}
sawine@61
   391
\begin{def:syntax}
sawine@61
   392
Let $\Prop$ be the countable set of \emph{atomic propositions}, LTL-formulae $\varphi$ are defined using following productions:
sawine@61
   393
\[\varphi ::= p \in \Prop \,|\, \neg \varphi \,|\, \varphi \lor \varphi \,|\, \X \varphi \,|\, \varphi \U \varphi\]
sawine@61
   394
\end{def:syntax}
sawine@61
   395
\end{frame}
sawine@61
   396
sawine@61
   397
\begin{frame}
sawine@61
   398
\frametitle{Linear Temporal Logic}
sawine@61
   399
\framesubtitle{Semantics}
sawine@55
   400
\end{frame}
sawine@55
   401
sawine@55
   402
\begin{frame}
sawine@55
   403
\frametitle{Model Checking}
sawine@55
   404
\framesubtitle{A bit more information about this}
sawine@55
   405
sawine@55
   406
\end{frame}
sawine@55
   407
sawine@55
   408
\begin{frame}
sawine@55
   409
\frametitle{On-the-fly Methods}
sawine@55
   410
\framesubtitle{A bit more information about this}
sawine@55
   411
sawine@55
   412
\end{frame}
sawine@55
   413
sawine@55
   414
\begin{frame}[allowframebreaks]
sawine@55
   415
\frametitle<presentation>{Literature}    
sawine@55
   416
\begin{thebibliography}{10}    
sawine@55
   417
sawine@55
   418
\beamertemplatearticlebibitems
sawine@55
   419
\bibitem{ref:ltl&büchi}
sawine@55
   420
Madhavan Mukund.
sawine@55
   421
\newblock {\em Linear-Time Temporal Logic and B\"uchi Automata}.
sawine@55
   422
\newblock Winter School on Logic and Computer Science, Indian Statistical Institute, Calcutta, 1997.
sawine@55
   423
  
sawine@55
   424
\beamertemplatearticlebibitems
sawine@55
   425
\bibitem{ref:alternating verification}
sawine@55
   426
Moshe Y. Vardi.
sawine@55
   427
\newblock {\em Alternating Automata and Program Verification}.
sawine@55
   428
\newblock Computer Science Today, Volume 1000 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1995.
sawine@55
   429
sawine@55
   430
\beamertemplatebookbibitems
sawine@55
   431
\bibitem{ref:handbook}
sawine@55
   432
Patrick Blackburn and Frank Wolter and Johan van Benthem.
sawine@55
   433
\newblock {\em Handbook of Modal Logic}.
sawine@55
   434
\newblock 3rd Edition, Elsevier, Amsterdam, Chapter 11 P. 655-720 and Chapter 17 P. 975-989, 2007.
sawine@55
   435
sawine@55
   436
\end{thebibliography}
sawine@55
   437
\end{frame}
sawine@55
   438
sawine@55
   439
\end{document}