Constraints provide a declarative way of representing infinite sets of data. They are well suited for combining different logical or programming paradigms as has been known for constraint logic programming since the 1980s and more recently for functional programming. The use of constraints in automated deduction is more recent and has proved to be very successful, moving the control from the meta-level to the constraints, which are now first-class objects.
This monograph-like book presents six thoroughly reviewed and revised lectures given by leading researchers at the summer school organized by the ESPRIT CCL Working Group in Gif-sur-Yvette, France, in September 1999. The book offers coherently written chapters on constraints and constraint solving, constraint solving on terms, combining constraint solving, constraints and theorem proving, functional and constraint logic programming, and building industrial applications.