README
changeset 2189 c00533aec02f
parent 2119 1d8ae796f3bf
child 2213 a96a7b6c0437
equal deleted inserted replaced
2188:6c217c071b97 2189:c00533aec02f
    13 all the Isabelle object-logics, use the shell script make-all (on directory
    13 all the Isabelle object-logics, use the shell script make-all (on directory
    14 Tools).  Pure Isabelle and each of the object-logics can be built
    14 Tools).  Pure Isabelle and each of the object-logics can be built
    15 separately using the Makefiles in the respective directories; read them for
    15 separately using the Makefiles in the respective directories; read them for
    16 more information.
    16 more information.
    17 
    17 
    18 				THE MAKEFILES
    18 			HOW TO BUILD ISABELLE
    19 
    19 
    20 The Makefiles can use two different Standard ML compilers: Poly/ML version
    20 Here are brief instructions.  For more detail, read further.
    21 2.03 or later (from Abstract Hardware Ltd) and Standard ML of New Jersey
    21 
    22 (Version 0.93 or later).  Poly/ML is a commercial product and costs money,
    22 1.  Create a directory to hold the Isabelle executable images, and 
    23 but it is reliable and its database system is convenient for interactive
    23     set the environment variable ISABELLEBIN to its pathname.
    24 work.  SML of New Jersey requires lots of store and disc space, but it is
    24 
    25 free and its code sometimes runs faster.  Both compilers are perfectly
    25 2.  Set the environment variable ISABELLECOMP to the command to execute your
    26 satisfactory for running Isabelle.
    26     Standard ML compiler.
       
    27 
       
    28 3.  If using Poly/ML, set the environment variable ML_DBASE to the pathname
       
    29     of the empty Poly/ML database.
       
    30 
       
    31 4.  Change your working directory to that containing this file.
       
    32 
       
    33 5a. To build ALL logics and run examples, type "make-all" and wait up to 
       
    34     10 hours.  Standard ML of New Jersey will require up to 200M
       
    35     of disc space!  Poly/ML will require about 25M.
       
    36 
       
    37 -OR-
       
    38 5b. To build ALL logics but run no examples, type "make-all -notest".  This
       
    39     is much faster than 5a but needs just as much disc space.
       
    40 
       
    41 -OR-
       
    42 5c. To build just one logic, such as HOL, change to directory HOL and type
       
    43     "make" or "make test".  This may trigger further Makes automatically.
       
    44 
       
    45 
       
    46 			SUITABLE ML COMPILERS
       
    47 
       
    48 You use two different Standard ML compilers: Poly/ML version 2.03 or later
       
    49 (from Abstract Hardware Ltd) and Standard ML of New Jersey (Version 0.93 or
       
    50 later).  Poly/ML is a commercial product and costs money, but it is stable and
       
    51 efficient; moreover its database system is convenient for interactive work.
       
    52 SML of New Jersey requires lots of store and disc space, but it is free and
       
    53 its code sometimes runs faster.  Both compilers are perfectly satisfactory for
       
    54 running Isabelle.
       
    55 
       
    56 To obtain Poly/ML, contact Abstract Hardware Ltd, The Howell Building, Brunel
       
    57 University, Uxbridge UB8 3PH, England, email lambda@ahl.co.uk.
       
    58 
       
    59 To obtain Standard ML of New Jersey, see the Web page 
       
    60 	http://cm.bell-labs.com/cm/cs/what/smlnj/software.html
       
    61 or send email to sml-nj@research.bell-labs.com.
       
    62 
       
    63 
       
    64 			ENVIRONMENT VARIABLES
    27 
    65 
    28 The Makefiles and make-all use environment variables that you should set
    66 The Makefiles and make-all use environment variables that you should set
    29 according to your site configuration.  See file Tools/make-all-nj for an
    67 according to your site configuration.  See file Tools/make-all-nj for an
    30 example using the Bourne shell, sh.
    68 example using the Bourne shell, sh.
    31 
    69 
    35 (one starting with "/").
    73 (one starting with "/").
    36 
    74 
    37 ML_DBASE is an *absolute* pathname to the initial Poly/ML database.  It is not
    75 ML_DBASE is an *absolute* pathname to the initial Poly/ML database.  It is not
    38 required for New Jersey ML.
    76 required for New Jersey ML.
    39 
    77 
    40 ISABELLECOMP is the ML compiler, typically "poly -noDisplay" or "/bin/sml".
    78 ISABELLECOMP is the command to run ML compiler, typically "/bin/sml" or "poly
       
    79 -noDisplay -h 15000".  (The -h switch to Poly specifies an initial heap
       
    80 allocation, which you should consider increasing if a command fails with the
       
    81 message "Run out of store".)
       
    82 
    41 If, after stripping a leading pathname, the compiler begins with the letters
    83 If, after stripping a leading pathname, the compiler begins with the letters
    42 "poly" then the Makefiles assume Poly/ML.  If it begins with the letters "sml"
    84 "poly" then the Makefiles assume Poly/ML.  If it begins with the letters "sml"
    43 then they assume Standard ML of New Jersey.
    85 then they assume Standard ML of New Jersey.
    44 
       
    45 If a Poly/ML session fails with the message "Run out of store" then you
       
    46 have used up the entire heap.  If your tactic is not in a loop, allocating
       
    47 more heap at startup should correct the problem.  For instance, "poly -h
       
    48 15000" allocates sufficient heap space to rebuild all Isabelle examples.
       
    49 
    86 
    50 
    87 
    51 			 STRUCTURE OF THIS DIRECTORY
    88 			 STRUCTURE OF THIS DIRECTORY
    52 
    89 
    53 Important files include...
    90 Important files include...
    55   Pure		contains source files for Pure Isabelle (no object-logic)
    92   Pure		contains source files for Pure Isabelle (no object-logic)
    56   Provers	contains generic theorem provers: simplifier, etc.
    93   Provers	contains generic theorem provers: simplifier, etc.
    57   Tools		contains shell scripts and utilities 
    94   Tools		contains shell scripts and utilities 
    58 
    95 
    59 The following subdirectories contain object-logics:
    96 The following subdirectories contain object-logics:
    60   FOL 	  Natural deduction First-Order Logic (intuitionistic and classical)
    97   FOL 		natural deduction First-Order Logic 
    61   FOLP 	  First-Order Logic with Proof terms
    98 			(intuitionistic and classical versions)
    62   ZF	  Zermelo-Fraenkel set theory
    99   FOLP 		First-Order Logic with Proof terms
    63   HOL	  Classical Higher-Order Logic
   100   ZF		Zermelo-Fraenkel set theory
    64   LCF     Logic for Computable Functions (domain theory) built upon FOL
   101   HOL		Classical Higher-Order Logic
    65   HOLCF   A version of LCF built upon HOL
   102   LCF		Logic for Computable Functions (domain theory) built upon FOL
    66   CTT	  Constructive Type Theory
   103   HOLCF		A version of LCF built upon HOL
    67   LK	  Classical first-order sequent calculus
   104   CTT		Constructive Type Theory
    68   Modal	  The modal logics T, S4, S43
   105   Sequents	Sequent calcul: first-order logic
    69   CCL	  Martin Coen's Classical Computational Logic
   106 				modal logics T, S4, S43
    70   Cube	  Barendregt's Lambda Cube
   107 				intuitionistic linear logic
       
   108   CCL		Martin Coen's Classical Computational Logic
       
   109   Cube		Barendregt's Lambda Cube
    71 
   110 
    72 David Aspinall has written a user interface for Isabelle.  It runs under
   111 David Aspinall has written a user interface for Isabelle.  It runs under
    73 GNU Emacs.  It's useful to both novices and experts.  You can get it by ftp
   112 GNU Emacs.  It's useful to both novices and experts.  You can get it by ftp
    74 from ftp.dcs.ed.ac.uk, file /pub/da/Isamode.tar.gz.
   113 from ftp.dcs.ed.ac.uk, file /pub/da/Isamode.tar.gz.
    75 
   114 
    77 These files can be loaded in batch mode.  The commands can also be
   116 These files can be loaded in batch mode.  The commands can also be
    78 executed interactively, using the windows on your workstation.  This is a
   117 executed interactively, using the windows on your workstation.  This is a
    79 good way to get started.
   118 good way to get started.
    80 
   119 
    81 Each object-logic is built on top of Pure Isabelle, and possibly on top of
   120 Each object-logic is built on top of Pure Isabelle, and possibly on top of
    82 another object logic like FOL or LK.  A database or binary called Pure is
   121 another object logic like FOL or HOL.  A database or binary called Pure is
    83 first created, then the object-logic is loaded on top.  Poly/ML extends
   122 first created, then the object-logic is loaded on top.  Poly/ML extends
    84 Pure using its "make_database" operation.  Standard ML of New Jersey starts
   123 Pure using its "make_database" operation.  Standard ML of New Jersey starts
    85 with the Pure core image and loads the object-logic's ROOT.ML.
   124 with the Pure core image and loads the object-logic's ROOT.ML.
    86 
       
    87 		HOW TO GET A STANDARD ML COMPILER
       
    88 
       
    89 To obtain Poly/ML, contact Mike Crawley <mjc@ahl.co.uk> at Abstract
       
    90 Hardware Ltd, The Howell Building, Brunel University, Uxbridge UB8 3PH,
       
    91 England.
       
    92 
       
    93 To obtain Standard ML of New Jersey, contact David MacQueen
       
    94 <dbm@com.att.research> at AT&T Bell Laboratories, 600 Mountain Avenue,
       
    95 Murray Hill, NJ 07974, USA.  This compiler is available by FTP.  Connect to
       
    96 research.att.com; login as anonymous with your userid as password; set
       
    97 binary mode; transfer files from the directory dist/ml.
       
    98 
   125 
    99 ------------------------------------------------------------------------------
   126 ------------------------------------------------------------------------------
   100 
   127 
   101 The electronic mailing list isabelle-users@cl.cam.ac.uk provides a forum
   128 The electronic mailing list isabelle-users@cl.cam.ac.uk provides a forum
   102 for Isabelle users to discuss problems and exchange information.  To join,
   129 for Isabelle users to discuss problems and exchange information.  To join,