Skip to content

Releases: Deducteam/lambdapi

3.0.0

16 Jul 11:49

Choose a tag to compare

CHANGES:

Added

  • Tactic simplify rule off to simplify the focused goal wrt β-reduction only.
  • Tacticals orelse and repeat.
  • Tactic eval which evaluates a term and interprets it as a tactic. This allows one to define tactics using rewriting.
  • Builtin "String" for string literals between double quotes.
  • Options --header and --url for the websearch command.
  • In search queries, replace the substring "forall" and "->" by "Π" and "→" respectively.
  • Websearch queries and responses are now recorded in the log.
  • Commands debug and flag with no argument to get the list of debug flags and the list of flags respectively.
  • Tactic change.
  • Modifier private for open command to not be exported.

Changed

  • Replaced Bindlib by de Bruijn (Frédéric) and closures (Bruno). The performances are slightly better than with Bindlib, especially on rewriting intensive files (the new version is 3.7 times faster on tests/OK/perf_rw_engine.lp). Lambdapi is now 2 times faster than dkcheck on matita, and only 2 times slower than dkcheck on holide.
  • Several improvements to use the search engine:
    • normalize queries in websearch/search
    • pre-load a file in websearch (e.g. to declare implicit args)
    • paginate the output in the generated webpage
    • allow to declare rewriting rules (e.g. alignments) over defined and constant symbols
    • improve error message for overloaded symbols
  • Tactic set x ≔ t: replace all subterms equal to t by x.
  • Enhance the formatting of the search results.
  • require and open are now recursive.

Fixed

  • Notations on external symbols are now exported.
  • Make the websearch server listen on all the interfaces instead of localhost only.

2.6.0

28 Jan 15:00

Choose a tag to compare

CHANGES:

Added

  • Add tactic set.
  • Decimal notation for integers.

Fixed

  • Why3 tactic.
  • Induction tactic.

Changed

  • Improved Core.Term.eq_modulo (Claudio Sacerdoti) -> speed up factor between 2 and 9
  • The export option --requiring does not require as argument a file with extension .v anymore: the argument must be a module name.
  • Option '--erasing' renamed into '--mapping'.
  • Builtins necessary for the decimal notation.

2.5.1

29 Jul 16:58
230d572

Choose a tag to compare

CHANGES:

Added

  • Add export format raw_dk.
  • Fix of the color of the text in command line when console.out is used.
  • Use black text instead of red when diplaying query answers.
  • Allow negative numbers in notation priorities.
  • New release 0.2.2 of the VSCode plugin.

2.5.0

25 Feb 11:15

Choose a tag to compare

CHANGES:

Added

  • Add the opaque command to turn a defined symbol into a constant
  • Add the tactic try that tries to apply a tactic to the focused goal.
    If the application of the tactic fails, it catches the error and leaves the goal unchanged.

Fixed

  • Coq export: do not rename module names
  • Sequential symbols: fix order of rules

2.4.1

22 Nov 08:28

Choose a tag to compare

CHANGES:

Added

  • support for Pratter 3.0.0
  • printing of unification and coercion rules

Improved

  • unification

Fixed

  • Coq export
  • matita.sh script

2.4.0

31 Jul 12:11

Choose a tag to compare

CHANGES:

Added

  • Several options for export -o stt_coq.
  • Tactic remove.
  • Option --no-sr-check to disable subject reduction checking.
  • CLI command index to build ~/.LPSearch.db.
  • Indexed terms can be normalized wrt rules with the option --rules
    (note that this new option --rules could be used to implement the equivalent
    of dkmeta later).
  • CLI command search and LP command search to send queries to the index.
  • Query language.
  • CLI command websearch to run a webserver that can answer search queries.
  • Option --port to specify the port to use.

Improved

  • Output for export -o stt_coq.

Changed

  • Private definitions are not kept in memory and in lpo files anymore.
  • The record type Eval.config is extended with a new field allowing to specify
    which dtree to use for each symbol.

2.3.1

15 Mar 17:19

Choose a tag to compare

CHANGES:

Fixed

  • Opaque definitions are not kept in memory and in lpo files anymore
  • A few bug fixes.

Changed

  • Why3 dependency updated to 1.6.

2.3.0

03 Jan 15:55

Choose a tag to compare

CHANGES:

Added

  • Export to Coq.
  • (API) the rewrite engine can match on the constant TYPE.
  • Automatic coercion insertion mechanism.
    For example, the command coerce_rule coerce Int Float $x ↪ FloatOfInt $x;
    can be used to instruct Lambdapi to automatically coerce integers to floats
    using the function FloatOfInt.

Fixed

  • Generation of metavariables through the rewriting engine.
  • Application of pattern variables in rewrite rules RHS in the Dedukti
    export.
  • Dedukti export: invalid Dedukti module name were not brace-quoted,
    for instance, #REQUIRE module-name. could be exported, while module-name
    is not recognised by Dedukti2. It is now exported as #REQUIRE {|module-name|},
    and symbols are exported as {|module-name|}.foo.
  • HRS and XTC exports.

Changed

  • Do not propose installation of Emacs mode via opam anymore as it can easily be installed from Emacs.

2.2.1

05 Aug 06:09

Choose a tag to compare

CHANGES:

Added

  • Propagate recompile flag to dependencies.
  • Postfix operators with the notation <op> postfix <priority>;

Removed

Changed

  • Use short options in system commands to be POSIX compliant.

2.2.0

18 Mar 09:40

Choose a tag to compare

CHANGES:

Added

  • Incremental local confluence checking for non higher-order and non AC rules.
  • Add options -o hrs and -o xtc to the export command.

Changed

  • whnf function takes a problem as argument and a list of tags that configure
    the rewriting. Tags may block beta reduction, block definition expansion or
    block rewriting.
  • Do not print empty term environments .[].
  • Allow users to use the pattern variables $0, $1, etc. and internally name pattern variables by their index.
  • Fixed debug flag printing in Pretty.
  • Compatibility with Cmdliner 1.1.0 and Bindlib 6.0.0.

Removed

  • tree_walk is no longer in the API