EN FR
EN FR


Section: New Results

Implementation of Dedukti

During his master internship with Frédéric Blanqui and Bruno Barras, Gabriel Hondet developed a new rewrite engine for Dedukti [22]. The algorithm used in the new rewriting engine is formalised and a correctness proof is provided. This algorithm is based on the pattern matching algorithm by Maranget and used in OCaml. It is extended to rewriting rules, λ terms and non linear patterns. Some interesting implementation details are evinced and then we compare the efficiency of the new engine to a naive matching algorithm and to the rewriting engine of Dedukti. The results show that our implementation handles large rewrite systems better that the naive algorithm, and is always better than Dedukti's.

During her internship with Frédéric Blanqui and Emilio Gallego, Houda Mouzoun developed a Dedukti plugin for the VSCode editor.

During his internship with Frédéric Blanqui and Valentin Blot, Jui-Hsuan Wu implemented a prototype algorithm for deciding whether a function defined by rewriting rules is injective or not [23], and also a new algorithm proposed by Frédéric Blanqui for checking that user-defined rewrite rules preserve typing.

Bruno Barras has developed a reduction machine implementing a strong call-by-need strategy for β-reduction and pattern-matching. Higher-order pattern-matching is not yet fully implemented. Regarding efficiency, an exponential speed-up can be observed compared to the current call-by-name implementation on a large class of examples, but a constant slow-down shows on examples where call-by-name is the optimal strategy. With Beniamino Accattoli, he has started studying the correctness of this machine, without pattern-matching. They proved that the machine correctly implements β-reduction, but have no result yet regarding the strategy or the time complexity.