General
Isabelle runs on common Unix systems (such as Linux or Mac OS), and Windows with Cygwin. We provide ready-to-use binary packages for the most common platforms.
A practically usable Isabelle system consists of the following components:
- A suitable Standard ML environment, which usually means Poly/ML. The latest Poly/ML 5.2.1 works on a broad range of platforms and provides native multicore support for parallel processing of theories and proofs.
- The Isabelle system itself (source distribution), including the desired object logics (e.g. HOL, HOL-Nominal).
- The Proof General user interface with a working version of Emacs (e.g. GNU Emacs 21, 22, 23, or XEmacs 21.4.x with Mule/Sumo, but not XEmacs 21.5.x beta). Picking the right Emacs version is the greatest challenge in running Isabelle Proof General!
Optional extensions:
- Document preparation requires a full LaTeX installation.
- Graph browsing depends on a Java runtime environment (version 1.4 or later).
- The Sledgehammer tool can work with external automatic theorem provers that are installed locally, or with remote provers via System on TPTP.
See below for further system-specific instructions. For more exotic platforms Isabelle needs to be compiled manually, see also INSTALL.
Linux
Installation of Isabelle/HOL on Linux (x86 and x86_64) works by downloading and unpacking the relevant packages. In the subsequent example the installation location is /usr/local, but any other directory works as well:
- tar -C /usr/local -xzf Isabelle2009.tar.gz
- tar -C /usr/local -xzf ProofGeneral.tar.gz
- tar -C /usr/local -xzf polyml_x86-linux.tar.gz
- tar -C /usr/local -xzf HOL_x86-linux.tar.gz
Normally, the default settings of Isabelle should be sufficient for invoking Isabelle Proof General like this:
- /usr/local/Isabelle/bin/isabelle emacs
- /usr/local/Isabelle/bin/isabelle emacs -p emacs22-gtk
The X-Symbol package is already included in Proof General, but needs to be enabled separately: use the command line option -x true, or the Options menu in Proof General.
If all fails, Isabelle may also be run without Proof General, via the plain tty interface as follows (using CTRL-D to exit):
- /usr/local/Isabelle/bin/isabelle tty
The above x86 binaries also work 64bit Linux, but are restricted to 32bit mode; native x86_64 platform support requires manual compilation of Isabelle.
Warning: Pre-packaged versions of Isabelle, Proof General, and Poly/ML floating through the Net as deb, rpm, port etc. are often outdated and rarely work as advertized. Even XEmacs is better compiled manually these days -- the packages provided for SuSE, Ubuntu, and Debian are mostly broken.
Mac OS X (Darwin)
Isabelle works well on Mac OS X 10.4 (Tiger) and 10.5 (Leopard), although there are several installation options.
Option 1: Application bundle
The following disk image contains an application bundle (universal binary) with everything required for Isabelle/HOL:
Isabelle.dmg.gz | 138.4 MB |
The Isabelle.app
bundle can be placed into the /Applications
directory and started as usual. The included Emacs version is native on Mac OS, which means old-style X-Symbol mode does not work, but Unicode Tokens are available via the Options menu in Proof General.
Note that the main Isabelle distribution is hidden inside the app
, which is relevant when installing further images. E.g. like this via the Terminal application:
- tar -C /Applications/Isabelle.app/Contents/Resources -xzf HOL-Nominal_x86-darwin.tar.gz
Option 2: Manual installation with native Emacs
Manual installation is analogous to Linux and works via the Terminal application. The following example is for Intel Macs:
- tar -C /usr/local -xzf Isabelle2009.tar.gz
- tar -C /usr/local -xzf ProofGeneral.tar.gz
- tar -C /usr/local -xzf polyml_x86-darwin.tar.gz
- tar -C /usr/local -xzf HOL_x86-darwin.tar.gz
At that point, Isabelle can already be run in text mode, e.g. like this (using CTRL-D to exit):
- /usr/local/Isabelle/bin/isabelle tty
- /usr/local/Isabelle/bin/isabelle emacs
A more realistic working Isabelle environment can be based on Carbon Emacs, which merely needs to be placed into the /Applications
directory and is then invoked from the terminal like this:
- /usr/local/Isabelle/bin/isabelle emacs -p /Applications/Emacs.app/Contents/MacOS/Emacs
Aquamacs Emacs works as well, but the spaces within the file name /Applications/Aquamacs Emacs.app/Contents/MacOS/Aquamacs Emacs
need to be eliminated first, by renaming this directory and file name manually.
Option 3: Manual installation with XEmacs
This alternative, more classic installation, requires the following preliminaries:
- The X11 implementation for Mac OS, which is part of the Apple development tools.
- A version of GNU Emacs or XEmacs that works with X11, such as XEmacs 21.4.x from MacPorts, which may be installed from the terminal as follows:
- sudo port install xemacs
tar.gz
packages as for option 2 above, Isabelle Proof General can be invoked like this:
- /usr/local/Isabelle/bin/isabelle emacs -p xemacs
Windows (Cygwin)
Isabelle also works on Windows thanks to the excellent Posix API emulation of Cygwin. After downloading and running setup.exe, the following Cygwin packages need to be installed:
- make
- perl
- tetex
- tetex-extra
- xemacs-mule-sumo
- xemacs-sumo
- xinit
- xpdf
Note that this selection has been carefully chosen in order to pull in a much larger collection via implicit dependencies. Now installation on Cygwin is analogous to Linux. The following should be executed within the Cygwin shell:
- tar -C /usr/local -xzf Isabelle2009.tar.gz
- tar -C /usr/local -xzf ProofGeneral.tar.gz
- tar -C /usr/local -xzf polyml_x86-cygwin.tar.gz
- tar -C /usr/local -xzf HOL_x86-cygwin.tar.gz
- /usr/local/Isabelle/bin/isabelle emacs -p xemacs
The regular Java distribution for Windows should also work as expected, even though it is not native on Cygwin.