A System for Tabled Constraint Logic Programming
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.
KeywordsLogic Programming Regular Variable Constraint Logic Constraint Solver Constraint Logic Programming
Unable to display preview. Download preview PDF.
- 1.P. Brisset, et al. ECL i PS e 4.0 User Manual. IC-Parc at Imperial College, London, July 1998.Google Scholar
- 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.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.The XSB Group. The XSB logic programming system, version 2.0, 1999. Available from http://www.cs.sunysb.edu/~sbprolog.
- 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
- 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.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.Christian Holzbaur and Thom Frühwirth. Compiling constraint handling rules. In ERCIM/COMPULOG Workshop on Constraints, CWI, Amsterdam, The Netherlands, 1998.Google Scholar
- 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.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.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.The Intelligent Systems Laboratory. SICStus Prolog User’s Manual Version 3.7.1. Swedish Institute of Computer Science, October 1998.Google Scholar
- 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.Madhavan Mukund, C. R. Ramakrishnan, I. V. Ramakrishnan, and Rakesh Verma. Symbolic bisimulation using tabled constraint logic programming. Submitted to TAPD’2000. Available from http://www.cs.sunysb.edu/~cram/papers/.
- 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.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.Prasad Rao. Efficient data structures for tabled resolution. PhD thesis, SUNY at Stony Brook, 1997.Google Scholar
- 19.K. Sagonas, T. Swift, and D. S. Warren. XSB as an efficient deductive database engine. In ACM SIGMOD Conference, 1994.Google Scholar
- 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.H. Tamaki and T. Sato. Old resolution with tabulation. In Proceedings of the 3rd ICLP, pages 84–98, 1986.Google Scholar
- 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.D. S. Warren. Memoing for logic programs with applications to abstract interpretatino and partial deduction. Communications of the ACM, 1992.Google Scholar