Skip to main content
    • Aa
    • Aa
  • Get access
    Check if you have access via personal or institutional login
  • Cited by 19
  • Cited by
    This article has been cited by the following publications. This list is generated based on data provided by CrossRef.

    Areias, Miguel and Rocha, Ricardo 2016. On scaling dynamic programming problems with a multithreaded tabling Prolog system. Journal of Systems and Software,

    Drabent, Włodzimierz 2016. Correctness and Completeness of Logic Programs. ACM Transactions on Computational Logic, Vol. 17, Issue. 3, p. 1.

    Luteberget, Bjørnar Johansen, Christian and Steffen, Martin 2016. Integrated Formal Methods.

    Madsen, Magnus Yee, Ming-Ho and Lhoták, Ondřej 2016. From Datalog to flix: a declarative language for fixed points on lattices. ACM SIGPLAN Notices, Vol. 51, Issue. 6, p. 194.

    Madsen, Magnus Yee, Ming-Ho and Lhoták, Ondřej 2016. Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation - PLDI 2016. p. 194.

    Wielemaker, Jan Beek, Wouter Hildebrand, Michiel van Ossenbruggen, Jacco and Polleres, Axel 2016. ClioPatria: A SWI-Prolog infrastructure for the Semantic Web. Semantic Web, Vol. 7, Issue. 5, p. 529.

    BRUYNOOGHE, MAURICE BLOCKEEL, HENDRIK BOGAERTS, BART DE CAT, BROES DE POOTER, STEF JANSEN, JOACHIM LABARRE, ANTHONY RAMON, JAN DENECKER, MARC and VERWER, SICCO 2015. Predicate logic as a modeling language: modeling and solving some machine learning and data mining problems with IDP3. Theory and Practice of Logic Programming, Vol. 15, Issue. 06, p. 783.

    Castro, Sergio Mens, Kim and Moura, Paulo 2015. JPC: A library for categorising and applying inter-language conversions between Java and Prolog. Science of Computer Programming,

    Clark, Keith L. and Robinson, Peter J. 2015. 2015 IEEE International Conference on Robotics and Automation (ICRA). p. 5040.

    Pereira, Luís Moniz and Saptawijaya, Ari 2015. Rethinking Machine Ethics in the Age of Ubiquitous Technology.

    Riguzzi, Fabrizio Bellodi, Elena Lamma, Evelina Zese, Riccardo and Cota, Giuseppe 2015. Probabilistic logic programming on the web. Software: Practice and Experience, p. n/a.

    Sáenz-Pérez, Fernando 2015. Restricted Predicates for Hypothetical Datalog. Electronic Proceedings in Theoretical Computer Science, Vol. 200, p. 64.

    Sáenz-Pérez, Fernando 2015. Improving the Deductive System DES with Persistence by Using SQL DBMS's. Electronic Proceedings in Theoretical Computer Science, Vol. 173, p. 100.

    Swift, Terrance Faber, Wolfgang and Lembo, Domenico 2015. Forest logging: A trace-based analysis of large rule-based computations. Semantic Web, Vol. 6, Issue. 5, p. 427.

    Analyti, Anastasia Damásio, Carlos V. Antoniou, Grigoris and Pachoulakis, Ioannis 2014. Why-provenance information for RDF, rules, and negation. Annals of Mathematics and Artificial Intelligence, Vol. 70, Issue. 3, p. 221.

    Riguzzi, Fabrizio and Swift, Terrance 2014. Terminating Evaluation of Logic Programs with Finite Three-Valued Models. ACM Transactions on Computational Logic, Vol. 15, Issue. 4, p. 1.

    Schrijvers, Tom Demoen, Bart Triska, Markus and Desouter, Benoit 2014. Tor: Modular search with hookable disjunction. Science of Computer Programming, Vol. 84, p. 101.

    Stulova, Nataliia Morales, José F. and Hermenegildo, Manuel V. 2014. Proceedings of the 16th International Symposium on Principles and Practice of Declarative Programming - PPDP '14. p. 225.

    Saenz-Perez, Fernando 2013. 2013 IEEE 25th International Conference on Tools with Artificial Intelligence. p. 596.


XSB: Extending Prolog with Tabled Logic Programming

  • DOI:
  • Published online: 30 December 2011

The paradigm of Tabled Logic Programming (TLP) is now supported by a number of Prolog systems, including XSB, YAP Prolog, B-Prolog, Mercury, ALS, and Ciao. The reasons for this are partly theoretical: tabling ensures termination and optimal known complexity for queries to a large class of programs. However, the overriding reasons are practical. TLP allows sophisticated programs to be written concisely and efficiently, especially when mechanisms such as tabled negation and call and answer subsumption are supported. As a result, TLP has now been used in a variety of applications from program analysis to querying over the semantic web. This paper provides a survey of TLP and its applications as implemented in the XSB Prolog, along with discussion of how XSB supports tabling with dynamically changing code, and in a multi-threaded environment.

Linked references
Hide All

This list contains references from the content that can be linked to their source. For a full set of references and notes please see the PDF or HTML where available.

J. J. Alferes , F. Azevedo , P. Barahona , C. Damásio and T. Swift 2004. Logic programming techniques for solving circuit diagnosis. In Proceedings of the 18th Artificial Intelligence Applications and Innovations (Aiai-2004), Toulouse, France, Aug 22–27. Kluwer, Dordrecht, Netherlands, 155166.

S. Bhansali and B. Grosof 2005. Extending the SweetDeal approach for e-procurement using SweetRules and RuleML. In Proceedings of International Conference on Rules and Rule Markup Languages (RULE-ML). Springer-Verlag, Berlin, Germany, 113129.

W. Chen and D. S. Warren 1996. Tabled evaluation with delaying for general logic programs. Journal of the ACM 43, 1, 2074.

D. Chimenti , R. Gamboa , R. Krishnamurthy , S. Naqvi , S. Tsur and C. Zaniolo 1990. The LDL system prototype. IEEE Data and Knowledge Engineering 2, 7689.

M. Codish , B. Demoen and K. Sagonas 1998. Semantics-based program analysis for logic-based languages using XSB. Springer International Journal of Software Tools for Technology Transfer 2, 1 (Nov.), 2945.

B. Cui and T. Swift 2002. Preference logic grammars: Fixed-point semantics and application to data standardization. Artificial Intelligence 138, 117147.

C. V. Damásio and L. M. Pereira 2001. Monotonic and residuated logic programs. In Proceedings of Sixth European Conference on Symbolic and Quantitative Approaches to Reasoning with Uncertainty (ECSQARU) Toulouse, France. LNCS, vol. 2143. Springer Verlag, Berlin, Germany, 748759.

E. Johnson , C. Ramakrishnan , I. Ramakrishnan and P. Rao 1999. A space-efficient engine for subsumption based tabled evaluation of logic programs. In Proceedings of the Symposium on Functional and Logic Progamming. LNCS, vol. 1722. Springer-Verlag, Berlin Germany, 284300.

M. Kifer , G. Lausen and J. Wu 1995. Logical foundations of object-oriented and frame-based languages. Journal of the ACM 42, 741843.

M. Kifer and V. S. Subrahmanian 1992. Theory of generalized annotated logic programming and its applications. Journal of Logic Programming 12, 4, 335368.

E. Lamma , F. Riguzzi and L. M. Pereira 2000. Strategies in combined learning via logic programs. Machine Learning 38, 1–2, 6387.

A. Lattner , I. Timm , M. Lorenz and O. Herzog 2005b. Knowledge-based risk assessment for intelligent vehicles. In IEEE Conference on Integration of Knowledge Intensive Multi-Agent Systems, Apr 18–21. IEEE, Washington, DC, USA, 191196.

S. Liang , P. Fodor , H. Wan and M. Kifer 2009. OpenRuleBench: An analysis of the performance of rule engines. In Proceedings of 18th International World Wide Web Conference (WWW), Madrid, Spain. ACM Press, New York, USA, 601608.

R. Marques and T. Swift 2008. Concurrent and local evaluation of normal programs. In Proceedings of International. Conference on Logic Programming, Udine, Italy, Dec 9–13. LNCS, vol. 5366. Springer, Berlin, Germany, 206222.

R. Marques , T. Swift and J. Cunha 2010. A simple and efficient implementation of concurrent local tabling. In Practical Applications of Declarative Languages, Madrid, Spain, Jan 20–22. LNCS, vol. 5937. Springer, Berlin, Germany, 264278.

R. Muller , U. Greiner and E. Rahm 2004. Agentwork: A workflow system supporting rule-based workflow adaptation. IEEE Data and Knowledge Engineering 51, 2, 223256.

I. Niemelä 1999. Logic programs with stable model semantics as a constraint logic programming paradigm. Annals of Mathematics and Artificial Intelligence 25, 241273.

C. Papaterpos , N. Georgantis and T. Papatheodorou 2001. An ontology for modeling ill-structured domains in intelligent educational systems. In Proceedings of IEEE International Conference on Advanced Learning Technologies. IEEE, New York, USA, 4142.

G. Pemmasani , C. R. Ramakrishnan and I. V. Ramakrishnan 2002. Efficient model checking of real time systems using tabled logic programming and constraints. In Proceedings of International Conference on Logic Programming, Copenhagen, Denmark, Jul 29–Aug 1. LNCS, vol. 2401. Springer, Berlin, Germany, 100114.

L. M. Pereira and A. M. Pinto 2009. Layered models top-down querying of normal logic programs. In Practical Applications of Declarative Languages, Georgia, USA, Jan 21–23. Springer, New York, USA, 254268.

I. V. Ramakrishnan , P. Rao , K. Sagonas , T. Swift , and D. S. Warren 1999. Efficient access mechanisms for tabled logic programs. Journal of Logic Programming 38, 1, 3155.

G. Rozenberg and J. Engelfriet 1998. Elemenary net systems. In Lectures on Petri Nets I: Basic Models. LNCS, vol. 1491. Springer, Berlin, Germany, 12121.

K. Sagonas and T. Swift 1998. An abstract machine for tabled execution of fixed-order stratified logic programs. ACM TOPLAS 20, 3 (May), 586635.

K. Sagonas , T. Swift and D. S. Warren 2000. The limits of fixed-order computation. Theoretical Computer Science 254, 1–2, 465499.

P. Simons , I. Niemelä and T. Soininen 2002. Extending and implementing the stable model semantics. Artificial Intelligence 138, 181234.

T. Swift 1999b. Tabling for non-monotonic programming. Annals of Mathematics and Artificial Intelligence 25, 3–4, 201240.

T. Swift 2009. An engine for efficiently computing (sub-)models. In Proceedings of International Conference on Logic Programming, Pasadena, CA, USA, Jul 14–17. LNCS, vol. 5649. Springer, New York, 514518.

T. Swift , A. Pinto and L. M. Pereira 2009. Incremental answer completion. In Proceedings of International Conference on Logic Programming, Pasadena, CA, USA, Jul 14–17. LNCS, vol. 5649. Springer, New York, 519524.

T. Swift and D. S. Warren 2010. Tabling with answer subsumption: Implementation, applications and performance. In Proc. of the 12th European Conference on Logics in Artificial Intelligence, JELIA, Springer, Helsinki, Finland, 300312.

A. van Gelder , K. Ross and J. Schlipf 1991. Unfounded sets and well-founded semantics for general logic programs. Journal of the ACM 38, 3, 620650.

H. Wan , B. Grosof , M. Kifer , P. Fodor and S. Liang 2009. Logic programming with defaults and argumentation theories. In Proceedings of International Conference on Logic Programming, Pasadena, CA, USA, Jul 14–17. LNCS, vol. 5649. Springer, New York, 432448.

N. Zhou and T. Sato 2003. Efficient fixpoint computation in linear tabling. In PPDP 03: Proceedings of the 5th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming. ACM Press, New York, 275283.

Y. Zou , T. Finin and H. Chen 2004. F-OWL: An inference engine for the semantic web. In Proceedings of Third InternationalWorkshop on Formal Approaches to Agent-Based Systems, Greenbelt, MD, USA, Apr 26–27. LNCS, Vol. 3228. Springer, New York, USA, 238248.

Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Theory and Practice of Logic Programming
  • ISSN: 1471-0684
  • EISSN: 1475-3081
  • URL: /core/journals/theory-and-practice-of-logic-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *