MRG home page· Research · Publications·Projects·Software ·People

Download, Install, Setup

Download/Install Isabelle

You need a recent version of Isabelle (Last tested with: Isabelle 2013). See the Isabelle Installation page for setting up Isabelle. Essentially, you have to uncompress the file, read the INSTALL text file and do what it says. You can ask me if you want some help on setting up multiple copies of Isabelle.

It is probably easier to use the official version, but you can also get a working version of Isabelle using mercurial with following command:

hg clone http://isabelle.in.tum.de/repos/isabelle

This will create a directory called isabelle. I don't know if recent snapshots are compatible with IsaPlanner - use at your own risk. :)

Download IsaPLib

IsaPlanner needs some extra libraries built on top of Isabelle. The easiest way to install these are to go to Isabelle's contrib directory and there issue the command:

git clone https://github.com/iislucas/isaplib.git

This will place a copy of IsaPLib where Isabelle can find it. For more info on IsaPLib, see its GitHub page.

IsaPlanner from Subversion on sourceforge

To get a subversion checkout of IsaPlanner from sourceforge use the following command:

svn checkout --username=USERNAME svn+ssh://USERNAME@svn.code.sf.net/p/isaplanner/code/trunk/IsaPlanner/IsaPlanner2013 IsaPlanner2013

This will create a directory called IsaPlanner2013, which contains all the IsaPlanner code, at the location you run the command.

Setup

Assuming Isabelle is installed correctly, you should be able to run the following command in the IsaPlanner2013 directory:

isabelle build -b -d . HOL_IsaP

This will build the HOL_IsaP heap which sets up IsaPlanner and allows you to load Isabelle with the IsaPlanner libraries and tools.

Using IsaPlanner

At the moment we are re-figuring out how to make an interface to IsaPlanner without shell. To build on IsaPlanner, import the theory IsaP:

theory MyTheory
imports IsaP
begin
-- write your theory here --
end;

For some simple examples, see the file {{{IsaPlanner-2013/quicktest.thy}}}. Note that to use IsaPlanner's interactive tracer, you must look in the buffer *isabelle*. A proper manual and interface is in progress...

Writing your own code

Writing stuff for IsaPlanner generally involves writing Isabelle/ML code. Some very helpful information on this is provided by the Isabelle documentation project (The so-called Isabelle Cook-book).

Variations

With a development snapshot of PolyML

To use Isabelle/IsaPlanner with the cutting edge versions of PolyML, you can explicitly set this in Isabelle's settings file (either $HOME/.isabelle/etc/settings or $ISABELLE/etc/settings) with the line:

ML_SYSTEM=polyml-X.Y

where X.Y is the version number of PolyML.

If you have PolyML at a non-standard (for Isabelle) location, you will also need to set the ML_HOME variable to point to the directory where the PolyML executable is.

DownloadInstallSetup (last edited 2013-09-18 09:11:43 by v1mjoha1)