Handbook of theoretical computer science (vol. B)
Handbook of logic in computer science (vol. 2)
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Handbook of logic in artificial intelligence and logic programming
Lazy narrowing: strong completeness and eager variable elimination
TAPSOFT '95 Selected papers from the 6th international joint conference on Theory and practice of software development
Term rewriting and all that
Admissible graph rewriting and narrowing
JICSLP'98 Proceedings of the 1998 joint international conference and symposium on Logic programming
Normalizing Narrowing for Weakly Terminating and Confluent Systems
CP '95 Proceedings of the First International Conference on Principles and Practice of Constraint Programming
Completeness of Extending Unification Based on Basic Narrowing
Proceedings of the 7th Conference on Logic Programming '88
Canonical Forms and Unification
Proceedings of the 5th Conference on Automated Deduction
Collapsed Tree Rewriting: Completeness, Confluence, and Modularity
CTRS '92 Proceedings of the Third International Workshop on Conditional Term Rewriting Systems
Lazy narrowing with simplification
Computer Languages
Narrowing Strategies For Arbitrary Canonical Rewrite Systems
Fundamenta Informaticae
Hi-index | 0.00 |
Narrowing is a method for solving equations in the equational theories of term rewriting systems. Unification and rewriting, the central operations in narrowing, are often implemented on graph-like data structures to exploit sharing of common subexpressions. In this paper, we study the completeness of narrowing in graph-based implementations. We show that the well-known condition for the completeness of tree-based narrowing, viz. a normalizing and confluent term rewrite relation, does not suffice. Completeness is restored, however, if the implementing graph rewrite relation is normalizing and confluent. We address basic narrowing and show its completeness for innermost normalizing and confluent graph rewriting. Then we consider the combination of basic narrowing with two strategies for controlling sharing, obtaining minimally collapsing and maximally collapsing basic narrowing. The former is shown to be complete in the presence of innermost normalization and confluence, the latter in the presence of termination and confluence. Maximally collapsing narrowing sometimes speeds up narrowing derivations drastically. Our results on minimally collapsing basic narrowing correct analogous claims by Krishna Rao [Proc. JICSLP'96] which are based on an incomplete version of term graph narrowing.