doc-src/TutorialI/preface.tex
author hoelzl
Mon, 23 Aug 2010 19:35:57 +0200
changeset 38656 d5d342611edb
parent 16306 8117e2037d3b
child 47822 34b44d28fc4b
permissions -rw-r--r--
Rewrite the Probability theory. Introduced pinfreal as real numbers with infinity. Use pinfreal as value for measures. Introduces Lebesgue Measure based on the integral in Multivariate Analysis. Proved Radon Nikodym for arbitrary sigma finite measure spaces.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11408
582433f7f618 new preface
paulson
parents:
diff changeset
     1
\chapter*{Preface}
582433f7f618 new preface
paulson
parents:
diff changeset
     2
\markboth{Preface}{Preface}
582433f7f618 new preface
paulson
parents:
diff changeset
     3
12539
368414099877 additional material
paulson
parents: 12489
diff changeset
     4
This volume is a self-contained introduction to interactive proof
16306
8117e2037d3b updating...
nipkow
parents: 14296
diff changeset
     5
in higher-order logic (HOL), using the proof assistant Isabelle. 
8117e2037d3b updating...
nipkow
parents: 14296
diff changeset
     6
It is written for potential users rather
11408
582433f7f618 new preface
paulson
parents:
diff changeset
     7
than for our colleagues in the research world.
582433f7f618 new preface
paulson
parents:
diff changeset
     8
12539
368414099877 additional material
paulson
parents: 12489
diff changeset
     9
The book has three parts.  
368414099877 additional material
paulson
parents: 12489
diff changeset
    10
\begin{itemize}
368414099877 additional material
paulson
parents: 12489
diff changeset
    11
\item 
12669
c1436070c21e \part{Elementary Techniques};
wenzelm
parents: 12646
diff changeset
    12
The first part, \textbf{Elementary Techniques},
12539
368414099877 additional material
paulson
parents: 12489
diff changeset
    13
shows how to model functional programs in higher-order logic.  Early
368414099877 additional material
paulson
parents: 12489
diff changeset
    14
examples involve lists and the natural numbers.  Most proofs
368414099877 additional material
paulson
parents: 12489
diff changeset
    15
are two steps long, consisting of induction on a chosen variable
368414099877 additional material
paulson
parents: 12489
diff changeset
    16
followed by the \isa{auto} tactic.  But even this elementary part
368414099877 additional material
paulson
parents: 12489
diff changeset
    17
covers such advanced topics as nested and mutual recursion.
368414099877 additional material
paulson
parents: 12489
diff changeset
    18
\item 
368414099877 additional material
paulson
parents: 12489
diff changeset
    19
The second part, \textbf{Logic and Sets}, presents a collection of
368414099877 additional material
paulson
parents: 12489
diff changeset
    20
lower-level tactics that you can use to apply rules selectively.  It
368414099877 additional material
paulson
parents: 12489
diff changeset
    21
also describes Isabelle/HOL's treatment of sets, functions and
368414099877 additional material
paulson
parents: 12489
diff changeset
    22
relations and explains how to define sets inductively.  One of the
368414099877 additional material
paulson
parents: 12489
diff changeset
    23
examples concerns the theory of model checking, and another is drawn
368414099877 additional material
paulson
parents: 12489
diff changeset
    24
from a classic textbook on formal languages.
368414099877 additional material
paulson
parents: 12489
diff changeset
    25
\item 
16306
8117e2037d3b updating...
nipkow
parents: 14296
diff changeset
    26
The third part, \textbf{Advanced Material}, describes a variety of other
8117e2037d3b updating...
nipkow
parents: 14296
diff changeset
    27
topics.  Among these are the real numbers, records and overloading.  Advanced
8117e2037d3b updating...
nipkow
parents: 14296
diff changeset
    28
techniques for induction and recursion are described.  A whole chapter is
8117e2037d3b updating...
nipkow
parents: 14296
diff changeset
    29
devoted to an extended example: the verification of a security protocol.
12539
368414099877 additional material
paulson
parents: 12489
diff changeset
    30
\end{itemize}
368414099877 additional material
paulson
parents: 12489
diff changeset
    31
12327
5a4d78204492 *** empty log message ***
nipkow
parents: 11547
diff changeset
    32
The typesetting relies on Wenzel's theory presentation tools.  An
5a4d78204492 *** empty log message ***
nipkow
parents: 11547
diff changeset
    33
annotated source file is run, typesetting the theory
12646
wenzelm
parents: 12641
diff changeset
    34
in the form of a \LaTeX\ source file.  This book is derived almost entirely
wenzelm
parents: 12641
diff changeset
    35
from output generated in this way.  The final chapter of Part~I explains how
wenzelm
parents: 12641
diff changeset
    36
users may produce their own formal documents in a similar fashion.
11408
582433f7f618 new preface
paulson
parents:
diff changeset
    37
12641
140241dc55e6 mention X-Symbol;
wenzelm
parents: 12630
diff changeset
    38
Isabelle's \hfootref{http://isabelle.in.tum.de/}{web site} contains links to
140241dc55e6 mention X-Symbol;
wenzelm
parents: 12630
diff changeset
    39
the download area and to documentation and other information.  Most Isabelle
140241dc55e6 mention X-Symbol;
wenzelm
parents: 12630
diff changeset
    40
sessions are now run from within David Aspinall's\index{Aspinall, David}
14296
bcba1d67f854 updated references to the now-pornographic proofgeneral.org
paulson
parents: 14179
diff changeset
    41
wonderful user interface, \hfootref{http://proofgeneral.inf.ed.ac.uk/}{Proof
12641
140241dc55e6 mention X-Symbol;
wenzelm
parents: 12630
diff changeset
    42
  General}, even together with the
13141
f4ed10eaaff8 updated X-Symbol URL;
wenzelm
parents: 12821
diff changeset
    43
\hfootref{http://x-symbol.sourceforge.net}{X-Symbol} package for XEmacs.  This
f4ed10eaaff8 updated X-Symbol URL;
wenzelm
parents: 12821
diff changeset
    44
book says very little about Proof General, which has its own documentation.
f4ed10eaaff8 updated X-Symbol URL;
wenzelm
parents: 12821
diff changeset
    45
In order to run Isabelle, you will need a Standard ML compiler.  We recommend
f4ed10eaaff8 updated X-Symbol URL;
wenzelm
parents: 12821
diff changeset
    46
\hfootref{http://www.polyml.org/}{Poly/ML}, which is free and gives the best
f4ed10eaaff8 updated X-Symbol URL;
wenzelm
parents: 12821
diff changeset
    47
performance.  The other fully supported compiler is
16306
8117e2037d3b updating...
nipkow
parents: 14296
diff changeset
    48
\hfootref{http://www.smlnj.org/index.html}{Standard ML of New Jersey}.
12539
368414099877 additional material
paulson
parents: 12489
diff changeset
    49
11408
582433f7f618 new preface
paulson
parents:
diff changeset
    50
This tutorial owes a lot to the constant discussions with and the valuable
11547
bdac4a14b350 *** empty log message ***
nipkow
parents: 11450
diff changeset
    51
feedback from the Isabelle group at Munich: Stefan Berghofer, Olaf
bdac4a14b350 *** empty log message ***
nipkow
parents: 11450
diff changeset
    52
M{\"u}ller, Wolfgang Naraschewski, David von Oheimb, Leonor Prensa Nieto,
12812
paulson
parents: 12669
diff changeset
    53
Cornelia Pusch, Norbert Schirmer and Martin Strecker. Stephan
11547
bdac4a14b350 *** empty log message ***
nipkow
parents: 11450
diff changeset
    54
Merz was also kind enough to read and comment on a draft version.  We
14179
04f905c13502 Corrections due to John Matthews
paulson
parents: 13141
diff changeset
    55
received comments from Stefano Bistarelli, Gergely Buday, John Matthews
04f905c13502 Corrections due to John Matthews
paulson
parents: 13141
diff changeset
    56
and Tanja Vos.
11408
582433f7f618 new preface
paulson
parents:
diff changeset
    57
11547
bdac4a14b350 *** empty log message ***
nipkow
parents: 11450
diff changeset
    58
The research has been funded by many sources, including the {\sc dfg} grants
16306
8117e2037d3b updating...
nipkow
parents: 14296
diff changeset
    59
NI~491/2, NI~491/3, NI~491/4, NI~491/6, {\sc bmbf} project Verisoft, the {\sc
8117e2037d3b updating...
nipkow
parents: 14296
diff changeset
    60
epsrc} grants GR/K57381, GR/K77051, GR/M75440, GR/R01156/01 GR/S57198/01 and
8117e2037d3b updating...
nipkow
parents: 14296
diff changeset
    61
by the \textsc{esprit} working groups 21900 and IST-1999-29001 (the
8117e2037d3b updating...
nipkow
parents: 14296
diff changeset
    62
\emph{Types} project).