TY - JOUR
T1 - Constrained narrowing for conditional equational theories modulo axioms
AU - Cholewa, Andrew
AU - Escobar, Santiago
AU - Meseguer, José
N1 - Funding Information:
We thank the anonymous referees for their constructive criticism and their very detailed and helpful suggestions for improving an earlier version of this work. We also thank Luis Aguirre for kindly giving us additional suggestions to improve the text. This work has been partially supported by NSF Grant CNS 13-19109 and by the EU ( FEDER ) and the Spanish MINECO under grant TIN 2013-45732-C4-1-P , and by Generalitat Valenciana PROMETEOII/2015/013 .
Publisher Copyright:
© 2015 Elsevier B.V. Allrightsreserved.
PY - 2015
Y1 - 2015
N2 - For an unconditional equational theory (Σ, E)whose oriented equations ΣEare confluent and terminating, narrowing provides an E-unification algorithm. This has been generalized by various authors in two directions: (i) by considering unconditional equational theories (Σ, E∪B)where the ΣEare confluent, terminating and coherent modulo axioms B, and (ii) by considering conditional equational theories. Narrowing for a conditional theory (Σ, E∪B)has also been studied, but much less and with various restrictions. In this paper we extend these prior results by allowing conditional equations with extra variables in their conditions, provided the corresponding rewrite rules ΣEare confluent, strictly coherent, operationally terminating modulo Band satisfy a natural determinismcondition allowing incremental computation of matching substitutions for their extra variables. We also generalize the type structure of the types and operations in Σ to be order-sorted. The narrowing method we propose, called constrained narrowing, treats conditions as constraints whose solution is postponed. This can greatly reduce the search space of narrowing and allows notions such as constrained variantand constrained unifierthat can cover symbolically possibly infinite sets of actual variants and unifiers. It also supports a hierarchicalmethod of solving constraints. We give an inference system for hierarchical constrained narrowing modulo Band prove its soundness and completeness.
AB - For an unconditional equational theory (Σ, E)whose oriented equations ΣEare confluent and terminating, narrowing provides an E-unification algorithm. This has been generalized by various authors in two directions: (i) by considering unconditional equational theories (Σ, E∪B)where the ΣEare confluent, terminating and coherent modulo axioms B, and (ii) by considering conditional equational theories. Narrowing for a conditional theory (Σ, E∪B)has also been studied, but much less and with various restrictions. In this paper we extend these prior results by allowing conditional equations with extra variables in their conditions, provided the corresponding rewrite rules ΣEare confluent, strictly coherent, operationally terminating modulo Band satisfy a natural determinismcondition allowing incremental computation of matching substitutions for their extra variables. We also generalize the type structure of the types and operations in Σ to be order-sorted. The narrowing method we propose, called constrained narrowing, treats conditions as constraints whose solution is postponed. This can greatly reduce the search space of narrowing and allows notions such as constrained variantand constrained unifierthat can cover symbolically possibly infinite sets of actual variants and unifiers. It also supports a hierarchicalmethod of solving constraints. We give an inference system for hierarchical constrained narrowing modulo Band prove its soundness and completeness.
KW - Conditional narrowing
KW - Constrained unification
KW - Constrained variants
KW - Layered narrowing
KW - Narrowing modulo
UR - http://www.scopus.com/inward/record.url?scp=84948583698&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84948583698&partnerID=8YFLogxK
U2 - 10.1016/j.scico.2015.06.001
DO - 10.1016/j.scico.2015.06.001
M3 - Article
AN - SCOPUS:84948583698
SN - 0167-6423
VL - 112
SP - 24
EP - 57
JO - Science of Computer Programming
JF - Science of Computer Programming
IS - P1
ER -