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.
Preview
Unable to display preview. Download preview PDF.
References
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.
P. Brisset et al., ECLiPSe 3.4 Extensions User Manual, ECRC Munich, Germany, July 1994.
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.
Aiba A. et al, Constraint Logic Programming Language CAL, Int Conf on Fifth Generation Computer Systems, 1988, Ohmsha Publishers, Tokyo, pp. 263–276.
J. Cohen, A View of the Origins and Development of Prolog, CACM 31(1):26–36, Jan. 1988.
R. Dechter, I. Meiri and J. Pearl, Temporal Constraint Networks, Journal of Artificial Intelligence 49:61–95, 1991.
N. Dershowitz, Termination of Rewriting, Journal of Symbolic Computation, 3(1+2):69–116, 1987.
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.
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.
T. Frühwirth, Entailment Simplification and Constraint Constructors for User-Defined Constraints, Workshop on Constraint Logic Programming, Marseille, France, March 1993.
T. Frühwirth, User-Defined Constraint Handling, Abstract, ICLP 93, Budapest, Hungary, MIT Press, June 1993.
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.
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.
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).
S. Haridi and S. Janson, Kernel Andorra Prolog and its Computation Model, Seventh International Conference on Logic Programming, MIT Press, 1990, pp. 31–46.
Eine homogene Implementierungsebene fuer einen hybriden Wissensreprae-sentationsformalismus, Master Thesis, in German, University of Kaiserslautern, Germany, April 1993.
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.
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.
J. Jaffar and J.-L. Lassez, Constraint Logic Programming, ACM 14th POPL 87, Munich, Germany, January 1987, pp. 111–119.
J. Jaffar and M. J. Maher, Constraint Logic Programming: A Survey, Journal of Logic Programming, 1994:19,20:503–581.
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.
V. A. Saraswat, Concurrent Constraint Programming Languages, Ph.D. Dissertation, Carnegie Mellon Univ., Draft of Jan. 1989.
V. A. Saraswat, Concurrent Constraint Programming, MIT Press, Cambridge, 1993.
E. Shapiro, The Family of Concurrent Logic Programming Languages, ACM Computing Surveys, 21(3):413–510, September 1989.
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.
P. Van Hentenryck, Constraint satisfaction in Logic Programming, MIT Press Cambridge, 1989.
P. van Hentenryck, Constraint Logic Programming, The Knowledge Engineering Review, Vol 6:3, 1991, pp 151–194.
Author information
Authors and Affiliations
Editor information
Rights 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