Analyses of Inconsistency for Incremental Equational Logic Programming

The problem of unifying pairs of terms with respect to an equational theory e (as well as detecting the inconsistency of a system of equations) is in general undecidable. We propose a static analysis which allows to detect inconsistent sets of equations. The method consists of building an abstract narrower for equational theories and executing the sets of equations to be detected for inconsistency in the approximated narrower. The accuracy of this method is enhanced by some simple loop-checking technique. We show that our method can also be actively used for pruning the search tree of an incremental equational constraint solver. Our method results to well relate and integrate with other methods in the literature.

[1]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[2]  Nachum Dershowitz,et al.  Solving Goals in Equational Languages , 1988, CTRS.

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

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

[5]  Krzysztof R. Apt,et al.  Introduction to Logic Programming , 1988 .

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

[7]  Patrick Lincoln,et al.  Le Fun: Logic, Equations and Functions , 1987, SLP.

[8]  Doug DeGroot,et al.  Logic programming - functions, relations and equations , 1986 .

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

[10]  Steffen Hölldobler,et al.  Foundations of Equational Logic Programming , 1989, Lecture Notes in Computer Science.

[11]  Aart Middeldorp,et al.  Counterexamples to Completeness Results for Basic Narrowing (Extended Abstract) , 1992, ALP.

[12]  Claude Kirchner,et al.  NARROWER: A New Algorithm for Unification and Its Application to Logic Programming , 1985, RTA.

[13]  Michael J. Maher,et al.  Unification Revisited , 1988, Foundations of Deductive Databases and Logic Programming..

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

[15]  Jörg H. Siekmann Unification Theory , 1989, J. Symb. Comput..

[16]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[17]  Kim Marriott,et al.  Semantics-Based Dataflow Analysis of Logic Programs , 1989, IFIP Congress.

[18]  Kim Marriott,et al.  Suspension analyses for concurrent logic programs , 1994, TOPL.

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

[20]  Pascal Van Hentenryck Constraint satisfaction in logic programming , 1989, Logic programming.

[21]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[22]  Jan van Leeuwen,et al.  Handbook of Theoretical Computer Science, Vol. B: Formal Models and Semantics , 1994 .

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

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

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

[26]  Jan Willem Klop,et al.  Term Rewriting Systems: From Church-Rosser to Knuth-Bendix and Beyond , 1990, ICALP.

[27]  Jacques Chabin,et al.  Narrowing Directed by a Graph of Terms , 1991, RTA.

[28]  Jack Minker Foundations of deductive databases and logic programming , 1988 .

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