Foundations of logic programming
Foundations of logic programming
NARROWER: a new algorithm for unification and its application to logic programming
Proc. of the first international conference on Rewriting techniques and applications
A class of confluent term rewriting systems and unification
Journal of Automated Reasoning
A unification algorithm for confluent theories
14th International Colloquium on Automata, languages and programming
Refined strategies for semantic unification
II and Colloquium on Functional and Logic Programming and Specifications (CFLP) on TAPSOFT '87: Advanced Seminar on Foundations of Innovative Software Development
A Machine-Oriented Logic Based on the Resolution Principle
Journal of the ACM (JACM)
Automated Theorem-Proving for Theories with Simplifiers Commutativity, and Associativity
Journal of the ACM (JACM)
Unification in Conditional Equational Theories
EUROCAL '85 Research Contributions from the European Conference on Computer Algebra-Volume 2
Improving Basic Narrowing Techniques
RTA '87 Proceedings of the 2nd International Conference on Rewriting Techniques and Applications
A General Complete E-Unification Procedure
RTA '87 Proceedings of the 2nd International Conference on Rewriting Techniques and Applications
Canonical Forms and Unification
Proceedings of the 5th Conference on Automated Deduction
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On solving equations and disequations
Journal of the ACM (JACM)
Partial evaluation of functional logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Journal of the ACM (JACM)
Constraints in computational logics
Functional and constraint logic programming
Constraints in computational logics
Journal of Automated Reasoning
Lazy narrowing with simplification
Computer Languages
Narrowing Strategies For Arbitrary Canonical Rewrite Systems
Fundamenta Informaticae
Hi-index | 0.00 |
In this paper we study basic narrowing as a method for solving equations in theinitial algebra specified by a ground confluent and terminating term rewriting system. Since we are interested in equation solving, we don't study basic narrowing as a reduction relation on terms but consider immediately its reformulation as an equation solving rule. This reformulation leads to a technically simpler presentation and reveals that the essence of basic narrowing can be captured without recourse to term unification. We present an equation solving calculus that features three classes of rules. Resolution rules, whose application is don't know nondeterministic, are the basic rules and suffice for a complete solution procedure. Failure rules detect inconsistent parts of the search space. Simplification rules, whose application is don't care nondeterministic, enhance the power of the failure rules and reduce the number of necessary don't know steps. Three of the presented simplification rules are new. The rewriting ruleallows for don't care nondeterministic rewriting and thus yields a marriage of basic and normalizing narrowing. The safe blocking rule is specific to basic narrowing and is particularly useful in conjunction with the rewriting rule. Finally, the unfolding rule allows for a variety of search strategies that reduce the number of don't know alternatives that need to be explored.