The semantics of equational logic programming as an instance of CLP

This work was supported by ESPRIT Basic Research Action P3020 \Integration", by CICYT under grant TIC 91-0425, and by \Progetto Finalizzato Sistemi Informatici e Calcolo Parallelo of C.N.R." under grant n.9100880.PF69 Departamento de Sistemas Inform aticos y Computaci on, Universidad Polit ecnica de Valencia, Camino de Vera s/n, Apdo. 22012, 46020 Valencia, Spain. Dipartimento di Informatica, Universit a di Pisa, Corso Italia 40, 56125 Pisa, Italy We show how functional (i.e. equational) and logic programming can be integrated within the Constraint Logic Programming paradigm. The resulting language CLP( ) is specialized in solving equations with respect to a Horn equational theory . CLP( ) inherits all the semantic properties of the CLP scheme, including a new semantics which models answer constraints. The operational semantics of CLP( ) is de ned by a constraint solver based on conditional narrowing. Several strategies to obtain an incremental constraint solver are considered.

[1]  Corrado Moiso,et al.  Narrowing vs. SLD-Resolution , 1988, Theor. Comput. Sci..

[2]  Jean H. Gallier,et al.  Extending SLD Resolution to Equational Horn Clauses using E-Unification , 1989, J. Log. Program..

[3]  Nachum Dershowitz,et al.  A Rationale for Conditional Equational Programming , 1990, Theor. Comput. Sci..

[4]  Hisao Tamaki,et al.  Semantics of a Logic Programming Language with a Reducibility Predicate , 1984, SLP.

[5]  María Alpuente,et al.  Narrowing as an Incremental Constraint Satisfaction Algorithm , 1991, PLILP.

[6]  Giorgio Levi,et al.  Declarative Modeling of the Operational Behavior of Logic Languages , 1989, Theor. Comput. Sci..

[7]  Uday S. Reddy,et al.  Narrowing as the Operational Semantics of Functional Languages , 1985, SLP.

[8]  Werner Nutt,et al.  Basic Narrowing Revisited , 1989, J. Symb. Comput..

[9]  Giorgio Levi,et al.  A Model-Theoretic Reconstruction of the Operational Semantics of Logic Programs , 1993, Inf. Comput..

[10]  Corrado Moiso,et al.  An Algorithm for Unification in Equational Theories , 1986, SLP.

[11]  Giorgio Levi,et al.  The Relation between Logic and Functional Languages: A Survey , 1986, J. Log. Program..

[12]  Corrado Moiso,et al.  Kernel-LEAF: A Logic plus Functional Language , 1991, J. Comput. Syst. Sci..

[13]  Steffen Hölldobler,et al.  Conditional Equational Theories and Complete Sets of Transformations , 1990, Theor. Comput. Sci..

[14]  Corrado Moiso,et al.  Refined Strategies for Semantic Unification , 1987, TAPSOFT, Vol.2.

[15]  Pascal Van Hentenryck,et al.  Operational Semantics of Constraint Logic Programming over Finite Domains , 1991, PLILP.

[16]  Wayne Snyder,et al.  A General Complete E-Unification Procedure , 1987, RTA.

[17]  Pascal Van Hentenryck,et al.  Extended Unification Algorithms for the Integration of Functional Programming into Logic Programming , 1987, J. Log. Program..

[18]  María Alpuente,et al.  Analyses of Inconsistency for Incremental Equational Logic Programming , 1992, PLILP.

[19]  Juan José Moreno-Navarro,et al.  Logic Programming with Functions and Predicates: The Language BABEL , 1992, J. Log. Program..

[20]  Maurizio Gabbrielli,et al.  Modeling Answer Constraints in Constraint Logic Programs , 1991, ICLP.

[21]  Heinrich Hußmann,et al.  Unification in Conditional Equational Theories , 1985, European Conference on Computer Algebra.

[22]  José Meseguer,et al.  EQLOG: Equality, Types, and Generic Modules For Logic Programming , 1986, Logic Programming: Functions, Relations, and Equations.

[23]  Michael J. Maher,et al.  Logic Programming Language Scheme , 1986, Logic Programming: Functions, Relations, and Equations.

[24]  Joxan Jaffar,et al.  Methodology and Implementation of a CLP System , 1987, ICLP.

[25]  Gert Smolkaz,et al.  Deenite Relations over Constraint Languages , 1988 .

[26]  Nachum Dershowitz,et al.  Logic Programming cum Applicative Programming , 1985, SLP.

[27]  Stéphane Kaplan,et al.  Conditional Rewrite Rules , 1984, Theor. Comput. Sci..

[28]  Corrado Moiso,et al.  A Completeness Result for E-unification Algorithms Based on Conditional Narrowing , 1986, Foundations of Logic and Functional Programming.

[29]  David A. Wolfram Intractable Unifiability Problems and Backtracking , 1986, ICLP.

[30]  Giorgio Levi,et al.  Incremental Constraint Satisfaction for Equational Logic Programming , 1995, Theor. Comput. Sci..

[31]  Corrado Moiso,et al.  A Complete Semantic Characterization of K-Leaf: A Logic Language with Partial Functions , 1987, SLP.

[32]  Laurent Fribourg,et al.  SLOG: A Logic Programming Language Interpreter Based on Clausal Superposition and Rewriting , 1985, SLP.

[33]  Juan José Moreno-Navarro,et al.  BABEL: A Functional and Logic Programming Language based on Constructor Discipline and Narrowing , 1988, ALP.

[34]  Pascal Van Hentenryck Incremental Constraint Satisfaction in Logic Programming , 1990, ICLP.

[35]  Michael Thielscher,et al.  Equational Logic Programming Actions, and Change , 1992, JICSLP.

[36]  Aart Middeldorp,et al.  Counterexamples to completeness results for basic narrowing , 1991 .

[37]  M. H. van Emden,et al.  Logic Programming with Equations , 1987, J. Log. Program..

[38]  Rachid Echahed,et al.  On Completeness of Narrowing Strategies , 1990, Theor. Comput. Sci..

[39]  Jean-Marie Hullot,et al.  Canonical Forms and Unification , 1980, CADE.

[40]  Giorgio Levi,et al.  Models, Unfolding Rules and Fixpoint Semantics , 1988, ICLP/SLP.

[41]  Stéphane Kaplan Fair Conditional Term Rewriting Systems: Unification, Termination, and Confluence , 1984, ADT.