- Allow users to declare a symbol [f] as quantifier. Then, [f x,t] stands for [f(λx,t)].
Introduction of unification rules, taken from http://www.cs.unibo.it/~asperti/PAPERS/tphol09.pdf. A unification rule can be set with
set unif_rule t ≡ u ↪ v ≡ w, x ≡ y
- Pretty-printing hints managed in signature state now.
Adding let-bindings to the terms structure.
- Contexts can now contain term definitions.
- Unification is carried out with a context.
- Reduction functions (
whnf
,hnf
,snf
&c.) are called with a context. - Type annotation for
let
in the concrete syntax.
- Use
Stdlib
instead ofPervasives
(enforced by sanity checks). - Rely on
stdlib-shims
to provideStdlib
on older version of OCaml.
- New module system.
- Revised command line arguments parsing and introduce subcommands.
- LSP server is now a Lambdapi subcommand: run with
lambdapi lsp
. - New
--no-warning
option (fixes #296).
Simplification of the decision tree structure
- trees do not depend on term variables;
- tree constructor type depends on generated at compile-time branch-wise unique integral identifiers;
- graph output is more consistent: variables are the same in the nodes and the leaves.
First major release of Lambdapi. It introduces:
- a new syntax for developing proofs in the system,
- basic support for infix operators,
- call to external confluence checker with the same API as Dedukti,
- more things.
- Consolidate the LSP OPAM package into the main one (@ejgallego)
First release of Lambdapi.