ISABELLE-90 DISTRIBUTION DIRECTORY

This directory contains the Standard ML sources of Isabelle.  The file ROOT.ML
can be used to load the files in the correct order.  The Makefile automates the
process: read it for more information.  These files are designed to work with
D. C. J. Matthews's Poly/ML system.  It should be straightforward to adapt them
to other Standard ML compilers. 

This version uses a new parser and pretty-printer generator provided by
Tobias Nipkow.  Subdirectory EARLEY contains the sources.

January 1991: this version includes minor changes in order to be compatible
with Standard ML of New Jersey.

------------------------------------------------------------------------------
THE SYNTAX FOR VARIABLE BINDING IS INCOMPATIBLE WITH EARLIER VERSIONS.
    OLD           NEW
    %(x,y)a       %x y.a
    !(x,y)A       !x y.A
Meta-brackets are no longer required around object-level judgements.
Furthermore you may write [|A1;...;An|]==>A instead of A1==>(...An==>A).
Existential quantifiers are now called EX, not EXISTS.

Subdirectory TRANSLATE contains a shell script for translating existing
files to the new syntax.
------------------------------------------------------------------------------

These sources use the latest syntax, recently changed, for Standard ML
exceptions and modules.  They cannot be compiled on older compilers.
Please use Poly/ML v1.75 or a later version.

STRUCTURE OF THIS DIRECTORY

The top-level directory contains pure Isabelle, which has no object-logic.

The subdirectories contain object logics:
    FOL 	Natural deduction logic (intuitionistic and classical)
    CTT		Constructive Type Theory
    HOL		Classical Higher-Order Logic
    LK		Classical sequent calculus
    LK/set	Set theory (a subdirectory of LK)

All object logics include examples files (subdirectory ex).  Most of these
files can be loaded in batch mode.  The commands can also be executed
interactively, using the windows on your workstation.  This is a good way to
get started.

Building an object-logic under Poly/ML calls the function make_database, which
gives access to the pure Isabelle database.  On other implementations of
Standard ML you can perhaps copy the pure Isabelle core image, or else load the
common ROOT.ML file before loading the one on this directory.

With Standard ML of New Jersey, loading the file NEWROOT.ML creates Pure
Isabelle. The file PolyML.ML (which is loaded by NEWROOT.ML) defines a
dummy version of the structure PolyML, which contains all the special
Poly/ML functions. Most of the functions in the dummy module just print a
message when called, but this is good enough to permit the object-logics to
be compiled. You will have to write your own Makefiles.

Please send comments and bug reports to me.  While I will try to be helpful, I
can accept no responsibility for any deficiences of Isabelle or their
consequences.

Lawrence C Paulson			E-mail: lcp@cl.cam.ac.uk
Computer Laboratory 			Phone: +44-223-334600
University of Cambridge 		Fax: +44-223-334748 
Pembroke Street 
Cambridge CB2 3QG 
England


Last updated 8 March 1990

