Skip to main content

On confluence of Constraint Handling Rules

  • Papers
  • Conference paper
  • First Online:

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

Abstract

We introduce the notion of confluence for Constraint Handling Rules (CHR), a powerful language for writing constraint solvers. With CHR one simplifies and solves constraints by applying rules. Confluence guarantees that a CHR program will always compute the same result for a given set of constraints independent of which rules are applied. We give a decidable, sufficient and necessary syntactic condition for confluence.

Confluence turns out to be an essential syntactical property of CHR programs for two reasons. First, confluence implies correctness (as will be shown in this paper). In a correct CHR program, application of CHR rules preserves logical equivalence of the simplified constraints. Secondly, even when the program is already correct, confluence is highly desirable. Otherwise, given some constraints, one computation may detect their inconsistency while another one may just simplify them into a still complex constraint.

As a side-effect, the paper also gives soundness and completeness results for CHR programs. Due to their special nature, and in particular correctness, these theorems are stronger than what holds for the related families of (concurrent) constraint programming languages.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. Abdennadher, T. Frühwirth, and H. Meuss. Confluent simplification rules. Technical report, LMU Munich, January 1996.

    Google Scholar 

  2. P. Brisset, T. Frühwirth, P. Lim, M. Meier, T. Le Provost, J. Schimpf, and M. Wallace. ECL i PS e 3.4 Extensions User Manual ECRC Munich Germany, July 1994.

    Google Scholar 

  3. N. Dershowitz, N. Okada, and G. Sivakumar. Confluence of conditional rewrite systems. In 1st CTRS, pages 31–44. LNCS 308, 1988.

    Google Scholar 

  4. ECLiPSe 3.4 User Manual, July 1994.

    Google Scholar 

  5. M. Falaschi, M. Gabbrielli, K. Marriott, and C. Palamidessi. Confluence in concurrent constraint programming. In Alagar and Nivat, editors, Proceedings of AMAST '95, LNCS 936. Springer, 1995.

    Google Scholar 

  6. T. Frühwirth. Constraint handling rules. In A. Podelski, editor, Constraint Programming: Basics and Trends. LNCS 910, March 1995.

    Google Scholar 

  7. J. Jaffar and J. L. Lassez. Constraint logic programming. In Proceedings of the 14th ACM Symposium on Principles of Programming Languages POPL-87, Munich, Germany, pages 111–119, 1987.

    Google Scholar 

  8. J. Jaffar and M. J. Maher. Constraint logic programming: A survey. Journal of Logic Programming, 20:503–581, 1994.

    Google Scholar 

  9. Claude Kirchner and Hélène Kirchner. Rewriting: Theory and Applications. North-Holland, 1991.

    Google Scholar 

  10. M. J. Maher. Logic Semantics for a Class of Committed-Choice Programs. In Fourth International Conference on Logic Programming, pages 858–876, Melbourne, Australia, May 1987.

    Google Scholar 

  11. K. Marriott and M. Odersky. A confluent calculus for concurrent constraint programming with guarded choice. In Ugo Montanari Francesca Rossi, editor, Principles and Practice of Constraint Programming, Proceedings First International Conference, CP'95, Cassis, France, pages 310–327, Berlin, September 1995. Springer.

    Google Scholar 

  12. David A. Plaisted. Equational reasoning and term rewriting systems. In D. Gabbay, C. Hogger, J. A. Robinson, and J. Siekmann, editors, Handbook of Logic in Artificial Intelligence and Logic Programming, volume 1, chapter 5, pages 273–364. Oxford University Press, Oxford, 1993.

    Google Scholar 

  13. V. A. Saraswat. Concurrent Constraint Programming. MIT Press, Cambridge, 1993.

    Google Scholar 

  14. E. Shapiro. The family of concurrent logic programming languages. In ACM Computing Surveys, volume 21:3, pages 413–510, September 1989.

    Google Scholar 

  15. V. A. Saraswat, M. Rinard, and P. Panangaden. The semantics foundations of concurrent constraint programming. In Conference Record of the Eighteenth Annual ACM Symposium on principles of Programming Languages, pages 333–352, Orlando, Florida, January 1991. ACM Press.

    Google Scholar 

  16. P. van Hentenryck. Constraint logic programming. In The Knowledge Engineering Review, volume 6, pages 151–194, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Eugene C. Freuder

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Abdennadher, S., Frühwirth, T., Meuss, H. (1996). On confluence of Constraint Handling Rules. In: Freuder, E.C. (eds) Principles and Practice of Constraint Programming — CP96. CP 1996. Lecture Notes in Computer Science, vol 1118. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61551-2_62

Download citation

  • DOI: https://doi.org/10.1007/3-540-61551-2_62

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61551-4

  • Online ISBN: 978-3-540-70620-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics