# Tabling for non‐monotonic programming

@article{Swift2004TablingFN, title={Tabling for non‐monotonic programming}, author={T. Swift}, journal={Annals of Mathematics and Artificial Intelligence}, year={2004}, volume={25}, pages={201-240} }

Non‐monotonic extensions add power to logic programs. However, the main logic programming language, Prolog, is widely recognized as inadequate to implement these extensions due to its weak termination and complexity properties. By extending Prolog’s SLD resolution with tabling, Prolog can be improved in several ways. Tabling can allow a logic programming system to compute the well‐founded semantics for programs with bounded term depth, and to do so with polynomial data complexity. By exploiting… Expand

#### Figures and Topics from this paper

#### 86 Citations

XSB: Extending Prolog with Tabled Logic Programming

- Computer Science
- Theory and Practice of Logic Programming
- 2011

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 is provided. Expand

Efficient Implementation of an Extended Semantics for Logic Programs with Annotated Disjunctions

- 2010

Logic Programming with Annotated Disjunctions (LPADs) is a formalism for modeling probabilistic information that has recently received increased attention. The LPAD semantics, while being simple and… Expand

Extending Tabled Logic Programming with Multi-Threading : A Systems Perspective

- 2008

Tabled Logic Programming (TLP) has proven a useful paradigm for application areas such as natural language grammars, program analysis, model checking, ontology management, collaborative agents, and… Expand

An Extended Semantics for Logic Programs with Annotated Disjunctions and its Efficient Implementation

- Computer Science
- CILC
- 2010

This paper presents the algorithm “Probabilistic Inference with Tabling and Answer subsumption” (PITA) for computing the probability of queries to programs according to the extended semantics and shows that the semantics is well-defined for a large class of programs. Expand

PRISM revisited: Declarative implementation of a probabilistic programming language using multi-prompt delimited control

- Mathematics, Computer Science
- Int. J. Approx. Reason.
- 2018

An approach based on delimited control operators recently introduced into SWI Prolog is described, used to create a system of nested effect handlers which together implement a core functionality of PRISM—the building of explanation graphs—entirely in Prolog and using an order of magnitude less code. Expand

Stable versus Layered Logic Program Semantics

- Computer Science
- LA-NMR
- 2009

A new 2-valued semantics for NLPs — the Layer Supported Models semantics — is presented, which conservatively extends the SM semantics, enjoys relevance and cumulativity, guarantees model existence, and respects the Well-Founded Model. Expand

Tabling with Sound Answer Subsumption

- Computer Science
- Theory and Practice of Logic Programming
- 2016

It is shown that the different implementations indeed fail to produce least fixed points for some programs, and a formal framework is provided that generalises the existing approaches and a soundness criterion is established that explains for which programs the approach is sound. Expand

Tabling with Answer Subsumption: Implementation, Applications and Performance

- Computer Science
- JELIA
- 2010

The semantics and implementation ofanswer subsumption in XSB is discussed, and performance and scalability of answer subsumption on a variety of problems are discussed. Expand

Stabel Model Implementation of Layer Supported Models by Program Transformation

- Computer Science
- INAP
- 2009

This paper exhibits a space and time linearly complex transformation, TR, from one propositional NLP into another, whose Layer Supported Models are precisely the Stable Models of the transform, which can then be computed by extant Stable Model implementations, providing a tool for the immediate generalized use of the new semantics and its applications. Expand

Termination of logic programs with imperfect information: applications and query procedure

- Computer Science, Mathematics
- J. Appl. Log.
- 2007

A general logic programming framework allowing for the combination of several adjoint lattices of truth-values, and specifies a general non-deterministic tabulation goal-oriented query procedure for sorted multi-adjoint logic programs over complete lattices. Expand

#### References

SHOWING 1-10 OF 86 REFERENCES

An abstract machine for tabled execution of fixed-order stratified logic programs

- Computer Science
- TOPL
- 1998

This article describes the architecture of the SLG-WAM for a powerful class of programs, the class of fixed-order dynamically stratified programs, and offers a detailed description of the algorithms, data structures, and instructions that the WAM adds, and a performance analysis of engine overhead due to the extensions. Expand

Semantics-based program analysis for logic-based languages using XSB

- Computer Science
- International Journal on Software Tools for Technology Transfer
- 1998

This article describes a simple and efficient way of using a logic programming language with builtin tabulation for general purpose semantics-based program analysis using XSB, and demonstrates that this approach competitively compares with most of the existing special purpose abstract interpretation tools for logic programs. Expand

A logic programming system for nonmonotonic reasoning

- Mathematics, Computer Science
- Journal of Automated Reasoning
- 2004

This paper presents and exploits a SLDNF-like derivation procedure, SLX, for programs with explicit negation under well-founded semantics (WFSX) and proves its soundness and completeness and introduces a paraconsistent version of WFSX that allows contradictions and for which the SLX top-down procedure is proven correct as well. Expand

A New Formulation of Tabled Resolution with Delay

- Computer Science
- EPIA
- 1999

The usefulness of the forest of trees paradigm for motivating tabling optimizations is shown by formalizing the concept of relevance within a tabled evaluation. Expand

Practical program analysis using general purpose logic programming systems—a case study

- Computer Science
- PLDI '96
- 1996

It is found that such declarative formulations can indeed be used in practical systems, when combined with the appropriate tool for evaluation, and experimental evidence that the resultant groundness and strictness analysis systems are practical in terms of both time and space is given. Expand

Efficient Access Mechanisms for Tabled Logic Programs

- Computer Science
- J. Log. Program.
- 1999

The design, implementation, and experimental evaluation of data structures and algorithms for high-performance table access, which uses tries, a variant of discrimination nets, as the basis for tables, and a novel technique of substitution factoring is proposed. Expand

Eecient Model Checking Using Tabled Resolution ?

- 1997

We demonstrate the feasibility of using the XSB tabled logic programming system as a programmable xed-point engine for implementing eecient local model checkers. In particular, we present XMC, an… Expand

The limits of fixed-order computation

- Computer Science
- 2001

SLGstrat is introduced, a variant of SLG resolution that uses a fixed-order computation rule, and it is proved that it correctly evaluates ground left-to-right dynamically stratified programs. Expand

Well-founded Abduction via Tabled Dual Programs

- Computer Science
- ICLP
- 1999

This paper shows how to use tabled logic programming to evaluate queries to abductive frameworks with integrity constraints when these frameworks contain both default and explicit negation. Expand

An Abstract Machine for Computing the Well-Founded Semantics

- Computer Science
- JICSLP
- 1996

This paper presents an implementation of the well-founded semantics in the SLG-WAM of XSB, and presents a theorem that bounds the need for delay to those literals which are not dynamically strati ed for a xed-order computation. Expand