isahipster

Last updated: 2016-03-10 15:40:02 +0100

Upstream URL: git clone http://chriswarbo.net/git/isahipster.git

Repo

View repository

View issue tracker

Contents of README.md follows


Hipster - theory exploration in Isabelle/HOL

Hipster is still under development, but feel free to play around with it! To install Hipster, you first need Isabelle, QuickSpec and HipSpec.

Isabelle is available from: http://isabelle.in.tum.de/index.html. Hipster works with Isabelle 2015, preferably in jEdit if you want nice syntactic sugar (use the branch <code>Isabelle2014</code> if you want the Isabelle 2014 compatible version).

For a version compatible with the newest Isabelle 2016 (although unstable due to further development), checkout the branch <code>Isabelle2016</code>.

To install the appropriate QuickSpec:

<pre><code>git clone https://github.com/nick8325/quickspec.git cd quickspec git checkout hipster cabal install</code></pre>

To install HipSpec, you will need to run the following commands:

<pre><code>git clone https://github.com/danr/hipspec cd hipspec git checkout hipster cabal install </code></pre>

You will also have to compile the <code>HipSpecifyer</code>:

<pre><code>cabal install hipspecifyer/</code></pre>

Finally, you need to tell Isabelle where to find Hipster, by setting the environment variable <code>$HIPSTER_HOME</code> in the file <code>$ISABELLE_HOME_USER/etc/settings</code> (create this file if it does not exist yet), where Isabelle normally has set <code>$ISABELLE_HOME_USER</code> to <code>$USER_HOME/.isabelle</code>. <code>$HIPSTER_HOME</code> should then point to the path for the IsaHipster directory you just cloned. See the Isabelle System’s Manual for more info on how to set up Isabelle’s system enviroment. Alternatively, you may set <code>$HIPSTER_HOME</code> in your bash environment file, but then Isabelle will only find Hipster if you start it from the terminal, so I would recommend the former approach.

If you want to use Hipster from an Isabelle theory file, it needs to import the <code>IsaHipster.thy</code> file (which essentially sets up Hipster) by including the line:

<pre class="isabelle"><code>imports "$HIPSTER_HOME/IsaHipster"</code></pre>

Now, you should be able to try Hipster. Start up Isabelle on for example <code>Examples/TreeDemo.thy</code> and have a go.

<em>Disclaimer</em>: There are quite a few hacks around, and Hipster is not a polished and finished product by any means. Let us know if you run into anything too odd, and we’ll try to fix it.