Analyses of inconsistency for incremental equational logic programming

  • Maria Alpuente
  • Moreno Falaschi
  • Ferdinando Manzo
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 631)


The problem of unifying pairs of terms with respect to an equational theory ε (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.


Abstract interpretation Equational logic programming term rewriting systems universal unification 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    G. Aguzzi and M.C. Verri. On the termination of a unification procedure. In A. Bertoni, C. Böhm, and P. Miglioli, editors, Proc. of the Third Italian Conference on Theoretical Computer Science, pages 59–70, 1989.Google Scholar
  2. 2.
    H. AÏt-Kaci, P. Lincoln, and R. Nasr. Le Fun: Logic, equations, and Functions. In Proc. Second IEEE Symp. on Logic In Computer Science, pages 17–23. IEEE Computer Society Press, 1987.Google Scholar
  3. 3.
    M. Alpuente and M. Falaschi. Narrowing as an Incremental Constraint Satisfaction Algorithm. In J. Maluszyński and M. Wirsing, editors, Proc. of PLILP'91, volume 528 of Lecture Notes in Computer Science, pages 111–122. Springer-Verlag, Berlin, 1991.Google Scholar
  4. 4.
    M. Alpuente, M. Falaschi, and F. Manzo. Analyses of Inconsistency for Lazy Equational CLP. Technical report, Dipartimento di Informatica, Università di Pisa, 1992.Google Scholar
  5. 5.
    K. R. Apt. Introduction to Logic Programming. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics. Elsevier, Amsterdam and The MIT Press, Cambridge, Mass., 1990.Google Scholar
  6. 6.
    H.J. Bürckert. Lazy E-unification — a method to delay alternative solutions. Technical report, Université de Nancy, France, 1987.Google Scholar
  7. 7.
    J. Chabin and P. Réty. Narrowing directed by a graph of terms. In G. Goos and J. Hartmanis, editors, Proc. of RTA'91, volume 488 of Lecture Notes in Computer Science, pages 112–123. Springer-Verlag, Berlin, 1991.Google Scholar
  8. 8.
    M. Codish, M. Falaschi, and K. Marriott. Suspension Analysis for Concurrent Logic Programs. In K. Furukawa, editor, Proc. Eighth Int'l Conf. on Logic Programming, pages 331–345. The MIT Press, Cambridge, Mass., 1991.Google Scholar
  9. 9.
    P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In Proc. Fourth ACM Symp. Principles of Programming Languages, pages 238–252, 1977.Google Scholar
  10. 10.
    M. Dincbas and P. van Hentenryck. Extended Unification Algorithms for the Integration of Functional Programming into Logic Programming. Journal of Logic Programming, 4:197–227, 1987.Google Scholar
  11. 11.
    N. Dershowitz and G. Sivakumar. Solving Goals in Equational Languages. In S. Kaplan and J. Joaunnaud, editors, Proc. First Int'l Workshop on Conditional Term Rewriting, volume 308 of Lecture Notes in Computer Science, pages 45–55. Springer-Verlag, Berlin, 1987.Google Scholar
  12. 12.
    L. Fribourg. Slog: a logic programming language interpreter based on clausal superposition and rewriting. In Proc. Second IEEE Int'l Symp. on Logic Programming, pages 172–185. IEEE, 1985.Google Scholar
  13. 13.
    J.H. Gallier and S. Raatz. Extending SLD-resolution to equational Horn clauses using E-unification. Journal of Logic Programming, 6:3–43, 1989.Google Scholar
  14. 14.
    P. Van Hentenryck. Incremental Constraint Satisfaction in logic programming. In D. H. D. Warren and P. Szeredi, editors, Proc. Seventh Int'l Conf. on Logic Programming, pages 189–202. The MIT Press, Cambridge, Mass., 1990.Google Scholar
  15. 15.
    P. Van Hentenryck and Y. Deville. Operational Semantics of Constraint Logic Programming over Finite Domains. In J. Maluszyński and M. Wirsing, editors, Proc. of PLILP'91, volume 528 of Lecture Notes in Computer Science, pages 395–406. Springer-Verlag, Berlin, 1991.Google Scholar
  16. 16.
    S. Hölldobler. Foundations of Equational Logic Programming, volume 353 of Lecture Notes in Artificial Intelligence. Springer-Verlag, Berlin, 1989.Google Scholar
  17. 17.
    H. Hussman. Unification in conditional-equational theories. Technical report, Fakultät für Mathematik und Informatik, Universität Passau, 1986.Google Scholar
  18. 18.
    J. Jaffar and J.-L. Lassez. Constraint Logic Programming. In Proc. Fourteenth Annual ACM Symp. on Principles of Programming Languages, pages 111–119. ACM, 1987.Google Scholar
  19. 19.
    J. Jaffar, J.-L. Lassez, and M.J. Maher. A logic programming language scheme. In D. de Groot and G. Lindstrom, editors, Logic Programming, Functions, Relations and Equations, pages 441–468. Prentice Hall, Englewood Cliffs, NJ, 1986.Google Scholar
  20. 20.
    S. Kaplan. Fair conditional term rewriting systems: unification, termination and confluence. In H.-J. Kreowski, editor, Recent Trends in Data Type Specification, volume 116 of Informatik-Fachberichte, pages 136–155. Springer-Verlag, Berlin, 1986.Google Scholar
  21. 21.
    J.W. Klop. Term rewriting systems. In S. Abramsky, D. Gabbay, and T. Maibaum, editors, Handbook of Logic in Computer Science, I. Oxford University Press, 1991.Google Scholar
  22. 22.
    J.-L. Lassez, M. J. Maher, and K. Marriott. Unification Revisited. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 587–625. Morgan Kaufmann. Los Altos, Ca., 1988.Google Scholar
  23. 23.
    K. Marriott and H. Sondergaard. Semantics-based Dataflow Analysis of Logic Programs. In G. Ritter, editor, Information Processing 89. North-Holland, 1989.Google Scholar
  24. 24.
    A. Middeldorp and E. Hamoen. Counterexamples to completeness results for basic narrowing. To appear in Proc. Third Int'l Conf. on Algebraic and Logic Programming, 1992.Google Scholar
  25. 25.
    P. Réty, C. Kirchner, H. Kirchner, and P. Lescanne. NARROWER: A new algorithm for unification and its applications to logic programming. In Proc. of RTA '85, volume 202 of Lecture Notes in Computer Science, pages 141–157. Springer-Verlag, Berlin, 1985.Google Scholar
  26. 26.
    J.H. Siekmann. Unification Theory. Journal of Symbolic Computation, 7:207–274, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Maria Alpuente
    • 1
  • Moreno Falaschi
    • 2
  • Ferdinando Manzo
    • 2
  1. 1.Departamento de Sistemas Informáticos y ComputaciónUniversidad Politécnica de ValenciaValenciaSpain
  2. 2.Dipartimento di InformaticaUniversità di PisaPisaItaly

Personalised recommendations