A System for Tabled Constraint Logic Programming

  • Baoqiu Cui
  • David S. Warren
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1861)


As extensions to traditional logic programming, both tabling and Constraint Logic Programming (CLP) have proven powerful tools in many areas. They make logic programming more efficient and more declarative. However, combining the techniques of tabling and constraint solving is still a relatively new research area. In this paper, we show how to build a Tabled Constraint Logic Programming (TCLP) system based on XSB — a tabled logic programming system. We first discuss how to extend XSB with the fundamental mechanism of constraint solving, basically the introduction of attributed variables to XSB, and then present a general framework for building a TCLP system. An interface among the XSB tabling engine, the corresponding constraint solver, and the user’s program is designed to fully utilize the power of tabling in TCLP programs.


Logic Programming Regular Variable Constraint Logic Constraint Solver Constraint 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.
    P. Brisset, et al. ECL i PS e 4.0 User Manual. IC-Parc at Imperial College, London, July 1998.Google Scholar
  2. 2.
    Philippe Codognet. A tabulation method for constraint logic programs. In Proceedings of INAP’95, 8th Symposium and Exhibition on Industrial Applications of Prolog, Tokyo, Japan, October 1995.Google Scholar
  3. 3.
    Baoqiu Cui and David S. Warren. Attributed variables in XSB. In Proceedings of Workshop on Parallelism and Implementation Technology for (Constraint) Logic Programming Languages, pages 61–74, Las Cruces, New Mexico, USA, December 1999.Google Scholar
  4. 4.
    The XSB Group. The XSB logic programming system, version 2.0, 1999. Available from
  5. 5.
    Christian Holzbaur. Specification of Constraint Based Inference Mechanisms through Extended Unification. PhD thesis, Department of Medical Cybernetics and Artificial Intelligence, University of Vienna, 1990.Google Scholar
  6. 6.
    Christian Holzbaur. Metastructures vs. attributed variables in the context of extensible unification. In International Symposium on Programming Language Implementation and Logic Programming, LNCS 631, pages 260–268. Springer Verlag, August 1992.CrossRefGoogle Scholar
  7. 7.
    Christian Holzbaur. Extensible unification as basis for the implementation of CLP languages. In Baader F. and et al., editors, Proceedings of the Sixth International Workshop on Unification, TR-93-004, pages 56–60, Boston University, MA, 1993.Google Scholar
  8. 8.
    Christian Holzbaur. OFAI clp(q,r) Manual, Edition 1.3.3. Austrian Research Institute for Artificial Intelligence, Vienna, TR-95-09, 1995.Google Scholar
  9. 9.
    Christian Holzbaur and Thom Frühwirth. Compiling constraint handling rules. In ERCIM/COMPULOG Workshop on Constraints, CWI, Amsterdam, The Netherlands, 1998.Google Scholar
  10. 10.
    Christian Holzbaur and Thom Frühwirth. Compiling constraint handling rules into Prolog with attributed variables. In Proceedings of the 1999 International Conference on Principles and Pratice of Declarative Programming, LNCS, Paris, France, September 1999. Springer Verlag.Google Scholar
  11. 11.
    S. L. Huitouze. A new data structure for implementing extensions to Prolog. In P. Deransart and J. Maluszyński, editors, International Symposium on PLILP, LNCS 456, pages 136–150. Springer, Berlin, Germany, August 1990.Google Scholar
  12. 12.
    Mark Johnson. Memoization in constraint logic programming. In Proceedings of PPCP’93, First Workshop on Principles and Practice of Constraint Programming, Rhode Island, Newport, April 1993.Google Scholar
  13. 13.
    The Intelligent Systems Laboratory. SICStus Prolog User’s Manual Version 3.7.1. Swedish Institute of Computer Science, October 1998.Google Scholar
  14. 14.
    Fred Mesnard and Sèbastien Hoarau. A tabulation algorithm for CLP. In Proceedings of International Workshop on Tabling in Logic Programming, pages 13–24, 1997.Google Scholar
  15. 15.
    Madhavan Mukund, C. R. Ramakrishnan, I. V. Ramakrishnan, and Rakesh Verma. Symbolic bisimulation using tabled constraint logic programming. Submitted to TAPD’2000. Available from
  16. 16.
    Bernhard Pfahringer and Johannes Matiasek. A CLP schema to integrate specialized solvers and its application to natural language processing. Technical report, Austrian Research Institute for Artificial Intelligence, Vienna, 1992.Google Scholar
  17. 17.
    P. Rao, I. V. Ramakrishnan, K. Sagonas, T. Swift, and D. S. Warren. Efficient table access mechanisms for logic programs. In L. Sterling, editor, ICLP, pages 697–711, 1995.Google Scholar
  18. 18.
    Prasad Rao. Efficient data structures for tabled resolution. PhD thesis, SUNY at Stony Brook, 1997.Google Scholar
  19. 19.
    K. Sagonas, T. Swift, and D. S. Warren. XSB as an efficient deductive database engine. In ACM SIGMOD Conference, 1994.Google Scholar
  20. 20.
    K. Sagonas, T. Swift, D. S. Warren, J. Freire, and P. Rao. The XSB Programmer’s Manual: version 1.9, 1998.Google Scholar
  21. 21.
    H. Tamaki and T. Sato. Old resolution with tabulation. In Proceedings of the 3rd ICLP, pages 84–98, 1986.Google Scholar
  22. 22.
    D. Toman. Top-down beats bottom-up for constraint extensions of datalog. In Proceedings of International Logic Programming Symposium ILPS’95. MIT Press, 1995.Google Scholar
  23. 23.
    D. S. Warren. Memoing for logic programs with applications to abstract interpretatino and partial deduction. Communications of the ACM, 1992.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Baoqiu Cui
    • 1
  • David S. Warren
    • 1
  1. 1.Department of Computer ScienceSUNY at Stony BrookStony BrookUSA

Personalised recommendations