Affiliation:
1. Portland State Univ., Portland, OR
2. Institut IMAG, Grenoble, France
3. Christian-Albrechts-Univ., Kiel, Germany
Abstract
The narrowing relation over terms constitutes the basis of the most important operational semantics of languages that integrate functional and logic programming paradigms. It also plays an important role in the definition of some algorithms of unification modulo equational theories that are defined by confluent term rewriting systems. Due to the inefficiency of simple narrowing, many refined narrowing strategies have been proposed in the last decade. This paper presents a new narrowing strategy that is optimal in several respects. For this purpose, we propose a notion of a needed narrowing step that, for inductively sequential rewrite systems, extends the Huet and Lévy notion of a needed reduction step. We define a strategy, based on this notion, that computes only needed narrowing steps. Our strategy is sound and complete for a large class of rewrite systems, is optimal with respect to the cost measure that counts the number of distinct steps of a derivation, computes only incomparable and disjoint unifiers, and is efficiently implemented by unification.
Publisher
Association for Computing Machinery (ACM)
Subject
Artificial Intelligence,Hardware and Architecture,Information Systems,Control and Systems Engineering,Software
Cited by
133 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Sparcl: A language for partially invertible computation;Journal of Functional Programming;2024
2. RICE: An Optimizing Curry Compiler;Practical Aspects of Declarative Languages;2023
3. A Rule-Based Procedure for Graph Query Solving;Graph Transformation;2023
4. A Monadic Implementation of Functional Logic Programs;Proceedings of the 24th International Symposium on Principles and Practice of Declarative Programming;2022-09-20
5. From Logic to Functional Logic Programs;Theory and Practice of Logic Programming;2022-07