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.

