1 % pr(latex xsymbols symbols)
2 \documentclass[11pt,a4paper]{report}
4 \remarkstrue %TRUE causes remarks to be displayed (as marginal notes)
5 \usepackage{isabelle,isabellesym}
6 \usepackage{latexsym,verbatim,graphicx,../iman,../extra,../ttbox,comment}
7 \usepackage{proof,amsmath}
8 \usepackage{../pdfsetup} %last package!
10 %\newtheorem{theorem}{Theorem}[section]
11 \newtheorem{Exercise}{Exercise}[section]
12 \newenvironment{exercise}{\begin{Exercise}\rm}{\end{Exercise}}
13 \newcommand{\ttlbr}{\texttt{[|}}
14 \newcommand{\ttrbr}{\texttt{|]}}
15 \newcommand{\ttor}{\texttt{|}}
16 \newcommand{\ttall}{\texttt{!}}
17 \newcommand{\ttuniquex}{\texttt{?!}}
18 \newcommand{\ttEXU}{\texttt{EX!}}
19 \newcommand{\ttAnd}{\texttt{!!}}
21 \newcommand{\isasymimp}{\isasymlongrightarrow}
22 \newcommand{\isasymImp}{\isasymLongrightarrow}
23 \newcommand{\isasymFun}{\isasymRightarrow}
24 \newcommand{\isasymuniqex}{\isamath{\exists!\,}}
26 \renewenvironment{isamarkuptxt}{\begin{isamarkuptext}}{\end{isamarkuptext}}
29 \newcommand{\remark}[1]{\ifremarks\marginpar{\raggedright\footnotesize#1}\fi}
30 \newcommand{\rulename}[1]{\hfill$(\text{#1})$} %names of Isabelle rules
33 %% \newcommand{\bigisa}[1]{\texttt{\textsl{#1}}}
34 %% because \isa is too small for variables, but does it really matter?
37 %%% to index derived rls: ^\([a-zA-Z0-9][a-zA-Z0-9_]*\) \\tdx{\1}
38 %%% to index rulenames: ^ *(\([a-zA-Z0-9][a-zA-Z0-9_]*\), \\tdx{\1}
39 %%% to index constants: \\tt \([a-zA-Z0-9][a-zA-Z0-9_]*\) \\cdx{\1}
40 %%% to deverbify: \\verb|\([^|]*\)| \\ttindex{\1}
41 %% run ../sedindex logics to prepare index file
44 \newcommand{\indexboldpos}[2]{#1\indexbold{#2@#1}}
45 \newcommand{\ttindexboldpos}[2]{\texttt{#1}\indexbold{#2@\texttt{#1}}}
46 \newcommand{\isaindexbold}[1]{\isa{#1}\index{*#1|bold}}
47 \newcommand{\isaindex}[1]{\isa{#1}\index{*#1}}
51 \setcounter{secnumdepth}{2} \setcounter{tocdepth}{2} %% {secnumdepth}{2}???
55 %\binperiod %%%treat . like a binary operator
58 \title{\includegraphics[scale=.8]{isabelle_hol}
59 \\ \vspace{0.5cm} The Tutorial
61 \author{Tobias Nipkow\\
62 Technische Universit{\"a}t M{\"u}nchen \\
63 Institut f{\"u}r Informatik \\
64 \url{http://www.in.tum.de/~nipkow/}}
70 \subsubsection*{Acknowledgements}
71 This tutorial owes a lot to the constant discussions with and the valuable
72 feedback from Larry Paulson and the Isabelle group at Munich: Olaf M{\"u}ller,
73 Wolfgang Naraschewski, David von Oheimb, Leonor Prensa Nieto, Cornelia Pusch
74 and Markus Wenzel. Stefan Berghofer and Stephan Merz were also kind enough to
75 read and comment on a draft version.
81 \input{Sets/sets}\input{CTL/ctl} %these constitute ONE chapter
82 \input{Inductive/inductive}
83 \input{Advanced/advanced}
85 \chapter{Theory Presentation}
86 \chapter{Case Study: The Needhamd-Schroeder Protocol}
87 \chapter{Structured Proofs}
88 \chapter{Case Study: UNIX File-System Security}
89 %\chapter{The Tricks of the Trade}
92 \bibliographystyle{plain}
93 \bibliography{../manual}