doc-src/TutorialI/tutorial.tex
author nipkow
Fri, 15 Dec 2000 12:32:35 +0100
changeset 10676 06f390008ceb
parent 10654 458068404143
child 10885 90695f46440b
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10399
e37e123738f7 minor modifications for new Springer style
paulson
parents: 10340
diff changeset
     1
\documentclass{article}
10298
b5fe1ab860fc addition of Rules, Sets and some macros of lcp
paulson
parents: 10272
diff changeset
     2
\newif\ifremarks
10522
ed3964d1f1a4 *** empty log message ***
nipkow
parents: 10520
diff changeset
     3
\remarkstrue          %TRUE causes remarks to be displayed (as marginal notes)
10399
e37e123738f7 minor modifications for new Springer style
paulson
parents: 10340
diff changeset
     4
\usepackage{cl2emono-modified,isabelle,isabellesym}
10597
29dd6ac8c223 new package amsfonts
paulson
parents: 10543
diff changeset
     5
\usepackage{../proof,amsmath,amsfonts}
9695
ec7d7f877712 proper setup of iman.sty/extra.sty/ttbox.sty;
wenzelm
parents: 9677
diff changeset
     6
\usepackage{latexsym,verbatim,graphicx,../iman,../extra,../ttbox,comment}
8847
d6c92979fa51 use proper version of pdfsetup.sty;
wenzelm
parents: 8828
diff changeset
     7
\usepackage{../pdfsetup}    %last package!
8743
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
     8
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
     9
%\newtheorem{theorem}{Theorem}[section]
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    10
\newtheorem{Exercise}{Exercise}[section]
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    11
\newenvironment{exercise}{\begin{Exercise}\rm}{\end{Exercise}}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    12
\newcommand{\ttlbr}{\texttt{[|}}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    13
\newcommand{\ttrbr}{\texttt{|]}}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    14
\newcommand{\ttor}{\texttt{|}}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    15
\newcommand{\ttall}{\texttt{!}}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    16
\newcommand{\ttuniquex}{\texttt{?!}}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    17
\newcommand{\ttEXU}{\texttt{EX!}}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    18
\newcommand{\ttAnd}{\texttt{!!}}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    19
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    20
\newcommand{\isasymimp}{\isasymlongrightarrow}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    21
\newcommand{\isasymImp}{\isasymLongrightarrow}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    22
\newcommand{\isasymFun}{\isasymRightarrow}
10272
c02171c5fb20 tuned \isasymuniqex;
wenzelm
parents: 10236
diff changeset
    23
\newcommand{\isasymuniqex}{\isamath{\exists!\,}}
8743
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    24
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    25
\renewenvironment{isamarkuptxt}{\begin{isamarkuptext}}{\end{isamarkuptext}}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    26
10298
b5fe1ab860fc addition of Rules, Sets and some macros of lcp
paulson
parents: 10272
diff changeset
    27
%% lcp's macros
10399
e37e123738f7 minor modifications for new Springer style
paulson
parents: 10340
diff changeset
    28
\newcommand{\REMARK}[1]{\ifremarks\marginpar{\raggedright\footnotesize#1}\fi}
10298
b5fe1ab860fc addition of Rules, Sets and some macros of lcp
paulson
parents: 10272
diff changeset
    29
\newcommand{\rulename}[1]{\hfill$(\text{#1})$} %names of Isabelle rules
b5fe1ab860fc addition of Rules, Sets and some macros of lcp
paulson
parents: 10272
diff changeset
    30
\let\bigisa=\isa
b5fe1ab860fc addition of Rules, Sets and some macros of lcp
paulson
parents: 10272
diff changeset
    31
%% was previously
b5fe1ab860fc addition of Rules, Sets and some macros of lcp
paulson
parents: 10272
diff changeset
    32
%% \newcommand{\bigisa}[1]{\texttt{\textsl{#1}}} 
b5fe1ab860fc addition of Rules, Sets and some macros of lcp
paulson
parents: 10272
diff changeset
    33
%% because \isa is too small for variables, but does it really matter?
b5fe1ab860fc addition of Rules, Sets and some macros of lcp
paulson
parents: 10272
diff changeset
    34
b5fe1ab860fc addition of Rules, Sets and some macros of lcp
paulson
parents: 10272
diff changeset
    35
8743
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    36
%%% to index derived rls:  ^\([a-zA-Z0-9][a-zA-Z0-9_]*\)        \\tdx{\1}  
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    37
%%% to index rulenames:   ^ *(\([a-zA-Z0-9][a-zA-Z0-9_]*\),     \\tdx{\1}  
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    38
%%% to index constants:   \\tt \([a-zA-Z0-9][a-zA-Z0-9_]*\)     \\cdx{\1}  
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    39
%%% to deverbify:         \\verb|\([^|]*\)|     \\ttindex{\1}  
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    40
%% run    ../sedindex logics    to prepare index file
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    41
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    42
\makeindex
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    43
\newcommand{\indexboldpos}[2]{#1\indexbold{#2@#1}}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    44
\newcommand{\ttindexboldpos}[2]{\texttt{#1}\indexbold{#2@\texttt{#1}}}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    45
\newcommand{\isaindexbold}[1]{\isa{#1}\index{*#1|bold}}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    46
\newcommand{\isaindex}[1]{\isa{#1}\index{*#1}}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    47
10654
458068404143 *** empty log message ***
nipkow
parents: 10597
diff changeset
    48
\index{termination|see{total function}}
10543
8e4307d1207a *** empty log message ***
nipkow
parents: 10524
diff changeset
    49
\index{product type|see{pair}}
8e4307d1207a *** empty log message ***
nipkow
parents: 10524
diff changeset
    50
\index{tuple|see{pair}}
10654
458068404143 *** empty log message ***
nipkow
parents: 10597
diff changeset
    51
\index{*<*lex*>|see{lexicographic product}}
10543
8e4307d1207a *** empty log message ***
nipkow
parents: 10524
diff changeset
    52
8743
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    53
\underscoreoff
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    54
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    55
\setcounter{secnumdepth}{2} \setcounter{tocdepth}{2}  %% {secnumdepth}{2}???
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    56
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    57
\pagestyle{headings}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    58
%\sloppy
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    59
%\binperiod     %%%treat . like a binary operator
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    60
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    61
\begin{document}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    62
\title{\includegraphics[scale=.8]{isabelle_hol}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    63
       \\ \vspace{0.5cm} The Tutorial
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    64
       \\ --- DRAFT ---}
10340
0a380ac80e7d *** empty log message ***
nipkow
parents: 10305
diff changeset
    65
\author{Tobias Nipkow \& Lawrence Paulson\\[1ex]
10178
aecb5bf6f76f *** empty log message ***
nipkow
parents: 10171
diff changeset
    66
Technische Universit{\"a}t M{\"u}nchen \\
10340
0a380ac80e7d *** empty log message ***
nipkow
parents: 10305
diff changeset
    67
Institut f{\"u}r Informatik \\[1ex]
0a380ac80e7d *** empty log message ***
nipkow
parents: 10305
diff changeset
    68
University of Cambridge\\
0a380ac80e7d *** empty log message ***
nipkow
parents: 10305
diff changeset
    69
Computer Laboratory}
8743
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    70
\maketitle
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    71
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    72
\pagenumbering{roman}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    73
\tableofcontents
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    74
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    75
\subsubsection*{Acknowledgements}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    76
This tutorial owes a lot to the constant discussions with and the valuable
10340
0a380ac80e7d *** empty log message ***
nipkow
parents: 10305
diff changeset
    77
feedback from the Isabelle group at Munich: Olaf M{\"u}ller,
8743
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    78
Wolfgang Naraschewski, David von Oheimb, Leonor Prensa Nieto, Cornelia Pusch
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    79
and Markus Wenzel. Stefan Berghofer and Stephan Merz were also kind enough to
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    80
read and comment on a draft version.
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    81
\clearfirst
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    82
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    83
\input{basics}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    84
\input{fp}
10298
b5fe1ab860fc addition of Rules, Sets and some macros of lcp
paulson
parents: 10272
diff changeset
    85
\input{Rules/rules}
b5fe1ab860fc addition of Rules, Sets and some macros of lcp
paulson
parents: 10272
diff changeset
    86
\input{Sets/sets}\input{CTL/ctl}  %these constitute ONE chapter
10212
33fe2d701ddd *** empty log message ***
nipkow
parents: 10178
diff changeset
    87
\input{Inductive/inductive}
10676
06f390008ceb *** empty log message ***
nipkow
parents: 10654
diff changeset
    88
\input{Types/types}
9958
67f2920862c7 *** empty log message ***
nipkow
parents: 9742
diff changeset
    89
\input{Advanced/advanced}
10178
aecb5bf6f76f *** empty log message ***
nipkow
parents: 10171
diff changeset
    90
\chapter{Theory Presentation}
aecb5bf6f76f *** empty log message ***
nipkow
parents: 10171
diff changeset
    91
\chapter{Case Study: The Needhamd-Schroeder Protocol}
aecb5bf6f76f *** empty log message ***
nipkow
parents: 10171
diff changeset
    92
\chapter{Structured Proofs}
aecb5bf6f76f *** empty log message ***
nipkow
parents: 10171
diff changeset
    93
\chapter{Case Study: UNIX File-System Security}
9958
67f2920862c7 *** empty log message ***
nipkow
parents: 9742
diff changeset
    94
%\chapter{The Tricks of the Trade}
8743
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    95
\input{appendix}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    96
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    97
\bibliographystyle{plain}
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
    98
\bibliography{../manual}
8828
5be2d1745c61 improved indexing;
wenzelm
parents: 8743
diff changeset
    99
\printindex
8743
3253c6046d57 I wonder if that's all?
nipkow
parents:
diff changeset
   100
\end{document}