Implementation of Tabled Evaluation with Delaying in Prolog

@article{Ramesh1997ImplementationOT,
  title={Implementation of Tabled Evaluation with Delaying in Prolog},
  author={R. Ramesh and Weidong Chen},
  journal={IEEE Trans. Knowl. Data Eng.},
  year={1997},
  volume={9},
  pages={559-574}
}
Unlike SLD resolution as implemented in Prolog, tabled evaluation with delaying guarantees termination for function free logic programs, avoids repeated computation of identical subqueries, and handles recursion through negation. It is often used in query processing and nonmonotonic reasoning where termination is required. The paper presents a new technique for incorporating tabled evaluation into existing Prolog systems. It requires neither time consuming modifications of a Prolog engine nor… 
Towards a Complete Scheme for Tabled Execution Based on Program Transformation
TLDR
This paper presents a complete translation for the continuation call technique which, while requiring the same runtime support as the traditional approach, solves these problems and makes it possible to execute arbitrary tabled programs.
On Applying Linear Tabling to Logic Programs
  • M. Jo
  • Computer Science
  • 2010
TLDR
A new strategy is proposed, named DRS, and a framework is presented, on top of the Yap system, that supports the combination of all these three linear tabling strategies, and confirmed that suspension-based mechanisms have, in general, better performance thanlinear tabling and that the difference between both mechanisms can be highly reduced by using the correct combination of linear tabing strategies.
An abstract machine for tabled execution of fixed-order stratified logic programs
TLDR
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.
A Program Transformation for Continuation Call-Based Tabled Execution
TLDR
This paper presents a complete translation for the continuation call technique which, using the runtime support needed for the traditional proposal, solves these problems and makes it possible to execute arbitrary tabled programs.
Implementation of Suspension-Based Tabling in Prolog using External Primitives
We present the design, implementation and evaluation of a suspension-based tabling mechanism that supports tabled evaluation by applying source level transformations to a tabled program. The
On Applying Program Transformation to Implement Suspension-Based Tabling in Prolog
TLDR
This paper presents tabling mechanisms, a technique of resolution that overcomes some limitations of traditional Prolog systems in dealing with redundant sub-computations and recursion, and their main idea is to maintain a single execution tree where tabled subgoals always extend the current computation without requiring suspension and resumption of sub-Computations.
An Efficient Implementation of Linear Tabling Based on Dynamic Reordering of Alternatives
Tabling is a technique of resolution that overcomes some limitations of traditional Prolog systems in dealing with recursion and redundant sub-computations. We can distinguish two main categories of
An Efficient Implementation of Linear Tabling Based on Dynamic Reordering of Alternatives
TLDR
This work presents a new and efficient implementation of linear tabling that is based on dynamic reordering of alternatives but it innovates by considering a strategy that schedules the re-evaluation of tabled calls in a similar manner to the suspension-based strategies of YapTab.
On applying or-parallelism and tabling to logic programs
TLDR
OPTYap is the first implementation of a parallel tabling engine for logic programming systems and demonstrates that implicit or-parallelism is a natural fit for logic programs with tabling, and emphasizes the belief that through applying or-Parallelism and tabling to logic programs the range of applications can be increased.
Memoisation: Purely, Left-recursively, and with (Continuation Passing) Style
TLDR
It is shown how Johnson's approach to memoisation can be implemented purely functionally in a modern, strongly typed functional language (OCaml), presented via a monadic interface that hides the implementation details, yet providing a way to return a compact represention of the memo tables at the end of the computation.
...
1
2
...

References

SHOWING 1-10 OF 23 REFERENCES
Query evaluation under the well-founded semantics
TLDR
This work addresses all three problems for goal-oriented query evaluation of arbitrary programs by presenting an extension of SLDNF, called SLG resolution, with the following distinctive features, and believes it will provide the computational basis for the next generation of logic programming systems.
XSB as an efficient deductive database engine
TLDR
Performance comparisons indicate that XSB is significantly faster than other deductive database systems for a wide range of queries and stratified rule sets.
Controlling the Search in Bottom-Up Evaluation
TLDR
The technique, called Ordered Search, is able to maintain subgoal dependency information eeciently, while being able to detect repeated subgoals, and avoid innnite loops, and is complete for DATALOG.
Tabled Evaluation with Delaying for General Logic Programs
The semantics of predicate logic as a programming language. Every logic program has a natural stratiication and an iterated least xed point model. Magic sets and bottom-up evaluation of well-founded
Rule Ordering in Bottom-Up Fixpoint Evaluation of Logic Programs
TLDR
A theoretical analysis of rule orderings and identify orderings that minimize the number of rule applications with respect to a class of orderings called fair orderings, and shows that though nonfair orderings may do a little better on some data sets, they can do much worse on others.
Efficient Top-Down Computation of Queries under the Well-Founded Semantics
TLDR
This paper investigates two major implementation issues of query evaluation under the well-founded semantics, namely, to ensure that negative literals be resolved only after their positive counterparts have been completely evaluated, and to detect and handle potential negative loops.
Extension table built‐ins for prolog
TLDR
The ET* algorithm uses extension tables and depth‐first iterative deepening to provide the evaluation of pure function‐free logic programs as declarative specifications.
Recursive query processing: the power of logic
TLDR
It is shown that a computational model developed in the framework of resolution provides a very adequate tool to study and develop query answering procedures for deductive databases, as well as for logic programs, and that the framework provided by QoSaQ is powerful enough to account for the best-known recursive query evaluation methods.
Extending Prolog with Nonmonotonic Reasoning
TLDR
By combining Prolog technology with various mechanisms of nonmonotonic reasoning, the resulting system offers a more realistic testbed for applications of common sense reasoning.
Query Restricted Bottom-Up Evaluation of Normal Logic Programs
TLDR
This paper identifies classes of programs and sips for which the context transformations and the envelopes transformations preserve well-founded models wrt the query, and identifies a new program transformation based on magic sets that preserves well- founded models with respect to the query for any choice of sips.
...
1
2
3
...