15226
|
1 |
\documentclass[11pt]{article}
|
|
2 |
|
|
3 |
\title{Isabelle: An Overview}
|
|
4 |
\author{Lawrence C. Paulson}
|
|
5 |
|
|
6 |
\date{October 2003}
|
|
7 |
|
|
8 |
\usepackage{basic,times,mathtime}
|
|
9 |
|
|
10 |
\makeatletter
|
|
11 |
\@ifundefined{pdfoutput}{\message{No PDF output}%
|
|
12 |
\usepackage{../url}%
|
|
13 |
\newcommand{\hfootref}[2]{#2\footnote{\url{#1}}}}%
|
|
14 |
{\message{Generating PDF output}%
|
|
15 |
\usepackage{color}\definecolor{darkblue}{rgb}{0,0,0.5}%
|
|
16 |
\usepackage[pdftex,colorlinks=true,linkcolor=darkblue,citecolor=darkblue,filecolor=darkblue,pagecolor=darkblue,urlcolor=darkblue]{hyperref} \newcommand{\hfootref}[2]{\href{#1}{#2}\footnote{\url{#1}}}}
|
|
17 |
|
|
18 |
\makeatother
|
|
19 |
|
|
20 |
\begin{document}
|
|
21 |
\maketitle
|
|
22 |
|
|
23 |
Isabelle~\cite{isa-tutorial} is a generic proof assistant. It allows mathematical formulas to be expressed in a
|
|
24 |
formal language and provides tools for proving those formulas in a
|
|
25 |
logical calculus. The main potential application in industry is
|
|
26 |
\emph{formal verification}, which includes proving the
|
|
27 |
correctness of computer hardware or software and proving
|
|
28 |
properties of computer languages and protocols. Among its research
|
|
29 |
applications are the formalization of mathematical proofs.
|
|
30 |
|
|
31 |
Compared with similar tools, Isabelle's distinguishing feature is its flexibility. Most proof assistants
|
|
32 |
are built around a single formal calculus, typically higher-order logic.
|
|
33 |
Isabelle has the capacity to
|
|
34 |
accept a variety of formal calculi. The distributed version
|
|
35 |
supports higher-order logic but also axiomatic set theory and several other
|
|
36 |
formalisms. Isabelle provides excellent notational support:
|
|
37 |
new notations can be introduced, using normal mathematical symbols.
|
|
38 |
|
|
39 |
The main limitation of all such systems is that proving theorems
|
|
40 |
requires much effort
|
|
41 |
from an expert user. Isabelle incorporates some tools to improve
|
|
42 |
the user's productivity by automating some parts of the proof process.
|
|
43 |
In particular, Isabelle's \emph{classical reasoner} can perform long
|
|
44 |
chains of reasoning steps to prove formulas. The \emph{simplifier}
|
|
45 |
can prove certain arithmetic facts and can reason about equations.
|
|
46 |
|
|
47 |
Isabelle is closely integrated with the
|
|
48 |
\hfootref{http://www.cl.cam.ac.uk/users/lcp/papers/protocols.html}{Proof General} user interface, which greatly eases the task of interacting with
|
|
49 |
Isabelle. Proof General is open-source software under the GNU General Public
|
|
50 |
License. Using Isabelle without Proof General would be difficult.
|
|
51 |
|
|
52 |
Isabelle is distributed with large theories of formalized mathematics,
|
|
53 |
including elementary number theory (for example, Gauss's law of quadratic reciprocity), analysis (basic properties of limits, derivatives and integrals) and algebra (up to Sylow's theorem). Also provided are numerous
|
|
54 |
examples arising from research into formal verification. The total size of
|
|
55 |
the distribution (program sources and documentation) is about 5.4MB.
|
|
56 |
|
|
57 |
\paragraph*{Sponsorship.}
|
|
58 |
Isabelle is a joint project between Cambridge and the Technical University
|
|
59 |
of Munich, Germany. Prof.\ Tobias Nipkow leads the German team; other significant contributors at Munich include Dr. Markus Wenzel, Dr. Gerwin Klein and Mr.\ Stefan Berghofer.
|
|
60 |
The development of Isabelle at Cambridge was funded by the following grants:
|
|
61 |
\begin{itemize}
\item \emph{Supporting Logics} (6/1986--11/1989). SERC grant GR/E0355.7
\item \emph{Logical Frameworks: Design, Implementation and Experiment} (6/1989--3/1992). ESPRIT Basic Research Action 3245
\item \emph{Types for Proofs and Programs}: ESPRIT Basic Research Action 6453 (9/1992--8/1995)
|
|
62 |
\item \emph{Combining HOL with Isabelle} (9/1992--8/1995). EPSRC grant GR/H40570
\item \emph{Mechanising Temporal Reasoning} (11/1995--4/1999). EPSRC grant reference GR/K57381
\item \emph{Authentication Logics: New Theory and Implementations} (1/1996--6/1999). EPSRC grant GR/K77051
\item \emph{Compositional Proofs of Concurrent Programs} (10/1999--6/2003). EPSRC grant GR/M75440 (RG28587)
\item \emph{Verifying Electronic Commerce Protocols} (10/2000--9/2003). EPSRC grant GR/R 01156/01 (NRAG/002)
%\item \emph{Automation for Interactive Proof} (2/2004--1/2007).
|
|
63 |
%EPSRC grant GR/S57198/01 (NRAG/071)
|
|
64 |
\end{itemize}
|
|
65 |
Lawrence Paulson was the Principal Investigator on all of these grants.
|
|
66 |
The Munich side had support from German sponsors.
|
|
67 |
\bibliographystyle{plain} \footnotesize\raggedright\frenchspacing
\bibliography{string,atp,funprog,general,isabelle,theory,crossref}
\end{document}
|