···
2
+
synopsis: "Proof assistant for the λΠ-calculus modulo rewriting"
4
+
This package provides:
5
+
- A lambdapi command for checking .lp or .dk files,
6
+
translating .dk files to .lp files and vice versa,
7
+
or launching an LSP server for editing .lp files.
8
+
- A library of logic definitions and basic definitions and proofs
9
+
on natural numbers and polymorphic lists.
10
+
- A rich Emacs mode based on LSP (available on MELPA too).
11
+
- A basic mode for Vim.
13
+
A VSCode extension is also available on the VSCode Marketplace.
15
+
Find Lambdapi user manual on https://lambdapi.readthedocs.io/.
17
+
Lambdapi provides a rich type system with dependent types.
18
+
In Lambdapi, one can define both type and function symbols
19
+
by using rewriting rules (oriented equations).
20
+
A symbol can be declared associative and commutative.
21
+
Lambdapi supports unicode symbols and infix operators.
22
+
The declaration of symbols and rewriting rules is separated
23
+
so that one can easily define inductive-recursive types.
25
+
Lambdapi checks that rules are locally confluent (by checking
26
+
the joinability of critical pairs) and preserve typing.
27
+
Rewrite rules can also be exported to the TRS and XTC formats
28
+
for checking confluence and termination with external tools.
30
+
Lambdapi does not come with a pre-defined logic. It is a
31
+
powerful logical framework in which one can easily define
32
+
its own logic and build and check proofs in this logic.
33
+
There exist .lp files defining first or higher-order logic
34
+
and complex type systems like in Coq or Agda.
36
+
Lambdapi provides a basic module and package system,
37
+
interactive modes for proving both unification goals
38
+
and typing goals, and tactics for solving them step by step.
39
+
In particular, a rewrite tactic like in SSReflect, and
40
+
a why3 tactic for calling external automated provers through
41
+
the Why3 platform."""
42
+
maintainer: ["dedukti-dev@inria.fr"]
43
+
authors: ["Deducteam"]
44
+
license: "CECILL-2.1"
45
+
homepage: "https://github.com/Deducteam/lambdapi"
46
+
bug-reports: "https://github.com/Deducteam/lambdapi/issues"
47
+
dev-repo: "git+https://github.com/Deducteam/lambdapi.git"
50
+
"ocaml" {>= "4.08.0"}
51
+
"menhir" {>= "20200624"}
53
+
"alcotest" {with-test}
54
+
"dedukti" {with-test & >= "2.7"}
55
+
"bindlib" {>= "6.0.0"}
57
+
"pratter" {>= "3.0.0" & < "4"}
58
+
"camlp-streams" {>= "5.0"}
59
+
"why3" {>= "1.6.0" & < "1.8~"}
60
+
"yojson" {>= "1.6.0"}
61
+
"cmdliner" {>= "1.1.0"}
62
+
"stdlib-shims" {>= "0.1.0"}
64
+
"lwt_ppx" {>= "1.0.0"}
65
+
"dream" {>= "1.0.0~alpha3"}
68
+
["dune" "subst"] {dev}
77
+
"@runtest" {with-test}
81
+
available: arch != "ppc64"
84
+
"https://github.com/Deducteam/lambdapi/releases/download/2.5.0/lambdapi-2.5.0.tbz"
86
+
"sha256=9bc8ae3694dd51bd5742e7aba760bd2878c4b0e5ef9b3d4a7b06f3cd303b611d"
87
+
"sha512=c812c3129b3d85b0c4d7e741d11137dbb4fe2a0aaba3a5968409080b742924ecb506280c19ad83ef6bc910346db96d87780313fa7683c29345edae16ae79c704"
90
+
x-commit-hash: "3730715c845c0732b912e10e14391350c327b6d3"