slides/slides06.tex
author Christian Urban <christian dot urban at kcl dot ac dot uk>
Tue, 12 Nov 2013 01:53:41 +0000
changeset 126 b091e0abb894
parent 90 d1d07f05325a
child 128 4e108563716c
permissions -rw-r--r--
added
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     1
\documentclass[dvipsnames,14pt,t]{beamer}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     2
\usepackage{proof}
126
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
     3
\usepackage{beamerthemeplaincu}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
     4
%\usepackage[T1]{fontenc}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
     5
%\usepackage[latin1]{inputenc}
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     6
\usepackage{mathpartir}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     7
\usepackage{isabelle}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     8
\usepackage{isabellesym}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     9
\usepackage[absolute,overlay]{textpos}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    10
\usepackage{ifthen}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    11
\usepackage{tikz}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    12
\usepackage{courier}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    13
\usepackage{listings}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    14
\usetikzlibrary{arrows}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    15
\usetikzlibrary{positioning}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    16
\usetikzlibrary{calc}
126
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
    17
\usetikzlibrary{shapes}
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    18
\usepackage{graphicx} 
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    19
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    20
\isabellestyle{rm}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    21
\renewcommand{\isastyle}{\rm}%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    22
\renewcommand{\isastyleminor}{\rm}%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    23
\renewcommand{\isastylescript}{\footnotesize\rm\slshape}%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    24
\renewcommand{\isatagproof}{}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    25
\renewcommand{\endisatagproof}{}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    26
\renewcommand{\isamarkupcmt}[1]{#1}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    27
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    28
% Isabelle characters
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    29
\renewcommand{\isacharunderscore}{\_}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    30
\renewcommand{\isacharbar}{\isamath{\mid}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    31
\renewcommand{\isasymiota}{}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    32
\renewcommand{\isacharbraceleft}{\{}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    33
\renewcommand{\isacharbraceright}{\}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    34
\renewcommand{\isacharless}{$\langle$}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    35
\renewcommand{\isachargreater}{$\rangle$}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    36
\renewcommand{\isasymsharp}{\isamath{\#}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    37
\renewcommand{\isasymdots}{\isamath{...}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    38
\renewcommand{\isasymbullet}{\act}
126
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
    39
\newcommand{\isaliteral}[1]{}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
    40
\newcommand{\isactrlisub}[1]{\emph{\isascriptstyle${}\sb{#1}$}}
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    41
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    42
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    43
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    44
\definecolor{javared}{rgb}{0.6,0,0} % for strings
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    45
\definecolor{javagreen}{rgb}{0.25,0.5,0.35} % comments
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    46
\definecolor{javapurple}{rgb}{0.5,0,0.35} % keywords
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    47
\definecolor{javadocblue}{rgb}{0.25,0.35,0.75} % javadoc
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    48
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    49
\lstset{language=Java,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    50
	basicstyle=\ttfamily,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    51
	keywordstyle=\color{javapurple}\bfseries,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    52
	stringstyle=\color{javagreen},
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    53
	commentstyle=\color{javagreen},
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    54
	morecomment=[s][\color{javadocblue}]{/**}{*/},
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    55
	numbers=left,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    56
	numberstyle=\tiny\color{black},
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    57
	stepnumber=1,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    58
	numbersep=10pt,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    59
	tabsize=2,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    60
	showspaces=false,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    61
	showstringspaces=false}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    62
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    63
\lstdefinelanguage{scala}{
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    64
  morekeywords={abstract,case,catch,class,def,%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    65
    do,else,extends,false,final,finally,%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    66
    for,if,implicit,import,match,mixin,%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    67
    new,null,object,override,package,%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    68
    private,protected,requires,return,sealed,%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    69
    super,this,throw,trait,true,try,%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    70
    type,val,var,while,with,yield},
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    71
  otherkeywords={=>,<-,<\%,<:,>:,\#,@},
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    72
  sensitive=true,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    73
  morecomment=[l]{//},
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    74
  morecomment=[n]{/*}{*/},
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    75
  morestring=[b]",
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    76
  morestring=[b]',
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    77
  morestring=[b]"""
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    78
}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    79
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    80
\lstset{language=Scala,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    81
	basicstyle=\ttfamily,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    82
	keywordstyle=\color{javapurple}\bfseries,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    83
	stringstyle=\color{javagreen},
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    84
	commentstyle=\color{javagreen},
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    85
	morecomment=[s][\color{javadocblue}]{/**}{*/},
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    86
	numbers=left,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    87
	numberstyle=\tiny\color{black},
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    88
	stepnumber=1,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    89
	numbersep=10pt,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    90
	tabsize=2,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    91
	showspaces=false,
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    92
	showstringspaces=false}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    93
126
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
    94
%sudoku
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
    95
\newcounter{row}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
    96
\newcounter{col}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
    97
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
    98
\newcommand\setrow[9]{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
    99
        \setcounter{col}{1}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   100
        \foreach \n in {#1, #2, #3, #4, #5, #6, #7, #8, #9} {
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   101
            \edef\x{\value{col} - 0.5}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   102
            \edef\y{9.5 - \value{row}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   103
            \node[anchor=center] at (\x, \y) {\n};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   104
            \stepcounter{col}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   105
        }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   106
        \stepcounter{row}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   107
}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   108
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   109
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   110
% beamer stuff 
126
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   111
\renewcommand{\slidecaption}{APP 06, King's College London, 12 November 2013}
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   112
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   113
\newcommand{\bl}[1]{\textcolor{blue}{#1}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   114
\begin{document}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   115
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   116
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   117
\mode<presentation>{
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   118
\begin{frame}<1>[t]
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   119
\frametitle{%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   120
  \begin{tabular}{@ {}c@ {}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   121
  \\
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   122
  \LARGE Access Control and \\[-3mm] 
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   123
  \LARGE Privacy Policies (6)\\[-6mm] 
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   124
  \end{tabular}}\bigskip\bigskip\bigskip
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   125
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   126
  %\begin{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   127
  %\includegraphics[scale=1.3]{pics/barrier.jpg}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   128
  %\end{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   129
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   130
\normalsize
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   131
  \begin{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   132
  \begin{tabular}{ll}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   133
  Email:  & christian.urban at kcl.ac.uk\\
126
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   134
  Office: & S1.27 (1st floor Strand Building)\\
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   135
  Slides: & KEATS (also homework is there)\\
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   136
  \end{tabular}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   137
  \end{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   138
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   139
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   140
\end{frame}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   141
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   142
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   143
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   144
  \mode<presentation>{
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   145
  \begin{frame}[t]
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   146
  \frametitle{\Large\begin{tabular}{@ {}c@ {}}Access Control Logic\end{tabular}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   147
  
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   148
  Formulas
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   149
  
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   150
  \begin{itemize}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   151
  \item[]
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   152
  
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   153
  \begin{center}\color{blue}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   154
  \begin{tabular}[t]{rcl@ {\hspace{10mm}}l}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   155
  \isa{F} & \isa{{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3D}{\isacharequal}}} & \isa{true} \\
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   156
            & \isa{{\isaliteral{7C}{\isacharbar}}} & \isa{false} \\
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   157
            & \isa{{\isaliteral{7C}{\isacharbar}}}   & \isa{F\ {\isaliteral{5C3C616E643E}{\isasymand}}\ F} \\
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   158
            & \isa{{\isaliteral{7C}{\isacharbar}}}   & \isa{F\ {\isaliteral{5C3C6F723E}{\isasymor}}\ F} \\
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   159
            & \isa{{\isaliteral{7C}{\isacharbar}}}   & \isa{F\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ F}\\
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   160
            & \isa{{\isaliteral{7C}{\isacharbar}}}   & \isa{p\ {\isaliteral{28}{\isacharparenleft}}t\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5C3C646F74733E}{\isasymdots}}{\isaliteral{2C}{\isacharcomma}}t\isaliteral{5C3C5E697375623E}{}\isactrlisub n{\isaliteral{29}{\isacharparenright}}} \\  
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   161
            & \isa{{\isaliteral{7C}{\isacharbar}}}   & \alert{\isa{P\ says\ F}} & \textcolor{black}{``saying predicate''}\\ 
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   162
  \end{tabular}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   163
  \end{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   164
  
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   165
  \end{itemize}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   166
  
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   167
Judgements
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   168
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   169
\begin{itemize}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   170
\item[] \mbox{\hspace{9mm}}\bl{$\Gamma \vdash \text{F}$}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   171
\end{itemize}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   172
  
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   173
  \end{frame}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   174
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   175
62
Christian Urban <urbanc@in.tum.de>
parents: 61
diff changeset
   176
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   177
\mode<presentation>{
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   178
\begin{frame}[c]
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   179
\frametitle{Inference Rules}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   180
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   181
\begin{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   182
\bl{\infer{\Gamma, F\vdash F}{}}\bigskip\\
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   183
62
Christian Urban <urbanc@in.tum.de>
parents: 61
diff changeset
   184
\bl{\infer{\Gamma \vdash F_2}{\Gamma \vdash F_1 \Rightarrow F_2 \quad \Gamma \vdash F_1}}
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   185
\qquad
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   186
\bl{\infer{\Gamma \vdash F_1 \Rightarrow F_2}{F_1, \Gamma \vdash F_2}}\bigskip\\
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   187
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   188
\bl{\infer{\Gamma \vdash P\,\text{says}\, F}{\Gamma \vdash F}}\medskip\\
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   189
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   190
\bl{\infer{\Gamma \vdash P \,\text{says}\, F_2}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   191
              {\Gamma \vdash P \,\text{says}\, (F_1\Rightarrow F_2) \quad 
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   192
               \Gamma \vdash P \,\text{says}\, F_1}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   193
\end{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   194
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   195
\end{frame}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   196
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   197
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   198
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   199
\mode<presentation>{
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   200
\begin{frame}[c]
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   201
\frametitle{Proofs}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   202
60
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   203
\begin{center}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   204
\bl{
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   205
\infer{\Gamma \vdash F}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   206
         {\infer{\hspace{1cm}:\hspace{1cm}}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   207
             {\infer{\hspace{1cm}:\hspace{1cm}}{:}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   208
               &
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   209
              \infer{\hspace{1cm}:\hspace{1cm}}{:\quad :}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   210
           }}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   211
}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   212
\end{center}
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   213
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   214
\end{frame}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   215
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   216
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   217
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   218
\mode<presentation>{
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   219
\begin{frame}[c]
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   220
\frametitle{The Access Control Problem}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   221
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   222
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   223
\begin{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   224
  \begin{tikzpicture}[scale=1]
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   225
  
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   226
  \draw[line width=1mm] (-.3, -0.5) rectangle (1.5,2);
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   227
  \draw (-2.7,1) node {\begin{tabular}{l}access\\request\\ (\bl{$F$})\end{tabular}};
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   228
  \draw (4.2,1) node {\begin{tabular}{l}provable/\\not provable\end{tabular}};
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   229
  \draw (0.6,0.8) node {\footnotesize \begin{tabular}{l}AC-\\ Checker:\\ applies\\ inference\\ rules\end{tabular}};
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   230
 
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   231
  \draw[red, ->, line width = 2mm] (1.7,1) -- (2.7,1); 
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   232
  \draw[red,<-, line width = 2mm] (-0.6,1) -- (-1.6,1);
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   233
  \draw[red, <-, line width = 3mm] (0.6,2.2) -- (0.6,3.2); 
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   234
  
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   235
  \draw (0.6,4) node {\begin{tabular}{l}\large Access Policy (\bl{$\Gamma$})\end{tabular}};
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   236
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   237
  \end{tikzpicture}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   238
\end{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   239
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   240
\end{frame}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   241
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   242
     
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   243
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   244
  \mode<presentation>{
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   245
  \begin{frame}[c]
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   246
  \frametitle{}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   247
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   248
  Recall the following scenario:
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   249
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   250
  \begin{itemize}
60
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   251
  \item If \textcolor{blue}{Admin} says that \textcolor{blue}{\isa{file\isaliteral{5C3C5E697375623E}{} {}}} 
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   252
  should be deleted, then this file must be deleted.
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   253
  \item \textcolor{blue}{Admin} trusts \textcolor{blue}{Bob} to decide whether 
60
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   254
  \textcolor{blue}{\isa{file\isaliteral{5C3C5E697375623E}{}}} should be deleted.
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   255
  \item \textcolor{blue}{Bob} wants to delete \textcolor{blue}{\isa{file\isaliteral{5C3C5E697375623E}{}}}.
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   256
  \end{itemize}\bigskip
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   257
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   258
  \small
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   259
  \textcolor{blue}{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{3D}{\isacharequal}}}\small\begin{tabular}{l}
60
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   260
  \isa{{\isaliteral{28}{\isacharparenleft}}Admin\ says\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}},\\
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   261
  \isa{{\isaliteral{28}{\isacharparenleft}}Admin\ says\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{28}{\isacharparenleft}}Bob\ says\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}},\\
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   262
  \isa{Bob\ says\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}}\\
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   263
  \end{tabular}}\medskip
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   264
60
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   265
  \textcolor{blue}{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}}}
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   266
  \end{frame}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   267
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   268
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   269
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   270
\mode<presentation>{
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   271
\begin{frame}[c]
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   272
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   273
How to prove \bl{$\Gamma \vdash F$}?\bigskip\bigskip
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   274
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   275
\begin{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   276
\Large \bl{\infer{\Gamma, F\vdash F}{}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   277
\end{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   278
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   279
\end{frame}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   280
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   281
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   282
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   283
\mode<presentation>{
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   284
\begin{frame}[c]
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   285
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   286
\begin{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   287
\Large 
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   288
\bl{\infer{\Gamma \vdash F_1 \Rightarrow F_2}{F_1, \Gamma \vdash F_2}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   289
\end{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   290
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   291
\end{frame}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   292
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   293
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   294
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   295
\mode<presentation>{
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   296
\begin{frame}[c]
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   297
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   298
\begin{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   299
\Large 
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   300
\bl{\infer{\Gamma \vdash P \,\text{says}\, F}{\Gamma \vdash F}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   301
\end{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   302
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   303
\end{frame}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   304
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   305
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   306
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   307
\mode<presentation>{
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   308
\begin{frame}[c]
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   309
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   310
\begin{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   311
\Large 
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   312
\bl{\infer{\Gamma \vdash F_1 \vee F_2}{\Gamma \vdash F_1}}\qquad
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   313
\bl{\infer{\Gamma \vdash F_1 \vee F_2}{\Gamma \vdash F_2}}\
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   314
\end{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   315
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   316
\end{frame}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   317
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   318
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   319
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   320
\mode<presentation>{
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   321
\begin{frame}[c]
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   322
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   323
\begin{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   324
\Large 
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   325
\bl{\infer{\Gamma \vdash F_1 \wedge F_2}{\Gamma \vdash F_1 \quad \Gamma \vdash F_2}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   326
\end{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   327
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   328
\end{frame}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   329
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   330
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   331
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   332
\mode<presentation>{
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   333
\begin{frame}[t]
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   334
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   335
I want to prove \bl{$\Gamma \vdash \text{Pred}$}\bigskip\bigskip\pause
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   336
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   337
\begin{enumerate}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   338
\item I found that \bl{$\Gamma$} contains the assumption \bl{$F_1 \Rightarrow F_2$}\bigskip\pause
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   339
\item If I can prove \bl{$\Gamma \vdash F_1$},\pause{} then I can prove
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   340
\begin{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   341
\bl{$\Gamma \vdash F_2$}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   342
\end{center}\bigskip\pause
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   343
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   344
\item So better I try to prove \bl{$\Gamma \vdash \text{Pred}$} with the additional assumption
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   345
\bl{$F_2$}.\bigskip
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   346
\begin{center}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   347
\bl{$F_2, \Gamma \vdash \text{Pred}$}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   348
\end{center}
60
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   349
\end{enumerate}
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   350
60
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   351
\only<4>{
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   352
\begin{textblock}{11}(1,10.5)
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   353
\bl{\infer{\Gamma\vdash F_2}{\Gamma\vdash F_1\Rightarrow F_2 & \Gamma\vdash F_1}}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   354
\end{textblock}}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   355
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   356
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   357
\end{frame}}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   358
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
60
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   359
\newcommand{\dn}{\stackrel{\mbox{\scriptsize def}}{=}}% for definitions
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   360
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   361
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   362
\begin{frame}[c]
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   363
60
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   364
\begin{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   365
\item \bl{$P$} is entitled to do \bl{$F$}\smallskip\\ 
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   366
\bl{$P \,\text{controls}\, F \,\dn\, (P\,\text{says}\, F) \Rightarrow F$}\medskip
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   367
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   368
\begin{center}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   369
\bl{\infer{\Gamma \vdash F}{\Gamma \vdash P\,\text{controls}\, F & \Gamma \vdash P\,\text{says}\,F}}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   370
\end{center}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   371
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   372
\item \bl{$P$} speaks for \bl{$Q$}\smallskip\\
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   373
\bl{$P \mapsto Q \,\dn\, \forall F. (P\,\text{says}\, F) \Rightarrow (Q \,\text{says}\,F)$}\medskip
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   374
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   375
\begin{center}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   376
\bl{\infer{\Gamma \vdash Q\,\text{says}\,F}{\Gamma \vdash P\mapsto Q & \Gamma \vdash P\,\text{says}\,F}}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   377
\medskip\\
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   378
\bl{\infer{\Gamma \vdash P\,\text{controls}\,F}{\Gamma \vdash P\mapsto Q & \Gamma \vdash Q\,\text{controls}\,F}}\\
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   379
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   380
\end{center}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   381
\end{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   382
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   383
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   384
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   385
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   386
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   387
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   388
\begin{frame}[c]
126
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   389
\frametitle{Sudoku}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   390
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   391
\begin{tikzpicture}[scale=.5]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   392
  \begin{scope}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   393
    \draw (0, 0) grid (9, 9);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   394
    \draw[very thick, scale=3] (0, 0) grid (3, 3);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   395
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   396
    \setcounter{row}{1}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   397
    \setrow { }{2}{ }  {5}{ }{1}  { }{9}{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   398
    \setrow {8}{ }{ }  {2}{ }{3}  { }{ }{6}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   399
    \setrow { }{3}{ }  { }{6}{ }  { }{7}{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   400
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   401
    \setrow { }{ }{1}  { }{ }{ }  {6}{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   402
    \setrow {5}{4}{ }  { }{ }{ }  { }{1}{9}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   403
    \setrow { }{ }{2}  { }{ }{ }  {7}{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   404
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   405
    \setrow { }{9}{ }  { }{3}{ }  { }{8}{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   406
    \setrow {2}{ }{ }  {8}{ }{4}  { }{ }{7}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   407
    \setrow { }{1}{ }  {9}{ }{7}  { }{6}{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   408
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   409
    \fill[red, fill opacity=0.4] (4,0) rectangle (5,9);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   410
    \fill[red, fill opacity=0.4] (0,5) rectangle (9,6);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   411
    \fill[red!50, fill opacity=0.4] (3,3) rectangle (4,5);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   412
    \fill[red!50, fill opacity=0.4] (5,3) rectangle (6,5);  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   413
    \node[gray, anchor=center] at (4.5, -0.5) {columns};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   414
    \node[gray, rotate=90, anchor=center] at (-0.6, 4.5, -0.5) {rows};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   415
    \node[gray, anchor=center] at (4.5, 4.5) {box};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   416
  \end{scope}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   417
  \end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   418
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   419
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   420
\begin{textblock}{7}(9,3)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   421
\begin{enumerate}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   422
\item {\bf Row-Column:} each cell, must contain exactly one number
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   423
\item {\bf Row-Number:} each row must contain each number exactly once
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   424
\item {\bf Column-Number:} each column must contain each number exactly once
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   425
\item {\bf Box-Number:} each box must contain each number exactly once
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   426
\end{enumerate}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   427
\end{textblock}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   428
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   429
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   430
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   431
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   432
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   433
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   434
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   435
\mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   436
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   437
\frametitle{Solving Sudokus}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   438
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   439
\begin{tikzpicture}[scale=.5]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   440
  \begin{scope}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   441
    \draw (0, 0) grid (9, 9);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   442
    \draw[very thick, scale=3] (0, 0) grid (3, 3);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   443
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   444
    \setcounter{row}{1}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   445
    \setrow { }{ }{ }  {7}{ }{ }  { }{5}{8}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   446
    \setrow {}{5}{6}  {2}{1}{8}  {7}{9}{3}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   447
    \setrow { }{ }{ }  { }{ }{ }  {1}{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   448
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   449
    \setrow { }{ }{ }  { }{ }{ }  { }{8}{1}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   450
    \setrow { }{ }{ }  {3}{7}{6}  { }{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   451
    \setrow {9}{6}{ }  { }{ }{ }  { }{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   452
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   453
    \setrow { }{ }{5}  { }{3}{ }  { }{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   454
    \setrow { }{ }{4}  { }{2}{1}  {8}{3}{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   455
    \setrow {8}{7}{ }  { }{ }{3}  { }{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   456
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   457
    \fill[red, fill opacity=0.4] (0,7) rectangle (1,8);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   458
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   459
  \end{scope}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   460
  \end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   461
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   462
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   463
\begin{textblock}{6}(9,6)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   464
{\bf single position rules}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   465
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   466
\bl{\infer{4\;\text{in empty position}}{\{1..9\} - \{4\}\;\text{in one row}}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   467
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   468
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   469
\onslide<2->{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   470
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   471
\bl{\infer{x\;\text{in empty position}}{\{1..9\} - \{x\}\;\text{in one column}}}\medskip\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   472
\bl{\infer{x\;\text{in empty position}}{\{1..9\} - \{x\}\;\text{in one box}}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   473
\end{center}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   474
\end{textblock}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   475
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   476
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   477
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   478
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   479
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   480
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   481
\mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   482
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   483
\frametitle{Solving Sudokus}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   484
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   485
\begin{tikzpicture}[scale=.5]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   486
  \begin{scope}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   487
    \draw (0, 0) grid (9, 9);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   488
    \draw[very thick, scale=3] (0, 0) grid (3, 3);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   489
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   490
    \setcounter{row}{1}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   491
    \setrow { }{ }{ }  {7}{ }{ }  {\alert{\footnotesize 2}}{5}{8}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   492
    \setrow {}{5}{6}  {2}{1}{8}  {7}{9}{3}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   493
    \setrow { }{ }{ }  { }{ }{ }  {1}{\alert{\footnotesize 2}}{\alert{\footnotesize 2}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   494
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   495
    \setrow { }{ }{ }  { }{ }{ }  { }{8}{1}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   496
    \setrow { }{ }{ }  {3}{7}{6}  { }{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   497
    \setrow {9}{6}{ }  { }{ }{ }  { }{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   498
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   499
    \setrow { }{ }{5}  { }{3}{ }  { }{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   500
    \setrow { }{ }{4}  { }{2}{1}  {8}{3}{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   501
    \setrow {8}{7}{ }  { }{ }{3}  { }{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   502
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   503
  \end{scope}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   504
  \end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   505
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   506
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   507
\begin{textblock}{6}(7.5,6)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   508
{\bf candidate rules}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   509
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   510
\bl{\infer{x\;\text{candidate in empty positions}}{X - \{x\}\;\text{in one box} & X \subseteq \{1..9\}}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   511
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   512
\end{textblock}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   513
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   514
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   515
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   516
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   517
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   518
\mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   519
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   520
\frametitle{Solving Sudokus}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   521
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   522
\begin{tikzpicture}[scale=.5]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   523
  \begin{scope}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   524
    \draw (0, 0) grid (9, 9);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   525
    \draw[very thick, scale=3] (0, 0) grid (3, 3);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   526
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   527
    \setcounter{row}{1}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   528
    \setrow { }{ }{ }  {7}{ }{ }  {\alert{\footnotesize 2}}{5}{8}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   529
    \setrow {\alert{4}}{5}{6}  {2}{1}{8}  {7}{9}{3}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   530
    \setrow { }{ }{ }  { }{ }{ }  {1}{\alert{\footnotesize 2}}{\alert{\footnotesize 2}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   531
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   532
    \setrow { }{ }{ }  { }{ }{ }  { }{8}{1}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   533
    \setrow { }{ }{ }  {3}{7}{6}  { }{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   534
    \setrow {9}{6}{ }  { }{ }{ }  { }{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   535
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   536
    \setrow { }{ }{5}  { }{3}{ }  { }{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   537
    \setrow { }{ }{4}  { }{2}{1}  {8}{3}{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   538
    \setrow {8}{7}{ }  { }{ }{3}  { }{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   539
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   540
  \end{scope}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   541
  \end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   542
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   543
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   544
\begin{textblock}{6}(7.5,6)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   545
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   546
\bl{\infer{4\;\text{in empty position}}{\{1..9\} - \{4\}\;\text{in one row}}}\bigskip\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   547
\bl{\infer{2\;\text{candidate in empty positions}}{X - \{2\}\;\text{in one box} & X \subseteq \{1..9\}}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   548
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   549
\end{textblock}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   550
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   551
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   552
\begin{textblock}{3}(13.5,6.8)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   553
  \begin{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   554
  \onslide<1>{\node at (0,0) [single arrow, shape border rotate=270, fill=red,text=white]{\mbox{\alert{a}}};}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   555
  \onslide<2>{\node at (0,0) [single arrow, shape border rotate=90, fill=red,text=white]{\mbox{\alert{a}}};}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   556
  \end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   557
\end{textblock}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   558
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   559
\begin{textblock}{3}(14.5,9.3)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   560
  \begin{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   561
  \onslide<1>{\node at (0,0) [single arrow, shape border rotate=270, fill=red,text=white]{\mbox{\alert{a}}};}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   562
  \onslide<2>{\node at (0,0) [single arrow, shape border rotate=90, fill=red,text=white]{\mbox{\alert{a}}};}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   563
  \end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   564
\end{textblock}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   565
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   566
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   567
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   568
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   569
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   570
\mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   571
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   572
\frametitle{Solving Sudokus}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   573
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   574
\begin{tikzpicture}[scale=.5]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   575
  \begin{scope}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   576
    \draw (0, 0) grid (9, 9);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   577
    \draw[very thick, scale=3] (0, 0) grid (3, 3);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   578
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   579
    \setcounter{row}{1}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   580
    \setrow { }{ }{ }  {7}{ }{ }  { }{5}{8}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   581
    \setrow { }{5}{6}  {2}{1}{8}  {7}{9}{3}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   582
    \setrow { }{ }{ }  { }{ }{ }  {1}{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   583
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   584
    \setrow { }{ }{ }  { }{ }{ }  { }{8}{1}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   585
    \setrow { }{ }{ }  {3}{7}{6}  { }{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   586
    \setrow {9}{6}{ }  { }{ }{ }  { }{ }{ \alert{2}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   587
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   588
    \setrow { }{ }{5}  { }{3}{ }  { }{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   589
    \setrow { }{ }{4}  { }{2}{1}  {8}{3}{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   590
    \setrow {8}{7}{ }  { }{ }{3}  { }{ }{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   591
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   592
  \end{scope}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   593
  \end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   594
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   595
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   596
\begin{textblock}{6}(7.5,6)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   597
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   598
\bl{\infer{2\;\text{candidate}}{X - \{2\}\;\text{in one box} & X \subseteq \{1..9\}}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   599
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   600
\end{textblock}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   601
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   602
\begin{textblock}{3}(14.5,8.3)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   603
  \begin{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   604
  \onslide<1>{\node at (0,0) [single arrow, shape border rotate=90, fill=red,text=white]{\mbox{\alert{a}}};}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   605
  \end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   606
\end{textblock}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   607
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   608
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   609
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   610
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   611
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   612
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   613
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   614
\mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   615
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   616
\frametitle{Sudoku}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   617
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   618
Are there sudokus that cannot be solved?\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   619
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   620
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   621
\begin{tikzpicture}[scale=.5]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   622
  \begin{scope}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   623
    \draw (0, 0) grid (9, 9);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   624
    \draw[very thick, scale=3] (0, 0) grid (3, 3);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   625
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   626
    \setcounter{row}{1}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   627
    \setrow {1}{2}{3}  {4}{5}{6}  {7}{8}{ }
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   628
    \setrow { }{ }{ }  { }{ }{ }  { }{ }{2}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   629
    \setrow { }{ }{ }  { }{ }{ }  { }{ }{3}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   630
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   631
    \setrow { }{ }{ }  { }{ }{ }  { }{ }{4}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   632
    \setrow { }{ }{ }  { }{ }{ }  { }{ }{5}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   633
    \setrow { }{ }{ }  { }{ }{ }  { }{ }{6}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   634
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   635
    \setrow { }{ }{ }  { }{ }{ }  { }{ }{7}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   636
    \setrow { }{ }{ }  { }{ }{ }  { }{ }{8}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   637
    \setrow { }{ }{ }  { }{ }{ }  { }{ }{9}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   638
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   639
  \end{scope}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   640
  \end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   641
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   642
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   643
Sometimes no rules apply at all....unsolvable sudoku.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   644
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   645
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   646
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   647
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   648
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   649
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   650
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   651
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   652
\mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   653
\begin{frame}[c]
60
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   654
\frametitle{Protocol Specifications}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   655
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   656
The Needham-Schroeder Protocol:
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   657
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   658
\begin{center}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   659
\begin{tabular}{@ {\hspace{-7mm}}l@{\hspace{2mm}}r@ {\hspace{1mm}}l}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   660
Message 1 & \bl{$A \rightarrow S :$} & \bl{$A, B, N_A$}\\
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   661
Message 2 & \bl{$S \rightarrow A :$} & \bl{$\{N_A, B, K_{AB},\{K_{AB}, A\}_{K_{BS}} \}_{K_{AS}}$}\\
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   662
Message 3 & \bl{$A \rightarrow B :$} & \bl{$\{K_{AB}, A\}_{K_{BS}} $}\\
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   663
Message 4 & \bl{$B \rightarrow A :$} & \bl{$\{N_B\}_{K_{AB}}$}\\
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   664
Message 5 & \bl{$A \rightarrow B :$} & \bl{$\{N_B-1\}_{K_{AB}}$}\\
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   665
\end{tabular}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   666
\end{center}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   667
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   668
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   669
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   670
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   671
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   672
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   673
\begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   674
\frametitle{Trusted Third Party}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   675
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   676
Simple protocol for establishing a secure connection via a mutually
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   677
trusted 3rd party (server):
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   678
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   679
\begin{center}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   680
\begin{tabular}{@ {\hspace{-7mm}}l@{\hspace{2mm}}r@ {\hspace{1mm}}l}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   681
Message 1 & \bl{$A \rightarrow S :$} & \bl{$A, B$}\\
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   682
Message 2 & \bl{$S \rightarrow A :$} & \bl{$\{K_{AB}\}_{K_{AS}}$} and \bl{$\{\{K_{AB}\}_{K_{BS}} \}_{K_{AS}}$}\\
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   683
Message 3 & \bl{$A \rightarrow B :$} & \bl{$\{K_{AB}\}_{K_{BS}} $}\\
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   684
Message 4 & \bl{$A \rightarrow B :$} & \bl{$\{m\}_{K_{AB}}$}\\
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   685
\end{tabular}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   686
\end{center}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   687
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   688
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   689
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   690
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   691
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   692
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   693
  \begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   694
  \frametitle{Sending Messages}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   695
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   696
  \begin{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   697
  \item Alice sends a message \bl{$m$}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   698
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   699
  \bl{Alice says $m$}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   700
  \end{center}\medskip\pause
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   701
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   702
  \item Alice sends an encrypted message \bl{$m$}\\ (with key \bl{$K$})
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   703
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   704
  \bl{Alice says $\{m\}_K$}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   705
  \end{center}\medskip\pause
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   706
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   707
  \item Decryption of Alice's message\smallskip
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   708
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   709
  \bl{\mbox{\infer{\Gamma \vdash \text{Alice}\;\text{says}\;m}
62
Christian Urban <urbanc@in.tum.de>
parents: 61
diff changeset
   710
              {\Gamma \vdash \text{Alice}\;\text{says}\;\{m\}_K & \Gamma \vdash \text{Alice}\,\text{says}\,K}}}
60
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   711
  \end{center}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   712
  \end{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   713
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   714
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   715
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   716
  
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   717
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   718
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   719
  \begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   720
  \frametitle{Encryption}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   721
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   722
  \begin{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   723
  \item Encryption of a message\smallskip
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   724
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   725
  \bl{\mbox{\infer{\Gamma \vdash \text{Alice}\;\text{says}\;\{m\}_K}
62
Christian Urban <urbanc@in.tum.de>
parents: 61
diff changeset
   726
              {\Gamma \vdash \text{Alice}\;\text{says}\;m & \Gamma \vdash \text{Alice}\,\text{says}\,K}}}
60
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   727
  \end{center}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   728
  \end{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   729
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   730
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   731
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
   732
  
61
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   733
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   734
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   735
  \begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   736
  \frametitle{Public/Private Keys}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   737
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   738
  \begin{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   739
  \item Bob has a private and public key: \bl{$K_{Bob}^{pub}$}, \bl{$K_{Bob}^{priv}$}\bigskip
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   740
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   741
  \bl{\mbox{\infer{\Gamma \vdash \text{Alice}\;\text{says}\;m}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   742
              {\Gamma \vdash \text{Alice}\;\text{says}\;\{m\}_{K_{Bob}^{pub}} & 
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   743
               \Gamma \vdash K_{Bob}^{priv}}}}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   744
  \end{center}\bigskip\pause
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   745
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   746
  \item this is {\bf not} a derived rule! 
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   747
  \end{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   748
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   749
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   750
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   751
  
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   752
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   753
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   754
  \begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   755
  \frametitle{Trusted Third Party}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   756
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   757
  \begin{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   758
  \item Alice calls Sam for a key to communicate with Bob
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   759
  \item Sam responds with a key that Alice can read and a key Bob can read (pre-shared)
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   760
  \item Alice sends the message encrypted with the key and the second key it recieved
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   761
  \end{itemize}\bigskip
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   762
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   763
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   764
  \bl{\begin{tabular}{lcl}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   765
  $A$ sends $S$ &:& $\textit{Connect}(A,B)$\\
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   766
  $S$ sends $A$ &:& $\{K_{AB}\}_{K_{AS}}$ \textcolor{black}{and} $\{\{K_{AB}\}_{K_{BS}}\}_{K_{AS}}$\\
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   767
  $A$ sends $B$ &:& $\{K_{AB}\}_{K_{BS}}$\\
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   768
  $A$ sends $B$ &:& $\{m\}_{K_{AB}}$
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   769
  \end{tabular}}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   770
  \end{center}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   771
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   772
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   773
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   774
  
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   775
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   776
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   777
  \begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   778
  \frametitle{Sending Rule}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   779
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   780
  \bl{\begin{center}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   781
  \mbox{\infer{\Gamma \vdash Q \;\textit{says}\; F}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   782
              {\Gamma \vdash P \;\textit{says}\; F & \Gamma \vdash P \;\textit{sends}\; Q : F}}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   783
  \end{center}}\bigskip\pause
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   784
  
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   785
  \bl{$P \,\text{sends}\, Q : F \dn$}\\
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   786
  \hspace{6mm}\bl{$(P \,\text{says}\, F) \Rightarrow (Q \,\text{says}\, F)$}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   787
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   788
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   789
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   790
  
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   791
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   792
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   793
  \begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   794
  \frametitle{Trusted Third Party}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   795
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   796
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   797
  \bl{\begin{tabular}{l}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   798
  $A$ sends $S$ : $\textit{Connect}(A,B)$\\  
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   799
  \bl{$S \,\text{says}\, (\textit{Connect}(A,B) \Rightarrow$}\\ 
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   800
  \hspace{2.5cm}\bl{$\{K_{AB}\}_{K_{AS}} \wedge 
62
Christian Urban <urbanc@in.tum.de>
parents: 61
diff changeset
   801
  \{\{K_{AB}\}_{K_{BS}}\}_{K_{AS}})$}\\
61
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   802
 $S$ sends $A$ : $\{K_{AB}\}_{K_{AS}}$ \bl{$\wedge$} $\{\{K_{AB}\}_{K_{BS}}\}_{K_{AS}}$\\
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   803
  $A$ sends $B$ : $\{K_{AB}\}_{K_{BS}}$\\
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   804
  $A$ sends $B$ : $\{m\}_{K_{AB}}$
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   805
  \end{tabular}}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   806
  \end{center}\bigskip\pause
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   807
  
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   808
  
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   809
  \bl{$\Gamma \vdash B \,\text{says} \, m$}?
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   810
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 60
diff changeset
   811
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      
59
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   812
\end{document}
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   813
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   814
%%% Local Variables:  
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   815
%%% mode: latex
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   816
%%% TeX-master: t
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   817
%%% End: 
8b44bd114292 added slides
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   818