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, where file
syntax_def.ML contains rudimentary documentation.

------------------------------------------------------------------------------
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 file make-rulenames should be placed in a directory on the search path for
shell commands, to permit its execution on any subdirectory.

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.

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

ADDRESS UNTIL JULY 1990

Lawrence C Paulson			E-mail: lcp@lfcs.ed.ac.uk
Department of Computer Science		Phone: +44-31-667-1081
University of Edinburgh
Mayfield Road
Edinburgh EH9 3JZ
Scotland

NORMAL ADDRESS	
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 17 January 1990

