		     ISABELLE-91 DISTRIBUTION DIRECTORY


------------------------------------------------------------------------------
ISABELLE-91 IS INCOMPATIBLE WITH EARLIER VERSIONS.  For detailed
documentation of Isabelle's new type system and all other changes, please
consult the file Doc/isa-91.tex.
------------------------------------------------------------------------------


This directory contains the complete Isabelle system.  To build and test the
entire system, including all object-logics, use the shell script make-all.
Pure Isabelle and each of the object-logics can be built separately using the
Makefiles in the respective directories; read them for more information.

				THE MAKEFILES

Makefiles exist for two different Standard ML compilers.  For Poly/ML
version 1.88MSX (from Abstract Hardware Ltd), use "Makefile".  For Standard
ML of New Jersey (version 0.66 or later), use "Makefile.NJ".  Poly/ML is a
commercial product and costs money, but it is reliable and its database
system is convenient for interactive work.  SML of New Jersey requires lots
of memory and disc space, but it is free and its code runs noticeably
faster than Poly/ML's.  Both compilers are perfectly satisfactory for
running Isabelle.

The Makefiles and make-all use enviroment variables that you should set
according to your site configuration:

ISABELLEBIN: the directory to hold Poly/ML databases or New Jersey ML images.
When using Poly/ML, ISABELLEBIN needs to be a full pathname starting with
"/". The corresponding directory has to contain an initial database called
"poly_dbase".

ISABELLECOMP: the ML compiler.

ISABELLEMAKE: the Makefile to use - "Makefile" for Poly/ML and "Makefile.NJ"
for New Jersey ML. Only required for make-all.

For examples see the files make-all-poly and make-all-nj.


			 STRUCTURE OF THIS DIRECTORY


The directory Pure containes pure Isabelle, which has no object-logic.

Other important files include...
    COPYRIGHT   	Copyright notice and Disclaimer of Warranty
    make-rulenames	shell script used during Make
    make-all		shell script for building entire system
    expandshort.sh	shell script to expand "shortcuts" in a file
    Pure		source files for Pure Isabelle
    Doc			directory for documentation and the manual
    Provers		directory of theorem provers
    xlisten		shell script for running Isabelle under X
    theory-template.ML	template file for defining new theories

xlisten sets up a window running Isabelle, with a separate small "listener"
window, which keeps a log of all input lines.  This log is a useful record
of a session.

The following subdirectories contain object-logics:
    FOL 	Natural deduction logic (intuitionistic and classical)
    ZF		Zermelo-Fraenkel Set theory
    CTT		Constructive Type Theory
    HOL		Classical Higher-Order Logic
    LK		Classical sequent calculus
    Modal	The modal logics T, S4, S43
    Cube	Barendregt's Lambda Cube

Most 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.

Each object-logic is built on top of Pure Isabelle, and possibly on top of
another object logic (like FOL or LK).  A database or binary called Pure is
first created, then the object-logic is loaded on top.  Poly/ML extends
Pure using its "make_database" operation.  Standard ML of New Jersey starts
with the Pure core image and loads the object-logic's ROOT.ML.

		HOW TO GET A STANDARD ML COMPILER

To obtain Poly/ML, contact Mike Crawley <mjc@ahl.co.uk> at Abstract
Hardware Ltd, The Howell Building, Brunel University, Uxbridge UB8 3PH,
England.

To obtain Standard ML of New Jersey, contact David MacQueen
<dbm@com.att.research> at AT&T Bell Laboratories, 600 Mountain Avenue,
Murray Hill, NJ 07974, USA.  This compiler is available by FTP.  Connect to
research.att.com; login as anonymous with your userid as password; set
binary mode; transfer files from the directory dist/ml.

------------------------------------------------------------------------------

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 6 May 1992

