Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
P. Brisset, et al. ECL i PS e 4.0 User Manual. IC-Parc at Imperial College, London, July 1998.
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.
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.
The XSB Group. The XSB logic programming system, version 2.0, 1999. Available from http://www.cs.sunysb.edu/~sbprolog.
Christian Holzbaur. Specification of Constraint Based Inference Mechanisms through Extended Unification. PhD thesis, Department of Medical Cybernetics and Artificial Intelligence, University of Vienna, 1990.
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.
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.
Christian Holzbaur. OFAI clp(q,r) Manual, Edition 1.3.3. Austrian Research Institute for Artificial Intelligence, Vienna, TR-95-09, 1995.
Christian Holzbaur and Thom Frühwirth. Compiling constraint handling rules. In ERCIM/COMPULOG Workshop on Constraints, CWI, Amsterdam, The Netherlands, 1998.
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.
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.
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.
The Intelligent Systems Laboratory. SICStus Prolog User’s Manual Version 3.7.1. Swedish Institute of Computer Science, October 1998.
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.
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/.
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.
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.
Prasad Rao. Efficient data structures for tabled resolution. PhD thesis, SUNY at Stony Brook, 1997.
K. Sagonas, T. Swift, and D. S. Warren. XSB as an efficient deductive database engine. In ACM SIGMOD Conference, 1994.
K. Sagonas, T. Swift, D. S. Warren, J. Freire, and P. Rao. The XSB Programmer’s Manual: version 1.9, 1998.
H. Tamaki and T. Sato. Old resolution with tabulation. In Proceedings of the 3rd ICLP, pages 84–98, 1986.
D. Toman. Top-down beats bottom-up for constraint extensions of datalog. In Proceedings of International Logic Programming Symposium ILPS’95. MIT Press, 1995.
D. S. Warren. Memoing for logic programs with applications to abstract interpretatino and partial deduction. Communications of the ACM, 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cui, B., Warren, D.S. (2000). A System for Tabled Constraint Logic Programming. In: Lloyd, J., et al. Computational Logic — CL 2000. CL 2000. Lecture Notes in Computer Science(), vol 1861. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44957-4_32
Download citation
DOI: https://doi.org/10.1007/3-540-44957-4_32
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67797-0
Online ISBN: 978-3-540-44957-7
eBook Packages: Springer Book Archive