Abstract
Both Constraint Handling Rules (CHR) and tabling – as implemented in XSB – are powerful enhancements of Prolog systems, based on fix point computation. Until now they have only been implemented in separate systems. This paper presents the work involved in porting a CHR system to XSB and in particular the technical issues related to the integration of CHR with tabled resolution. These issues include call abstraction, answer projection, entailment checking, answer combination and tabled constraint store representations. Different optimizations related to tabling constraints are evaluated empirically. The integration requires no changes to the tabling engine. We also show that the performance of CHR programs without tabling is not affected. Now, with the combined power of CHR and tabling, it is possible to easily introduce constraint solvers in applications using tabling, or to use tabling in constraint solvers.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Chen, W., Warren, D.S.: Tabled evaluation with delaying for general logic programs. Journal of the ACM 43(1), 20–74 (1996)
Codish, M., Demoen, B., Sagonas, K.: Semantic-based program analysis for logicbased languages using XSB. International Journal of Software Tools for Technology Transfer 2(1), 29–45 (1998)
Costa, V.S., Damas, L., Reis, R., Azevedo, R.: YAP User’s Manual
Cui, B., Warren, D.S.: A System for Tabled Constraint Logic Programming. In: Palamidessi, C., Moniz Pereira, L., Lloyd, J.W., Dahl, V., Furbach, U., Kerber, M., Lau, K.-K., Sagiv, Y., Stuckey, P.J. (eds.) CL 2000. LNCS (LNAI), vol. 1861, pp. 478–492. Springer, Heidelberg (2000)
Cui, B., Warren, D.S.: Attributed Variables in XSB. In: Dutra, I., et al. (eds.). Electronic Notes in Theoretical Computer Science, vol. 30, Elsevier, Amsterdam (2000)
Demoen, B.: Dynamic attributes, their hProlog implementation, and a first evaluation. Report CW 350, Department of Computer Science, K.U.Leuven (October 2002)
Demoen, B., de la Banda, M.G., Harvey, W., Marriott, K., Stuckey, P.J.: An Overview of HAL. In: Jaffar, J. (ed.) CP 1999. LNCS, vol. 1713, pp. 174–188. Springer, Heidelberg (1999)
Demoen, B., Nguyen, P.-L.: So many WAM variations, so little time. In: Palamidessi, C., Moniz Pereira, L., Lloyd, J.W., Dahl, V., Furbach, U., Kerber, M., Lau, K.-K., Sagiv, Y., Stuckey, P.J. (eds.) CL 2000. LNCS (LNAI), vol. 1861, pp. 1240–1254. Springer, Heidelberg (2000)
Du, X., Ramakrishnan, C.R., Smolka, S.A.: Tabled Resolution + Constraints: A Recipe for Model Checking Real-Time Systems. In: IEEE Real Time Systems Symposium, Orlando, Florida (November 2000)
Frühwirth, T.: Constraint Handling Rules. In: Podelski, A. (ed.) Constraint Programming: Basics and Trends. LNCS, vol. 910, pp. 90–107. Springer, Heidelberg (1995)
Frühwirth, T.: Theory and Practice of Constraint Handling Rules. In: Stuckey, P., Marriot, K. (eds.) Special Issue on Constraint Logic Programming, October 1998, vol. 37 (1998)
Guo, H.-F., Gupta, G.: Simplifying Dynamic Programming via Tabling. In: Lopes, R., Ferreira, M. (eds.) Proceedings of CICLOPS 2003. Technical Report DCC-2003-05, DCC - FC & LIACC, University of Porto (2003)
Intelligent Systems Laboratory. SICStus Prolog User’s Manual. PO Box 1263, SE- 164 29 Kista, Sweden (October 2003)
Jaffar, J., Lassez, J.-L.: Constraint Logic Programming. In: Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, pp. 111–119. ACM Press, New York (1987)
Mukund, M., Ramakrishnan, C.R., Ramakrishnan, I.V., Verma, R.: Symbolic Bisimulation using Tabled Constraint Logic Programming. In: International Workshop on Tabulation in Parsing and Deduction, Vigo, Spain (September 2000)
Pemmasani, G., Ramakrishnan, C.R., Ramakrishnan, I.V.: Efficient Model Checking of Real Time Systems Using Tabled Logic Programming and Constraints. In: International Conference on Logic Programming, Copenhagen, Denmark, July 2002. LNCS, Springer, Heidelberg (2002)
Schrijvers, T.: CHR benchmarks and programs (January 2004), Available at http://www.cs.kuleuven.ac.be/~toms/Research/chr.html
Schrijvers, T., Warren, D.S., Demoen, B.: CHR for XSB. In: R. Lopes and M. Ferreira, editors, Proceedings of CICLOPS 2003. Technical Report DCC-2003- 05, DCC - FC & LIACC, University of Porto, December 2003, pp. 7–20 (2003)
Warren, D.S., et al.: The XSB Programmer’s Manual: version 2.5, vol. 1&2 (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Schrijvers, T., Warren, D.S. (2004). Constraint Handling Rules and Tabled Execution. In: Demoen, B., Lifschitz, V. (eds) Logic Programming. ICLP 2004. Lecture Notes in Computer Science, vol 3132. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27775-0_9
Download citation
DOI: https://doi.org/10.1007/978-3-540-27775-0_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22671-0
Online ISBN: 978-3-540-27775-0
eBook Packages: Springer Book Archive