Skip to main content

A rewrite approach for constraint logic programming

  • Conference paper
  • First Online:
LATIN '95: Theoretical Informatics (LATIN 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 911))

Included in the following conference series:

  • 157 Accesses

Abstract

Constraint Logic Programming (CLP) is an extension of Logic Programming aimed at replacing the unification mechanism used in Prolog, by a more general operation called constraint satisfaction. This yields a more efficient evaluation process due to the use of appropriate algorithms designed specifically for a given constraint domain. On the other hand, it is known that pure logic programs can be represented as rewrite rules, and executed using a version of Knuth-Bendix completion procedure, called linear completion. Taking advantage of the simplification techniques available with rewriting, linear completion acts as a loopavoiding mechanism, pruning unnecessary computations when possible. A very powerful feature must also be emphasized: for a given query, linear completion may halt with a finite set of simple formulas representing the whole set of answers while the corresponding logic program loops, producing an infinite set of distinct answers: linear completion is a kind of program synthesis mechanism. Our aim is to adapt linear completion to CLP in order to combine the considerable expressiveness of CLP with the operational advantages of linear completion. First, we define how to transform a CLP program into a set of constrained rewrite rules and we propose a precise declarative semantics of such a constrained rewrite program. Next, we give an inference system which defines the new evaluation mechanism and prove its soundness and completeness with regard to our declarative semantics. We also prove that our transformation function is “semantics preserving”: a CLP program and its associated constrained rewrite program have indeed the same declarative semantics. This can be seen as extending the work of M.P Bonacina and J. Hsiang to CLP.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G. Birkhoff, On the structure of Abstract Algebras, Proceedings Cambridge Phil. Soc. 31, 1935.

    Google Scholar 

  2. N. Dershowitz and N.A. Josephson, Logic programming by completion, pages 313–320, Proceedings of the 2nd ICLP, Uppsala, Sweden, 1984.

    Google Scholar 

  3. M.P. Bonacina and J. Hsiang, On rewrite programs: semantics and relationship with Prolog, Journal of Logic Programming, volume 14, pages 155–180, 1992.

    Article  Google Scholar 

  4. J. Jaffar and J.L. Lassez, Constraint Logic Programming, Proceedings of Conference on Principles of Programming Languages, pages 111–117, 1987.

    Google Scholar 

  5. C. Kirchner and H. Kirchner and M. Rusinowitch, Deduction with symbolic constraints, Revue d'Intelligence Artificielle, volume 4, pages 9–52, 1990.

    Google Scholar 

  6. J.W. Lloyd, Foundations of Logic Programming, Springer Verlag, 1984.

    Google Scholar 

  7. M.J. Maher, A Logic Programming View of CLP, Proceedings of 10th ICLP, pages 737–753, MIT Press, 1993.

    Google Scholar 

  8. P. Stuckey, Constructive Negation for Constraint Logic Programming, Proceedings of 6th Symposium on LICS'91, IEEE Computer Society Press, pages 359–373, 1991.

    Google Scholar 

  9. G. Richard and F. Saubion, A Rewrite Approach for Constraint Logic Programming, University of Orleans (France), 1994, number 94–16.

    Google Scholar 

  10. S. Anantharaman and G. Richard, A Rewrite Mechanism for Logic Programs with Negation, Proceedings of RTA'95, KaisersLautern (Germany), to appear.

    Google Scholar 

  11. P. Bruscoli and F. Levi and G. Levi and M.C. Meo, Intensional negation in constraint logic programs, pages 359–373, Proceedings of GULP'93, 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ricardo Baeza-Yates Eric Goles Patricio V. Poblete

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Richard, G., Saubion, F. (1995). A rewrite approach for constraint logic programming. In: Baeza-Yates, R., Goles, E., Poblete, P.V. (eds) LATIN '95: Theoretical Informatics. LATIN 1995. Lecture Notes in Computer Science, vol 911. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-59175-3_111

Download citation

  • DOI: https://doi.org/10.1007/3-540-59175-3_111

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-59175-7

  • Online ISBN: 978-3-540-49220-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics