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