Releases: Deducteam/lambdapi
Releases · Deducteam/lambdapi
3.0.0
CHANGES:
Added
- Tactic
simplify rule offto simplify the focused goal wrt β-reduction only. - Tacticals
orelseandrepeat. - Tactic
evalwhich 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
--headerand--urlfor thewebsearchcommand. - In search queries, replace the substring
"forall"and"->"by"Π"and"→"respectively. - Websearch queries and responses are now recorded in the log.
- Commands
debugandflagwith no argument to get the list of debug flags and the list of flags respectively. - Tactic
change. - Modifier
privateforopencommand 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.
requireandopenare 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
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
--requiringdoes not require as argument a file with extension.vanymore: the argument must be a module name. - Option '--erasing' renamed into '--mapping'.
- Builtins necessary for the decimal notation.
2.5.1
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
CHANGES:
Added
- Add the
opaquecommand to turn a defined symbol into a constant - Add the tactic
trythat 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
2.4.0
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
2.3.0
CHANGES:
Added
- Export to Coq.
- (API) the rewrite engine can match on the constant
TYPE. - Automatic coercion insertion mechanism.
For example, the commandcoerce_rule coerce Int Float $x ↪ FloatOfInt $x;
can be used to instruct Lambdapi to automatically coerce integers to floats
using the functionFloatOfInt.
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, whilemodule-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
CHANGES:
Added
- Propagate recompile flag to dependencies.
- Postfix operators with the
notation <op> postfix <priority>;
Removed
- Logic directory since it is now available on the Lambdapi Opam repository.
- Option --recompile.
Changed
- Use short options in system commands to be POSIX compliant.
2.2.0
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
whnffunction 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_walkis no longer in the API