Skip to content

Proof assistant based on the λΠ-calculus modulo rewriting

Notifications You must be signed in to change notification settings

amelieled/lambdapi

 
 

Repository files navigation

Lambdapi, a proof assistant based on the λΠ-calculus modulo rewriting Gitter Matrix

Lambdapi is a proof assistant based on the λΠ-calculus modulo rewriting. It comes with Emacs and VSCode extensions. More details are given in the User Manual. Lambdapi files must end with .lp. But Lambdapi can also read Dedukti files (extension .dk) and convert them to Lambdapi files.

Issues can be reported on the following issue tracker.

Questions can be asked on the following forum.

Operating systems

Lambdapi requires a Unix-like system. It should work on Linux as well as on MacOS. It might be possible to make it work on Windows too with Cygwin or "bash on Windows".

Installation via Opam

Lambdapi is under active development. A new version of the lambdapi Opam package will be released soon, when the development will have reached a more stable point. For now, we advise you to pin the development repository to get the latest development version:

opam pin add lambdapi https://github.com/Deducteam/lambdapi.git
opam install lambdapi # install emacs and vim support as well

For installing the VSCode extension, you need to get the sources (see below).

Compilation from the sources

You can get the sources using git as follows:

git clone https://github.com/Deducteam/lambdapi.git

Dependencies are described in lambdapi.opam. For running tests, one also needs alcotest and alt-ergo. For building the source code documentation, one needs odoc. For building the User Manual, see docs/README.md.

Note on Why3: the command why3 config --full-config must be run to make Why3 know the available provers.

Using Opam, a suitable OCaml environment can be setup as follows:

opam switch 4.11.1
opam install dune bindlib timed menhir pratter yojson cmdliner why3 alcotest alt-ergo odoc
why3 config --full-config

To compile Lambdapi, just run the command make in the source directory. This produces the _build/install/default/bin/lambdapi binary. Use the --help option for more information. Other make targets are:

make                        # Build lambdapi
make doc                    # Build the source code documentation
make install                # Install lambdapi
make install_emacs          # Install emacs mode
make install_vim            # Install vim support
make -C editors/vscode make # Install vscode extension

Note: you can run lambdapi without installing it with dune exec -- lambdapi.

Note: the starting file of the source code html documentation is _build/default/_doc/_html/lambdapi/index.html.

The following commands can be used for cleaning up the repository:

make clean     # Removes files generated by OCaml.
make distclean # Same as clean, but also removes library checking files.
make fullclean # Same as distclean, but also removes downloaded libraries.

Include Lambdapi code in Latex documents

Lambdapi code can be included into Latex documents by using tools/listings.tex.

About

Proof assistant based on the λΠ-calculus modulo rewriting

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • OCaml 81.3%
  • Emacs Lisp 6.2%
  • Shell 3.8%
  • TypeScript 2.9%
  • Haskell 1.5%
  • Vim Script 1.0%
  • Other 3.3%