How to realize LSE narrowing |
| |
Authors: | Andreas Werner Alexander Bockmayr Stefan Krischer |
| |
Affiliation: | 1. Inline Internet Online Dienste GmbH, Vincenz-Prie?nitz-Str. 3, D-76131, Karlsruhe, Germany 2. MPI Informatik, Im Stadtwald, D-66123, Saarbrücken, Germany 3. University of Trier, Fachbereich IV-Informatik, D-54286, Trier, Germany
|
| |
Abstract: | Narrowing is a complete unification procedure for equational theories defined by canonical term rewriting systems. It is also the operational semantics of various logic and functional programming languages. In Ref. 3), we introduced the LSE narrowing strategy, which is complete for arbitrary canonical rewriting systems and optimal in the sense that two different LSE narrowing derivations cannot generate the same narrowing substitution. LSE narrowing improves all previously known strategies for the class of arbitrary canonical systems. LSE narrowing detects redundant derivations by reducibility tests. According to their definition, LSE narrowing steps seem to be very expensive, because a large number of subterms has to be tested. In this paper, we show that many of these subterms are identical. We describe how left-to-right basic occurrences can be used to identify and exclude these identical subterms. This way, we can drastically reduce the number of subterms that have to be tested. Based on these theoretical results, we develop an efficient implementation of LSE narrowing. |
| |
Keywords: | Narrowing Logic and Functional Programming Implementation E-Unification |
本文献已被 SpringerLink 等数据库收录! |
|