Constraint Solver Synthesis Using Tabled Resolution for Constraint Logic Programming

  • Slim Abdennadher
  • Christophe Rigotti
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2664)


The goal of automated program synthesis is to bridge the gap between what is easy for people to describe and what is possible to execute on a computer. In this paper, we present a framework for synthesis of rule-based solvers for constraints given their logical specication. This approach takes advantage of the power of tabled resolution for constraint logic programming, in order to check the validity of the rules. Compared to previous work [8,19,2,5,3], where different methods for automatic generation of constraint solvers have been proposed, our approach enables the generation of more expressive rules (even recursive and splitting rules).


Logic Program Logic Programming Constraint Programming Constraint Logic Inductive Logic Programming 
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.
    S. Abdennadher and T. Fruhwirth. Operational equivalence of CHR programs and constraints. In 5th International Conference on Principles and Practice of Constraint Programming, CP’99, LNCS 1713. Springer-Verlag, 1999.Google Scholar
  2. 2.
    S. Abdennadher and C. Rigotti. Automatic generation of propagation rules for finite domains. In 6th International Conference on Principles and Practice of Constraint Programming, CP00, LNCS 1894. Springer-Verlag, 2000.Google Scholar
  3. 3.
    S. Abdennadher and C. Rigotti. Towards inductive constraint solving. In 7th International Conference on Principles and Practice of Constraint Programming, CP’2001, LNCS. Springer-Verlag, 2001.Google Scholar
  4. 4.
    S. Abdennadher and C. Rigotti. Using confluence to generate rule-based constraint solvers. In Third International Conference on Principles and Practice of Declarative Programming. ACM Press, 2001.Google Scholar
  5. 5.
    S. Abdennadher and C. Rigotti. Automatic generation of rule-based constraint solvers over finite domains. ACM Transactions on Computational Logic, 2004. to appear.Google Scholar
  6. 6.
    S. Abdennadher and H. Schutz. CHRV: A flexible query language. Flexible Query Answering Systems, LNAI 1495, 1998.Google Scholar
  7. 7.
    K. Apt. A proof theoretic view of constraint programming. Special Issue of Fundamenta Informaticae, 34(3), 1998.Google Scholar
  8. 8.
    K. Apt and E. Monfroy. Automatic generation of constraint propagation algorithms for small finite domains. In 5th International Conference on Principles and Practice of Constraint Programming, CP’99, LNCS 1713. Springer-Verlag, 1999.Google Scholar
  9. 9.
    A. Biermann. Automatic programming. Encyclopedia of Artificial Intelligence, second, extended edition,, 1992.Google Scholar
  10. 10.
    P. Codognet. A tabulation method for constraint logic programs. In 8th Symposium and Exhibition on Industrial Applications of Prolog, 1995.Google Scholar
  11. 11.
    B. Cui and D. S. Warren. A system for tabled constraint logic programming. In First International Conference on Computational Logic, LNCS 1861. Springer-Verlag, 2000.Google Scholar
  12. 12.
    T. Frühwirth. Theory and practice of constraint handling rules, special issue on constraint logic programming. Journal of Logic Programming, 37(1–3):95–138, 1998.zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    P. V. Hentenryck, V. Saraswat, and Y. Deville. Desing, implementation, and evaluation of the constraint language cc(FD). Journal of Logic Programming, 37(1–3):139–164, 1998.zbMATHCrossRefGoogle Scholar
  14. 14.
    J. Jaffar and M. J. Maher. Constraint logic programming: A survey. Journal of Logic Programming, 20, 1994.Google Scholar
  15. 15.
    K. Marriott and P. Stuckey. Programming with Constraints: An Introduction. The MIT Press, 1998.Google Scholar
  16. 16.
    S. Muggleton and L. De Raedt. Inductive Logic Programming: theory and methods. Journal of Logic Programming, 19, 20:629–679, 1994.CrossRefMathSciNetGoogle Scholar
  17. 17.
    T. L. Provost and M. Wallace. Generalized constraint propagation over the CLP scheme. Journal of Logic Programming, 16(3):319–359, 1993.zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    T. Przymusinski. On constructive negation in logic programming. In Proceedings of the North American Conference on Logic Programming, 1990.Google Scholar
  19. 19.
    C. Ringeissen and E. Monfroy. Generating propagation rules for finite domains via unification in finite algebra. In New Trends in Constraints. LNAI 1865, 2000.Google Scholar
  20. 20.
    P. J. Stuckey. Negation and constraint logic programming. Information and Computation, 118(1): 12–33, 1995.zbMATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    H. Tamaki and T. Sato. OLD resolution with tabulation. In 3rd International Conference on Logic Programming, LNCS 225. Springer-Verlag, 1986.Google Scholar
  22. 22.
    D. S. Warren. Memoing for logic programs. Communications of ACM, 35(4):93–11, 1992.CrossRefMathSciNetGoogle Scholar
  23. 23.
    J. Würtz and T. Müller. Constructive disjunction revisited. In Proc. of the 20th German Annual Conference on Artificial Intelligence, LNAI 1137. Springer-Verlag, 1996.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Slim Abdennadher
    • 1
  • Christophe Rigotti
    • 2
  1. 1.Computer Science DepartmentUniversity of MunichMünchenGermany
  2. 2.Laboratoire d’Ingénierie des Systèmes d’InformationINSA LyonVilleurbanne CedexFrance

Personalised recommendations