Admin/page/index.html
author wenzelm
Fri Jan 22 17:47:46 1999 +0100 (1999-01-22)
changeset 6150 71974ec3ebfb
parent 6149 372919b37b5d
child 6411 07e95e4cfefe
permissions -rw-r--r--
tuned;
wenzelm@5790
     1
<html>
wenzelm@5790
     2
wenzelm@5790
     3
<head>
wenzelm@5794
     4
<!-- $Id$ -->
wenzelm@5790
     5
<title>Isabelle</title>
wenzelm@5795
     6
</head>
wenzelm@5790
     7
wenzelm@5790
     8
<body>
wenzelm@5790
     9
wenzelm@6148
    10
<h1>Isabelle </h1> <a href="http://isabelle.in.tum.de/logo/"><img
wenzelm@5790
    11
src="isabelle.gif" width=100 align=right alt="[Isabelle logo]"></a>
wenzelm@5790
    12
wenzelm@5790
    13
<p>
wenzelm@5790
    14
wenzelm@5790
    15
<strong>Isabelle</strong> is a popular generic theorem proving
wenzelm@5790
    16
environment developed at Cambridge University (<a
wenzelm@5790
    17
href="http://www.cl.cam.ac.uk/users/lcp/">Larry Paulson</a>) and TU
wenzelm@5790
    18
Munich (<a href="http://www.in.tum.de/~nipkow/">Tobias Nipkow</a>).
wenzelm@5790
    19
wenzelm@5790
    20
<p>
mueller@5805
    21
mueller@5805
    22
<a
mueller@5805
    23
href="http://www.cl.cam.ac.uk/Research/HVG/Isabelle/cambridge.html"><img
wenzelm@6150
    24
src="cambridge.gif" width=145 border=0 align=right
wenzelm@6150
    25
alt="[Cambridge logo]"></a> <a
wenzelm@6150
    26
href="http://isabelle.in.tum.de/munich.html"><img src="munich.gif"
wenzelm@6150
    27
width=48 border=0 align=right alt="[Munich logo]"></a> This page
wenzelm@6150
    28
provides general information on Isabelle, more specific information is
wenzelm@6150
    29
available from the local pages
wenzelm@6149
    30
wenzelm@6149
    31
<ul>
wenzelm@6149
    32
wenzelm@6149
    33
<li> <a
wenzelm@6149
    34
href="http://www.cl.cam.ac.uk/Research/HVG/Isabelle/cambridge.html"><strong>Isabelle
wenzelm@6149
    35
at Cambridge</strong></a> 
wenzelm@6149
    36
wenzelm@6149
    37
<li> <a href="http://isabelle.in.tum.de/munich.html"><strong>Isabelle
wenzelm@6149
    38
at Munich</strong></a>
wenzelm@6149
    39
wenzelm@6149
    40
</ul>
wenzelm@6150
    41
wenzelm@6149
    42
See there for information on projects done with Isabelle, mailing list
wenzelm@5807
    43
archives, research papers, the Isabelle bibliography, and Isabelle
wenzelm@5807
    44
workshops and courses.
mueller@5803
    45
mueller@5803
    46
wenzelm@5806
    47
<h2>Obtaining Isabelle</h2>
mueller@5803
    48
mueller@5803
    49
The latest version is <strong>Isabelle98-1</strong>, it is available
wenzelm@5806
    50
from several <a href="dist/">mirror sites</a>.
mueller@5803
    51
mueller@5803
    52
mueller@5803
    53
<h2>What is  Isabelle?</h2>
wenzelm@5806
    54
wenzelm@5790
    55
Isabelle can be viewed from two main perspectives.  On the one hand it
wenzelm@5790
    56
may serve as a generic framework for rapid prototyping of deductive
mueller@5803
    57
systems.  On the other hand, major existing logics like
wenzelm@5791
    58
<strong>Isabelle/HOL</strong> provide a theorem proving environment
wenzelm@5790
    59
ready to use for sizable applications.
wenzelm@5790
    60
wenzelm@5790
    61
mueller@5803
    62
<h3>Isabelle's Logics</h3>
wenzelm@5790
    63
wenzelm@5791
    64
The Isabelle distribution includes a large body of object logics and
paulson@5801
    65
other examples (see the <a href="library/">Isabelle theory
wenzelm@5791
    66
library</a>).
wenzelm@5790
    67
wenzelm@5790
    68
<dl>
wenzelm@5790
    69
wenzelm@5806
    70
<dt><a href="library/HOL/"><strong>Isabelle/HOL</strong></a><dd> is a
wenzelm@5806
    71
version of classical higher-order logic resembling that of the <A
wenzelm@5806
    72
HREF="http://www.cl.cam.ac.uk/Research/HVG/HOL/HOL.html">HOL
wenzelm@5806
    73
System</A>.
wenzelm@5790
    74
paulson@5801
    75
<dt><a href="library/HOLCF/"><strong>Isabelle/HOLCF</strong></a><dd>
paulson@5801
    76
adds Scott's Logic for Computable Functions (domain theory) to HOL.
wenzelm@5790
    77
paulson@5801
    78
<dt><a href="library/FOL/"><strong>Isabelle/FOL</strong></a><dd>
wenzelm@5806
    79
provides basic classical and intuitionistic first-order logic.  It is
wenzelm@5806
    80
polymorphic.
wenzelm@5790
    81
wenzelm@5806
    82
<dt><a href="library/ZF/"><strong>Isabelle/ZF</strong></a><dd> offers
wenzelm@5806
    83
a formulation of Zermelo-Fraenkel set theory on top of FOL.
wenzelm@5790
    84
wenzelm@5790
    85
</dl>
wenzelm@5790
    86
wenzelm@5790
    87
<p>
wenzelm@5790
    88
wenzelm@5790
    89
Isabelle/HOL is currently the best developed object logic, including
wenzelm@5790
    90
an extensive library of (concrete) mathematics, and various packages
wenzelm@5790
    91
for advanced definitional concepts (like (co-)inductive sets and
wenzelm@5790
    92
types, well-founded recursion etc.).  The distribution also includes
wenzelm@5790
    93
some large applications, for example correctness proofs of
wenzelm@5806
    94
cryptographic protocols (<a href="library/HOL/Auth/">HOL/Auth</a>) or
wenzelm@5806
    95
communication protocols (<a href="library/HOLCF/IOA/">HOLCF/IOA</a>).
wenzelm@5790
    96
wenzelm@5790
    97
<p>
wenzelm@5790
    98
wenzelm@5790
    99
Isabelle/ZF provides another starting point for applications, with a
wenzelm@5806
   100
slightly less developed library.  Its definitional packages are
wenzelm@5806
   101
similar to those of Isabelle/HOL.  Untyped ZF provides more advanced
wenzelm@5806
   102
constructions for sets than simply-typed HOL.
wenzelm@5790
   103
wenzelm@5790
   104
<p>
wenzelm@5790
   105
wenzelm@5798
   106
There are a few minor object logics that may serve as further
wenzelm@5806
   107
examples: <a href="library/CTT/">CTT</a> is an extensional version of
wenzelm@5806
   108
Martin-L&ouml;f's Type Theory, <a href="library/Cube/">Cube</a> is
wenzelm@5790
   109
Barendregt's Lambda Cube.  There are also some sequent calculus
wenzelm@5806
   110
examples under <a href="library/Sequents/">Sequents</a>, including
wenzelm@5806
   111
modal and linear logics.  Again see the <a href="library/">Isabelle
wenzelm@5806
   112
theory library</a> for other examples.
wenzelm@5790
   113
wenzelm@5790
   114
mueller@5803
   115
<h3>Defining Logics</h3>
wenzelm@5790
   116
wenzelm@5790
   117
Logics are not hard-wired into Isabelle, but formulated within
wenzelm@5790
   118
Isabelle's meta logic: <strong>Isabelle/Pure</strong>.  There are
wenzelm@5791
   119
quite a lot of syntactic and deductive tools available in generic
wenzelm@5791
   120
Isabelle.  Thus defining new logics or extending existing ones
wenzelm@5791
   121
basically works as follows:
wenzelm@5790
   122
wenzelm@5790
   123
<ol>
wenzelm@5790
   124
wenzelm@5790
   125
<li> declare concrete syntax (via mixfix grammar and syntax macros),
wenzelm@5790
   126
wenzelm@5790
   127
<li> declare abstract syntax (as higher-order constants),
wenzelm@5790
   128
wenzelm@5790
   129
<li> declare inference rules (as meta-logical propositions),
wenzelm@5790
   130
wenzelm@5800
   131
<li> instantiate generic automatic proof tools (simplifier, classical
wenzelm@5800
   132
tableau prover etc.),
wenzelm@5790
   133
wenzelm@5792
   134
<li> manually code special proof procedures (via tacticals or
wenzelm@5792
   135
hand-written ML).
wenzelm@5790
   136
wenzelm@5790
   137
</ol>
wenzelm@5790
   138
wenzelm@5798
   139
The first three steps above are fully declarative and involve no ML
wenzelm@5791
   140
programming at all.  Thus one already gets a decent deductive
wenzelm@5791
   141
environment based on primitive inferences (by employing the built-in
wenzelm@5791
   142
mechanisms of Isabelle/Pure, in particular higher-order unification
wenzelm@5791
   143
and resolution).
wenzelm@5790
   144
wenzelm@5790
   145
For sizable applications some degree of automated reasoning is
wenzelm@5790
   146
essential.  Instantiating existing tools like the classical tableau
wenzelm@5791
   147
prover involves only minimal ML-based setup.  One may also write
wenzelm@5790
   148
arbitrary proof procedures or even theory extension packages in ML,
wenzelm@5790
   149
without breaching system soundness (Isabelle follows the well-known
wenzelm@5792
   150
<em>LCF system approach</em> to achieve a secure system).
wenzelm@5790
   151
wenzelm@5806
   152
wenzelm@5806
   153
<h2>Mailing list</h2>
wenzelm@5790
   154
wenzelm@5806
   155
Use the mailing list <a href="mailto:
wenzelm@5806
   156
isabelle-users@cl.cam.ac.uk">isabelle-users@cl.cam.ac.uk</a> to
paulson@5808
   157
discuss problems and results.  
paulson@5808
   158
(Why not <A HREF="mailto:lcp@@cl.cam.ac.uk">subscribe</A>?)
paulson@5808
   159
paulson@5801
   160
wenzelm@5795
   161
</body>
wenzelm@5795
   162
wenzelm@5790
   163
</html>