Proof and Specification Assisted
Design Environments

ESPRIT Framework IV LTR 26241
The PROSPER Toolkit

The PROSPER Toolkit is based on HOL98, a modern descendent of the HOL theorem prover. HOL98 is highly modular, reflecting the project's approach to proof engine construction from components - whether HOL libraries or external plugins. It also has powerful and sophisticated automatic proof procedures. The system's command language is ML, a functional programming language extended with theorem proving functions and an implementation of higher order logic. This gives developers a full programming language to write custom verification algorithms and coordinate the invocation of plugins. Procedures programmed in a proof engine are offered to client applications in an API.

The toolkit includes the PROSPER Integration Interface, a set of libraries that implement a language-independent specification for communication between reasoning components. Implementations include libraries for Java, C, and ML. The toolkit also provides support to enable developers of other verification tools to offer them as PROSPER plugin components. Available plugins include a range of model-checkers and decision procedures, some developed by third-party researchers.

The latest public release of the toolkit is version 1.4. The system has been successfully built on recent versions of the Linux and Solaris operating systems.

PROSPER Toolkit Version 1.4
License agreement
Version 1.4 including documentation
User Documentation for PROSPER Toolkit Version 1.4

Required Software
Moscow ML (Version 2.00)

Moscow ML is the ML compiler used to build HOL98. This can be downloaded from the Moscow ML Homepage.
Version 2.00 is necessary to build the toolkit.

HOL98 (Taupo 5)

Version 1.4 of the toolkit is based on the Taupo 5 release of HOL98. This can be downloaded from the HOL98 homepage or is available here.

Java

Version 1.4 of the toolkit requires a Java implementation with good support for threads. We recommend Sun Microsystems' JDK/JRE 1.2.2 or J2SE version 1.3.

PROSPER Toolkit Version 1.2

Version 1.2 has a simpler but less powerful way of connecting components.

License agreement
Version 1.2 including documentation
User Documentation for PROSPER Toolkit Version 1.2

Required Software for Version 1.2
Moscow ML (Version 1.44)

Moscow ML is the ML compiler used to build HOL98. This can be downloaded from the Moscow ML Homepage.
Version 1.44 is necessary to build the correct version of HOL98.

HOL98 (Taupo 2)

Version 1.2 of the toolkit is based on the Taupo 2 release of HOL98. This can be downloaded from the old HOL98 ftp site or is available here.

Java

Some of the example code distributed with the toolkit is written in Java. This code should work with most Java compilers. The toolkit can be installed without Java.

Plugins

Code to create various plugins is bundled with the Toolkit.