Generating Propagators for Finite Set Constraints

  • Guido Tack
  • Christian Schulte
  • Gert Smolka
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4204)


Ideally, programming propagators as implementations of constraints should be an entirely declarative specification process for a large class of constraints: a high-level declarative specification is automatically translated into an efficient propagator. This paper introduces the use of existential monadic second-order logic as declarative specification language for finite set propagators. The approach taken in the paper is to automatically derive projection propagators (involving a single variable only) implementing constraints described by formulas. By this, the paper transfers the ideas of indexicals to finite set constraints while considerably increasing the level of abstraction available with indexicals. The paper proves soundness and completeness of the derived propagators and presents a run-time analysis, including techniques for efficiently executing projectors for n-ary constraints.


Boolean Function Constraint Satisfaction Problem Conjunctive Normal Form Binary Decision Diagram Generate Propagator 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Apt, K.: Principles of Constraint Programming. Cambridge University Press, Cambridge (2003)zbMATHCrossRefGoogle Scholar
  2. 2.
    Ågren, M., Flener, P., Pearson, J.: Incremental algorithms for local search from existential second-order logic. In: van Beek, P. (ed.) CP 2005. LNCS, vol. 3709, pp. 47–61. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Beldiceanu, N., Carlsson, M., Petit, T.: Deriving filtering algorithms from constraint checkers. In: Wallace [21], pp. 107–122Google Scholar
  4. 4.
    Benhamou, F.: Heterogeneous Constraint Solving. In: Hanus, M., Rodríguez-Artalejo, M. (eds.) ALP 1996. LNCS, vol. 1139, pp. 62–76. Springer, Heidelberg (1996)Google Scholar
  5. 5.
    Bessiere, C., Hebrard, E., Hnich, B., Kiziltan, Z., Walsh, T.: The range and roots constraints: Specifying counting and occurrence constraints. In: IJCAI, pp. 60–65 (August 2005)Google Scholar
  6. 6.
    Carlson, B.: Compiling and Executing Finite Domain Constraints. Ph.D thesis, Uppsala University, Sweden (1995)Google Scholar
  7. 7.
    Carlson, B., Carlsson, M., Diaz, D.: Entailment of finite domain constraints. In: Proceedings of the Eleventh International Conference on Logic Programming, pp. 339–353. MIT Press, Cambridge (1994)Google Scholar
  8. 8.
    Carlsson, M., Ottosson, G., Carlson, B.: An open-ended finite domain constraint solver. In: Hartel, P.H., Kuchen, H. (eds.) PLILP 1997. LNCS, vol. 1292, pp. 191–206. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  9. 9.
    Codognet, P., Diaz, D.: Compiling constraints in clp(FD). Journal of Logic Programming 27(3), 185–226 (1996)zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Gervet, C.: Interval propagation to reason about sets: Definition and implementation of a practical language. Constraints 1(3), 191–244 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Hawkins, P., Lagoon, V., Stuckey, P.: Solving set constraint satisfaction problems using ROBDDs. J. Artif. Intell. Res (JAIR) 24, 109–156 (2005)zbMATHCrossRefGoogle Scholar
  12. 12.
    Hentenryck, P.V., Saraswat, V.A., Deville, Y.: Constraint processing in cc(FD). Technical report, Brown University (1991)Google Scholar
  13. 13.
    Hentenryck, P.V., Saraswat, V.A., Deville, Y.: Design, implementation, and evaluation of the constraint language cc(FD). Journal of Logic Programming 37(1-3), 293–316 (1998)Google Scholar
  14. 14.
    Intelligent Systems Laboratory. SICStus Prolog user’s manual, 3.12.1. Technical report, Swedish Institute of Computer Science, Box 1263, 164 29 Kista, Sweden (2006)Google Scholar
  15. 15.
    Müller, T.: Constraint Propagation in Mozart. Doctoral dissertation, Universität des Saarlandes, Naturwissenschaftlich-Technische Fakultät I, Fachrichtung Informatik, Saarbrücken, Germany (2001)Google Scholar
  16. 16.
    Puget, J.-F.: PECOS: A high level constraint programming language. In: Proceedings of the first Singapore international conference on Intelligent Systems (SPICIS), pp. 137–142 (1992)Google Scholar
  17. 17.
    Sadler, A., Gervet, C.: Hybrid set domains to strengthen constraint propagation and reduce symmetries. In: Wallace [21], pp. 604–618Google Scholar
  18. 18.
    Schulte, C., Stuckey, P.J.: Speeding up constraint propagation. In: Wallace [21], pp. 619–633Google Scholar
  19. 19.
    Schulte, C., Tack, G.R.: Views and iterators for generic constraint implementations. In: Hnich, B., Carlsson, M., Fages, F., Rossi, F. (eds.) CSCLP 2005. LNCS, vol. 3978, pp. 118–132. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  20. 20.
    The Gecode team. Generic constraint development environment (2006),
  21. 21.
    Wallace, M. (ed.): CP 2004. LNCS, vol. 3258. Springer, Heidelberg (2004)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Guido Tack
    • 1
  • Christian Schulte
    • 2
  • Gert Smolka
    • 1
  1. 1.PS LabSaarland UniversitySaarbrückenGermany
  2. 2.ECS, ICT, KTHRoyal Institute of TechnologySweden

Personalised recommendations