Implementing Constraints

# Chapter 14 Implementing Constraints

This chapter describes how to use ECLiPSe’s advanced control facilities for implementing constraints. Note that the Generalised Propagation library lib(propia) and the Constraint Handling Rules library lib(ech) provide other, higher-level ways to implement constraints. Those are more suited for prototyping, while this chapter introduces those low-level primitives that are actually used in the implementation of the various ECLiPSe constraint solvers.

- What is a Constraint in Logic Programming?
- Background: Constraint Satisfaction Problems
- Constraint Behaviours
  - Consistency Check
  - Forward Checking
  - Domain (Arc) Consistency
  - Bounds Consistency
- Programming Basic Behaviours
  - Consistency Check
  - Forward Checking
- Basic Suspension Facility
- A Bounds-Consistent IC constraint
- Using a Demon
- Exercises