Abstract
This paper proposes to promote constraints to first-class status. In contrast to constraint propagation, which performs inference on values of variables, first-class constraints allow reasoning about the constraints themselves. This lets the programmer access the current state of a constraint and control a constraint’s behavior directly, thus making powerful new programming and inference techniques possible, as the combination of constraint propagation and rewriting constraints à la term rewriting. First-class constraints allow for true meta constraint programming. Promising applications in the field of combinatorial optimization include early unsatisfiability detection, constraint reformulation to improve propagation, garbage collection of redundant but not yet entailed constraints, and finding minimal inconsistent subsets of a given set of constraints for debugging immediately failing constraint programs.
We demonstrate the above-mentioned applications by means of examples. The experiments were done with Mozart Oz but can be easily ported to other constraint solvers.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Frédéric Benhamou and William J. Older. Applying interval arithmetic to real, integer and boolean constraints. Journal of Logic Programming, 1997.
M. Dincbas, P. Van Hentenryck, H. Simonis, A. Aggoun, T. Graf, and F. Berthier. The constraint logic programming language CHIP. In Proceedings of the International Conference on Fifth Generation Computer Systems FGCS-88, pages 693–702, Tokyo, Japan, December 1988. Institute for New Generation Computer Technology (ICOT), Tokyo, Japan.
Thom Früwirth. Theory and practice of constraint handling rules. Special Issue on Constraint Logic Programming, Journal of Logic Programming, 37(1–3), October 1998.
Warwick Harvey and Peter J. Stuckey. Constraint representation for propagation. In M. Maher and J.-F. Puget, editors, Proceedings of the Fourth International Conference on Principles and Practice of Constraint Programming (CP98), Lecture Notes in Computer Science, pages 235–249, Pisa, Italy, October 1998. Springer-Verlag.
Nevin Heintze, Spiro Michaylov, Peter J. Stuckey, and Roland H.C. Yap. Meta-programming in CLP(R). Journal of Logic Programming, 33(3):221–259, December 1997.
Martin Henz and Jörg Würtz. Using Oz for college timetabling. In E.K. Burke and P. Ross, editors, Practice and Theory of Automated Timetabling, First International Conference, Selected Papers, Edinburgh 1995, volume 1153 of Lecture Notes in Computer Science, Springer, pages 162–178. Springer-Verlag, Berlin-Heidelberg, 1996.
ILOG S. A., URL: http://www.ilog.com/. ILOG Solver 4.4, User’s Manual, 1999.
Michael Mehl, Tobias Müller, Christian Schulte, and Ralf Scheidhauer. Interfacing to C and C++. Technical report, Mozart Consortium, 1999. Available at http://www.mozart-oz.org/documentation/foreign/index.html.
The Mozart Consortium. The Mozart Programming System. http://www.mozart-oz.org/.
Tobias Müller. Practical investigation of constraints with graph views. In Konstantinos Sagonas and Paul Tarau, editors, Proceedings of the International Workshop on Implementation of Declarative Languages (IDL’99), September 1999.
Tobias Müller. The Mozart Constraint Extensions Reference. Technical report, Mozart Consortium, 1999. Available at http://www.mozart-oz.org/documentation/cpiref/index.html.
Tobias Müller and Martin Müller. Finite set constraints in Oz. In François Bry, Burkhard Freitag, and Dietmar Seipel, editors, 13. Workshop Logische Programmierung, pages 104–115, Technische Universität München, 17–19 September 1997.
Tobias Müller and Jörg Würtz. Extending a concurrent constraint language by propagators. In Jan Małuszyński, editor, Proceedings of the International Logic Programming Symposium, pages 149–163. The MIT Press, Cambridge, 1997.
Jean-François Puget and Michel Leconte. Beyond the glass box: Constraints as objects. In John Lloyd, editor, Logic Programming-Proceedings of the 1995 International Symposium, pages 513–527. The MIT Press, Cambridge, December 1995.
Christian Schulte. Oz Explorer: A visual constraint programming tool. In Lee Naish, editor, Proceedings of the Fourteenth International Conference on Logic Programming, pages 286–300, Leuven, Belgium, 8–11 July 1997. The MIT Press, Cambridge.
Christian Schulte. Programming constraint inference engines. In Gert Smolka, editor, Proceedings of the Third International Conferenceon Principles and Practice of Constraint Programming, volume 1330 of Lecture Notes in Computer Science, Schloss Hagenberg, Linz, Austria, October 1997. Springer-Verlag, Berlin-Heidelberg.
Universität Bremen, Group of Prof. Dr. Bernd Krieg-Brückner. The Graph Visualization System daVinci. http://www.informatik.uni-bremen.de/davinci/.
Pascal Van Hentenryck and Yves Deville. The Cardinality Operator: A new Logical Connective for Constraint Logic Programming. In Koichi Furukawa, editor, Proceedings of the International Conference on Logic Programming, pages 745–759, Paris, France, 1991. The MIT Press.
Pascal Van Hentenryck, Vijay Saraswat, and Yves Deville. Design, implementation and evaluation of the constraint language cc(FD). In Andreas Podelski, editor, Constraints: Basics and Trends, volume 910 of Lecture Notes in Computer Science. Springer Verlag, 1995.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Müller, T. (2000). Promoting Constraints to First-Class Status. In: Lloyd, J., et al. Computational Logic — CL 2000. CL 2000. Lecture Notes in Computer Science(), vol 1861. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44957-4_29
Download citation
DOI: https://doi.org/10.1007/3-540-44957-4_29
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67797-0
Online ISBN: 978-3-540-44957-7
eBook Packages: Springer Book Archive