lambdapiversion

Proof assistant for the λΠ-calculus modulo rewriting

This package provides:

  • A lambdapi command for checking .lp or .dk files, translating .dk files to .lp files and vice versa, or launching an LSP server for editing .lp files.
  • A library of logic definitions and basic definitions and proofs on natural numbers and polymorphic lists.
  • A rich Emacs mode based on LSP (available on MELPA too).
  • A basic mode for Vim.
  • OCaml libraries. A VSCode extension is also available on the VSCode Marketplace.

Find Lambdapi user manual on https://lambdapi.readthedocs.io/.

Lambdapi provides a rich type system with dependent types. In Lambdapi, one can define both type and function symbols by using rewriting rules (oriented equations). A symbol can be declared associative and commutative. Lambdapi supports unicode symbols and infix operators. The declaration of symbols and rewriting rules is separated so that one can easily define inductive-recursive types.

Lambdapi checks that rules are locally confluent (by checking the joinability of critical pairs) and preserve typing. Rewrite rules can also be exported to the TRS and XTC formats for checking confluence and termination with external tools.

Lambdapi does not come with a pre-defined logic. It is a powerful logical framework in which one can easily define its own logic and build and check proofs in this logic. There exist .lp files defining first or higher-order logic and complex type systems like in Coq or Agda.

Lambdapi provides a basic module and package system, interactive modes for proving both unification goals and typing goals, and tactics for solving them step by step. In particular, a rewrite tactic like in SSReflect, and a why3 tactic for calling external automated provers through the Why3 platform.

AuthorDeducteam
LicenseCECILL-2.1
Published
Homepagehttps://github.com/Deducteam/lambdapi
Issue Trackerhttps://github.com/Deducteam/lambdapi/issues
Maintainerdedukti-dev@inria.fr
Availablearch != "ppc64"
Dependencies
Source [http] https://github.com/Deducteam/lambdapi/releases/download/2.5.0/lambdapi-2.5.0.tbz
sha256=9bc8ae3694dd51bd5742e7aba760bd2878c4b0e5ef9b3d4a7b06f3cd303b611d
sha512=c812c3129b3d85b0c4d7e741d11137dbb4fe2a0aaba3a5968409080b742924ecb506280c19ad83ef6bc910346db96d87780313fa7683c29345edae16ae79c704
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/lambdapi/lambdapi.2.5.0/opam
No package is dependent