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