Skip to main content
    • Aa
    • Aa

XSB: Extending Prolog with Tabled Logic Programming


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? *



Full text views

Total number of HTML views: 0
Total number of PDF views: 9 *
Loading metrics...

Abstract views

Total abstract views: 211 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 29th May 2017. This data will be updated every 24 hours.