• Stars
    star
    259
  • Rank 152,243 (Top 4 %)
  • Language
    OCaml
  • License
    Other
  • Created over 6 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Proof assistant based on the λΠ-calculus modulo rewriting

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

>>>>> User Manual <<<<<

Issues can be reported on the issue tracker.

Questions can be asked on the forum.

User interfaces

Libraries

Lambdapi libraries can be found on the Opam repository of Lambdapi libraries.

Examples

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

opam install lambdapi

gives you the command lambdapi.

The Emacs extension is available on MELPA.

The VSCode extension is available on the Marketplace.

To browse the source code documentation, you can do:

opam install odig
odig doc lambdapi

To install Lambdapi libraries, see the opam-lambdapi-repository.

Remark: To install Opam, see here.

To make sure that programs installed via opam are in your path, you should have in your .bashrc (or any other shell initial file) the following line that can be automatically added when you do opam init:

test -r /home/blanqui/.opam/opam-init/init.sh && . /home/blanqui/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true

To update your path, you can also do:

eval `opam env`

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. The command why3 config detect must be run for Why3 to know the available provers.

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

opam install dune bindlib timed sedlex menhir pratter yojson cmdliner why3 alcotest alt-ergo odoc
why3 config detect

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 user documentation (avalaible on readthedocs)
make bnf                    # Build the BNF grammar
make odoc                   # Build the developer documentation
make install                # Install lambdapi
make install_emacs_mode     # Install emacs mode
make install_vim_mode       # Install vim mode

You can run lambdapi without installing it with dune exec -- lambdapi.

For running tests, one also needs alcotest and alt-ergo.

For building the source code documentation, one needs odoc. The starting file of the source code html documentation is _build/default/_doc/_html/lambdapi/index.html.

For building the User Manual, see doc/README.md.

The following commands can be used to clean 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.

More Repositories

1

Dedukti

Implementation of the λΠ-calculus modulo rewriting
OCaml
186
star
2

Logipedia

An encyclopedia of proofs
OCaml
56
star
3

Agda2Dedukti

Haskell
13
star
4

zenon_modulo

First-order automated theorem prover based on the tableau method
OCaml
10
star
5

SizeChangeTool

A termination checker for higher-order rewriting with dependent types
OCaml
9
star
6

CoqInE

A Coq plugin to translate Coq proofs into Dedukti terms.
OCaml
6
star
7

hol2dk

HOL-Light to Dedukti/Lambdapi translator
OCaml
6
star
8

dkmeta

A tool to rewrite Dedukti terms using rewrite rules
OCaml
4
star
9

Libraries

A collection of hand-written files for Dedukti
Makefile
4
star
10

universo

A universe reconstruction tool based on Dedukti and the encoding of CiC in Dedukti
OCaml
3
star
11

personoj

People's Verification System in Dedukti
Common Lisp
3
star
12

isabelle_dedukti

Isabelle component generating Dedukti proofs
Scala
3
star
13

lean2dk

WIP translation from Lean to Dedukti
Lean
3
star
14

lambdapi-logics

Logic files for Lambdapi
Makefile
3
star
15

coq-hol-light

HOL-Light library in Coq
Coq
3
star
16

predicativize

A tool for sharing proofs with predicative systems
OCaml
2
star
17

ekstrakto

Extract TPTP problems from a TSTP trace and reconstruct the proof in lambdapi (λΠ-calculus modulo theory).
OCaml
2
star
18

lambdapi-stdlib

Repository of Lambdapi developments
Makefile
2
star
19

Holide

A translator from OpenTheory to Dedukti
OCaml
2
star
20

zenon_modulo-lib-gen

Translation script (from BWare to Dedukti) using Zenon Modulo
Shell
1
star
21

Sukerujo

Syntactic sugar for Dedukti
OCaml
1
star
22

smt2d

Translation from the SMT-LIB language to Dedukti
OCaml
1
star
23

resystance

Rewrite system stats n' count
OCaml
1
star
24

pvs-with-proofs

Common Lisp
1
star
25

dkpsuler

Instantiate constants with dkmeta
OCaml
1
star
26

nubo

Nubo is a repository of interoperable formal proofs written in Dedukti.
Makefile
1
star
27

HOLLightToDk

OCaml
1
star