Compact Normalisation Trace via Lazy Rewriting

Innermost strategy is usually used in compiling term rewriting systems (TRSs) because it allows to build efficiently the result term in a bottom-up fashion. However, the innermost strategy does not always give the shortest normalising derivation. In many cases, using an appropriate laziness annotation on the arguments of the function symbols, we evaluate the lazy arguments only if it is necessary and hence, get a shorter derivation to the normal form while avoiding the non-terminating reductions. We provide in this work a transformation of the annotated TRSs, that allows to compute the normal form using an innermost strategy and to extract a lazy derivation in the original TRS from the normalising derivation in the transformed TRS. We apply our result to improve the efficiency of equational reasoning in the {\Coq} proof assistant using {\ELAN} as an external rewriting engine.

[1]  Jean-Louis Lassez,et al.  Computational logic: essays in honor of Alan Robinson , 1991 .

[2]  H. R. Walters,et al.  Minimal Term Rewriting Systems , 1995, COMPASS/ADT.

[3]  Albert Gräf,et al.  Left-to-Right Tree Pattern Matching , 1991, RTA.

[4]  Wan Fokkink,et al.  Lazy rewriting on eager machinery , 2000, TOPL.

[5]  Kazuhiro Ogata,et al.  The evaluation strategy for head normal form with and without on-demand flags , 2000, WRLA.

[6]  Claude Kirchner,et al.  Rewriting with Strategies in ELAN: A Functional Semantics , 2001, Int. J. Found. Comput. Sci..

[7]  Satish Thatte A Refinement of Strong Sequentiality for Term Rewriting with Constructors , 1987, Inf. Comput..

[8]  Robert Strandh Classes of Equational Programs that Compile into Efficient Machine Code , 1989, RTA.

[9]  Wan Fokkink,et al.  Within ARM's reach: compilation of left-linear rewrite systems via minimal rewrite systems , 1997, TOPL.

[10]  Salvador Lucas,et al.  Context-sensitive Computations in Functional and Functional Logic Programs , 1998, J. Funct. Log. Program..

[11]  Kazuhiro Ogata,et al.  Operational semantics of rewriting with the on-demand evaluation strategy , 2000, SAC '00.

[12]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[13]  Steffen Hölldobler Equational Logic Programming , 1987, SLP.

[14]  Razvan Diaconescu,et al.  An overview of CafeOBJ , 1998, WRLA.

[15]  Sergio Antoy Definitional Trees , 1992, ALP.

[16]  Q. Nguyen,et al.  ELAN for equational reasoning in Coq , 2000 .