Tabling with Answer Subsumption: Implementation, Applications and Performance

Tabled Logic Programming (TLP) is becoming widely available in Prolog systems, but most implementations of TLP implement only answer variance in which an answer A is added to the table for a subgoal S only if A is not a variant of any other answer already in the table for S. While TLP with answer variance is powerful enough to implement the well-founded semantics with good termination and complexity properties, TLP becomes much more powerful if a mechanism called answer subsumption is used. XSB implements two forms of answer subsumption. The first, partial order answer subsumption, adds A to a table only if A is greater than all other answers already in the table according to a user-defined partial order. The second, lattice answer subsumption, may join A to some other answer in the table according to a user-defined upper semi-lattice. Answer subsumption can be used to implement paraconsistent and quantitative logics, abstract analysis domains, and preference logics. This paper discusses the semantics and implementation of answer subsumption in XSB, and discusses performance and scalability of answer subsumption on a variety of problems.

[1]  Theresa Swift Tabling for non‐monotonic programming , 2004, Annals of Mathematics and Artificial Intelligence.

[2]  Giridhar Pemmasani,et al.  Online Justification for Tabled Logic Programs , 2004, FLOPS.

[3]  Konstantinos Sagonas,et al.  An abstract machine for tabled execution of fixed-order stratified logic programs , 1998, TOPL.

[4]  Wolfgang Reisig,et al.  Place or Transition Petri Nets , 1996, Petri Nets.

[5]  Fabrizio Riguzzi,et al.  Tabling and Answer Subsumption for Reasoning on Logic Programs with Annotated Disjunctions , 2010, ICLP.

[6]  Tadashi Kanamori,et al.  Abstract Interpretation based on OLDT Resolution , 1993, J. Log. Program..

[7]  Luís Moniz Pereira,et al.  Monotonic and Residuated Logic Programs , 2001, ECSQARU.

[8]  Wolfgang Reisig,et al.  Lectures on Petri Nets I: Basic Models , 1996, Lecture Notes in Computer Science.

[9]  Tom A. B. Snijders,et al.  Social Network Analysis , 2011, International Encyclopedia of Statistical Science.

[10]  V. S. Subrahmanian,et al.  Theory of Generalized Annotated Logic Programming and its Applications , 1992, J. Log. Program..

[11]  Thomas W. Valente,et al.  Bridging: Locating critical connectors in a network , 2010, Soc. Networks.

[12]  Michael Clarke,et al.  Symbolic and Quantitative Approaches to Reasoning and Uncertainty , 1991, Lecture Notes in Computer Science.

[13]  John Scott What is social network analysis , 2010 .

[14]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[15]  Michael Kifer,et al.  Logic Programming with Defaults and Argumentation Theories , 2009, ICLP.

[16]  Wolfgang Faber,et al.  Aggregate Functions in DLV , 2003, Answer Set Programming.