Leo-III requires the Java 1.8 Runtime (JRE) for execution. Leo-III works on any common operating system, including Windows, Mac OS and linux derivatives. Leo-III has not been tested with other operating systems, but it might of course still work.
⚠️ Note: External cooperation (that is, usage of external (first-order) reasoning systems for increasing the reasoning effectivity of Leo-III) is so-far only tested on Linux and Mac systems. If you use Windows, you might want to try running Leo-III using Cygwin or similar. Also see the note on bulding Leo-III from source on Windows systems below.
A current release of Leo-III (v1.6) can be downloaded from GitHub:
wget https://github.com/leoprover/Leo-III/releases/download/v1.6/leo3-v1.6.jar
If the pre-built version does not work for you, consider building Leo-III from source. Its simple and only takes a minute or two (see below).
The following requirements (dependencies) are not managed by the SBT build tool and hence need to be present at the system:
- Java JDK >= 1.8
- make
- SBT (Scala Build Tool) >= 1.x
Leo-III uses SBT for building the Scala sources. SBT will download an appropriate
version of Scala (and further dependencies) automatically. From the user's perspective, the actual build process
in managed using make
.
Proceed as follows to build Leo-III from source:
-
Getting the source
Download the source distribution of the latest stable version (here: 1.6) from GitHub and unpack the archive, e.g.
> wget https://github.com/leoprover/Leo-III/archive/refs/tags/v1.6.tar.gz > tar -xzf Leo-III-1.6.tar.gz
You'll find the latest stable version of Leo-III under https://github.com/leoprover/Leo-III/releases/latest. Alternatively, you can use the most current development version of Leo-III (if you dare) using https://github.com/leoprover/Leo-III/archive/master.tar.gz.
-
Build Leo-III sources
Step into the newly created directory and run
make
(that's all!)> cd Leo-III-1.6/ > make
The building process might take some time, depending on your computer.
-
Checking if everything is fine
If no error occurred, you should find a
bin
directory at top-level:> cd bin/ > ls leo3 leo3.jar
where
leo3
is the executable of Leo-III. A jar fileleo3.jar
is also produced in case you want to include Leo-III as a library to some other application.You can now run Leo-III:
> ./leo3 -h Leo III -- A Higher-Order Theorem Prover. Christoph Benzmüller, Alexander Steen, Max Wisniewski and others. Usage: leo3 problem [option ...] [...]
See USAGE.md for details on how to use Leo-III, including examples, parameter settings, etc.
-
Optionally install Leo-III
Install (i.e. copy) the Leo-III binaries to a dedicated location using
> make install
The default install destination is
$HOME/bin
. This will copy theleo3
executable there. The install destination can be modified using theDESTDIR
modifier.
In order to create a native image, please install GraalVM and follow the instructions found there.
Also make sure to install zlib
and libc
in the static linked equivalents for your operating system of choice.
After that feel free to execute
make native
In the root directory which will produce a native binary called leo3-bin in the bin folder.
We support using Nix for creating a reliable and reproducible execution environment for Leo-III. The source distribution contains a .nix
file that can be used to run Leo-III within a nix
shell (see contrib/default.nix
).