|
| 1 | +opam-version: "2.0" |
| 2 | +synopsis: "Proof assistant for the λΠ-calculus modulo rewriting" |
| 3 | +description: """ |
| 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. |
| 12 | +- OCaml libraries. |
| 13 | +A VSCode extension is also available on the VSCode Marketplace. |
| 14 | + |
| 15 | +Find Lambdapi user manual on https://lambdapi.readthedocs.io/. |
| 16 | + |
| 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. |
| 24 | + |
| 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. |
| 29 | + |
| 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. |
| 35 | + |
| 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 | + |
| 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" |
| 48 | +depends: [ |
| 49 | + "dune" {>= "2.7"} |
| 50 | + "ocaml" {>= "4.08.0"} |
| 51 | + "menhir" {>= "20200624"} |
| 52 | + "sedlex" {>= "2.2"} |
| 53 | + "alcotest" {with-test} |
| 54 | + "dedukti" {with-test & >= "2.7"} |
| 55 | + "bindlib" {>= "6.0.0"} |
| 56 | + "timed" {>= "1.0"} |
| 57 | + "pratter" {>= "2.0.0"} |
| 58 | + "camlp-streams" {>= "5.0"} |
| 59 | + "why3" {>= "1.5.0"} |
| 60 | + "yojson" {>= "1.6.0"} |
| 61 | + "cmdliner" {>= "1.1.0"} |
| 62 | + "stdlib-shims" {>= "0.1.0"} |
| 63 | + "odoc" {with-doc} |
| 64 | +] |
| 65 | +build: [ |
| 66 | + ["dune" "subst"] {dev} |
| 67 | + [make] |
| 68 | +] |
| 69 | +install: [ |
| 70 | + [make "install"] |
| 71 | +] |
| 72 | +url { |
| 73 | + src: |
| 74 | + "https://github.com/Deducteam/lambdapi/releases/download/2.3.0/lambdapi-2.3.0.tbz" |
| 75 | + checksum: [ |
| 76 | + "sha256=9b13c3121ef87cf4d3311a8a1db43db4be7f0e5e2a702fdaff04a3b3c432cb31" |
| 77 | + "sha512=81e0760ca77cb862a5bdb8927aa37faf7141c4e2484a8163dad0a3eaa21cc691acb5f72279c78588c085f53dde4bd35186346378feac0ab55ac06a679cf2e60f" |
| 78 | + ] |
| 79 | +} |
| 80 | +x-commit-hash: "4939b93c2721c8aa4dc88a7b8190dd43e3badfdc" |
0 commit comments