首页 | 本学科首页   官方微博 | 高级检索  
     


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 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号