Skip to main content

Constraint handling rules

  • Conference paper
  • First Online:
Book cover Constraint Programming: Basics and Trends (TCS School 1994)

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

Included in the following conference series:

Abstract

We are investigating the use of a class of logical formulas to define constraint theories and implement constraint solvers at the same time. The representation of constraint evaluation in a declarative formalism greatly facilitates the prototyping, extension, specialization and combination of constraint solvers. In our approach, constraint evaluation is specified using multi-headed guarded clauses called constraint handling rules (CHRs). CHRs define determinate conditional rewrite systems that express how conjunctions of constraints propagate and simplify.

In this paper we concentrate on CHRs as an extension for constraint logic programming languages. Into such languages, the CHRs can be tightly integrated. They can make use of any hard-wired solvers already built into the host language. Program clauses can be used to specify the non deterministic behavior of constraints, i.e. to introduce search by constraints. In this way our approach merges the advantages of constraints (eager simplification by CHRs) and predicates (lazy choices by clauses).

Part of this work is supported by ESPRIT Project 5291 CHIC. This paper is a revised version of the technical report [Fru92].

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. Andreoli J.-M. and Pareschi R., Linear Objects: Logical Processes with Built-In Inheritance, Seventh Intl Conf on Logic Programming MIT Press 1990, pp. 495–510.

    Google Scholar 

  2. P. Brisset et al., ECLiPSe 3.4 Extensions User Manual, ECRC Munich, Germany, July 1994.

    Google Scholar 

  3. Banatre J.-P., Coutant A. and Le Metayer D., A Parallel Machine for Multiset Transformation and its Programming Style, Future Generation Computer Systems 4:133–144, 1988.

    Google Scholar 

  4. Aiba A. et al, Constraint Logic Programming Language CAL, Int Conf on Fifth Generation Computer Systems, 1988, Ohmsha Publishers, Tokyo, pp. 263–276.

    Google Scholar 

  5. J. Cohen, A View of the Origins and Development of Prolog, CACM 31(1):26–36, Jan. 1988.

    Google Scholar 

  6. R. Dechter, I. Meiri and J. Pearl, Temporal Constraint Networks, Journal of Artificial Intelligence 49:61–95, 1991.

    Google Scholar 

  7. N. Dershowitz, Termination of Rewriting, Journal of Symbolic Computation, 3(1+2):69–116, 1987.

    Google Scholar 

  8. T. Frühwirth, Constraint Simplification Rules, Technical Report ECRC-92-18, ECRC Munich, Germany, July 1992 (revised version of Internal Report ECRC-LP-63, October 1991), available by anonymous ftp from ftp.ecrc.de, directory pub/ECRC_tech_reports/reports, file ECRC-92-18.ps.Z.

    Google Scholar 

  9. T. Frühwirth, A. Herold, V. Küchenhoff, T. Le Provost, P. Lim, E. Monfroy and M. Wallace. Constraint Logic Programming — An Informal Introduction, Chapter in Logic Programming in Action, Springer LNCS 636, September 1992. Also Technical Report ECRC-93-05, ECRC Munich, Germany, February 1993.

    Google Scholar 

  10. T. Frühwirth, Entailment Simplification and Constraint Constructors for User-Defined Constraints, Workshop on Constraint Logic Programming, Marseille, France, March 1993.

    Google Scholar 

  11. T. Frühwirth, User-Defined Constraint Handling, Abstract, ICLP 93, Budapest, Hungary, MIT Press, June 1993.

    Google Scholar 

  12. T. Frühwirth, Temporal Reasoning with Constraint Handling Rules, Technical Report ECRC-94-05, ECRC Munich, Germany, February 1994 (first published as CORE-93-08, January 1993), available by anonymous ftp from ftp.ecrc.de, directory pub/ECRC_tech_reports/reports, file ECRC-94-05.ps.Z.

    Google Scholar 

  13. T. Frühwirth and P. Hanschke, Terminological Reasoning with Constraint Handling Rules, Chapter in Principles and Practice of Constraint Programming (P. Van Hentenryck and V.J. Saraswat, Eds.), MIT Press, to appear. Revised version of Technical Report ECRC-94-06, ECRC Munich, Germany, February 1994, available by anonymous ftp from ftp.ecrc.de, directory pub/ECRC_tech_reports/reports, file ECRC-94-06.ps.Z.

    Google Scholar 

  14. T. Graf, Raisonnement sur les contraintes en programmation en logique, Ph.D. Thesis, Version of June 1989 Universite de Nice, France, September 1989 (in French).

    Google Scholar 

  15. S. Haridi and S. Janson, Kernel Andorra Prolog and its Computation Model, Seventh International Conference on Logic Programming, MIT Press, 1990, pp. 31–46.

    Google Scholar 

  16. Eine homogene Implementierungsebene fuer einen hybriden Wissensreprae-sentationsformalismus, Master Thesis, in German, University of Kaiserslautern, Germany, April 1993.

    Google Scholar 

  17. J. Jaffar et al., The CLP(R) Language and System, ACM Transactions on Programming Languages and Systems, Vol. 14:3, July 1992, pp. 339–395.

    Google Scholar 

  18. S. Janson and S. Haradi, Programming Paradigms of the Andorra Kernel Language, in Saraswat, Vijay and Ueda, Kazunori, editors, Logic Programming, Proceedings of the 1991 International Symposium, pp. 167–186. MIT Press, 1991.

    Google Scholar 

  19. J. Jaffar and J.-L. Lassez, Constraint Logic Programming, ACM 14th POPL 87, Munich, Germany, January 1987, pp. 111–119.

    Google Scholar 

  20. J. Jaffar and M. J. Maher, Constraint Logic Programming: A Survey, Journal of Logic Programming, 1994:19,20:503–581.

    Google Scholar 

  21. C. Kirchner and H. Kirchner, Rewriting: Theory and Applications, Working paper for a D.E.A. lecture at the University of Nancy I, France, 1989.

    Google Scholar 

  22. V. A. Saraswat, Concurrent Constraint Programming Languages, Ph.D. Dissertation, Carnegie Mellon Univ., Draft of Jan. 1989.

    Google Scholar 

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

    Google Scholar 

  24. E. Shapiro, The Family of Concurrent Logic Programming Languages, ACM Computing Surveys, 21(3):413–510, September 1989.

    Google Scholar 

  25. G. Smolka, Residuation and Guarded Rules for Constraint Logic Programming, in F. Benhamou and A. Colmerauer, editors, Constraint Logic Programming: Selected Research, pages 405–419. MIT Press, 1993.

    Google Scholar 

  26. P. Van Hentenryck, Constraint satisfaction in Logic Programming, MIT Press Cambridge, 1989.

    Google Scholar 

  27. P. van Hentenryck, Constraint Logic Programming, The Knowledge Engineering Review, Vol 6:3, 1991, pp 151–194.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Andreas Podelski

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Frühwirth, T. (1995). Constraint handling rules. In: Podelski, A. (eds) Constraint Programming: Basics and Trends. TCS School 1994. Lecture Notes in Computer Science, vol 910. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-59155-9_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-59155-9_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-59155-9

  • Online ISBN: 978-3-540-49200-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics