XSB: Extending Prolog with Tabled Logic Programming

@article{Swift2011XSBEP,
  title={XSB: Extending Prolog with Tabled Logic Programming},
  author={T. Swift and David Scott Warren},
  journal={Theory and Practice of Logic Programming},
  year={2011},
  volume={12},
  pages={157 - 187}
}
  • T. Swift, D. Warren
  • Published 2011
  • Computer Science
  • Theory and Practice of Logic Programming
Abstract 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… Expand
JPL : Implementation of a Prolog System Supporting Incremental Tabulation
TLDR
JPL is an approach to support incremental tabulation for logic programs under non-monotonic logic to cache the proof generated by the deductive inference engine rather than the end results. Expand
Probabilistic Inference in SWI-Prolog
TLDR
This paper shows how SWI-Prolog has been extended to include correct answer subsumption and how the PITA transformation has been changed to use SWI -Prolog implementation. Expand
Batched evaluation of linear tabled logic programs
TLDR
Experimental results show that the combination of the DRA and DRE strategies can effectively reduce the execution time for batched evaluation. Expand
Design and implementation of a modular interface to integrateCLP and tabled execution
Logic programming (LP) is a family of high-level programming languages which provides high expressive power. With LP, the programmer writes the properties of the result and / or executable Expand
Program Updating by Incremental and Answer Subsumption Tabling
We propose a novel conceptual approach to program updates implementation that exploits two features of tabling in logic programming in XSB Prolog: incremental and answer subsumption tabling. OurExpand
QUERY PROOF STRUCTURE CACHING FOR INCREMENTAL EVALUATION OF TABLED PROLOG PROGRAMS
TLDR
This paper uses the justification-based truth-maintenance system to support the incremental evaluation of tabled Prolog Programs and favors the dynamic rules based logic systems. Expand
Mode-Directed Tabling and Applications in the YapTab System
TLDR
This paper proposes a more general approach to the declaration and use of mode-directed tabling, implemented on top of the YapTab tabling system, and shows applications of the approach to problems involving Justification, Preferences and Answer Subsumption. Expand
Tabling with Support for Relational Features in a Deductive Database
  • F. Sáenz-Pérez
  • Computer Science
  • Electron. Commun. Eur. Assoc. Softw. Sci. Technol.
  • 2012
TLDR
It is shown how unusual operations in deductive systems can be integrated with tabling in the form of null-related (outer) joins, duplicate support and duplicate elimination from relational database systems. Expand
A Hitchhiker's Guide to Reinventing a Prolog Machine
TLDR
This work takes a fresh, “clean-room” look at implementing Prolog by deriving its translation to an executable representation and its execution algorithm from a simple Horn Clause meta-interpreter, and discusses similarities to existing Prolog abstract machines. Expand
Delimited continuations in Prolog: semantics, use, and implementation in the WAM
TLDR
An implementation of a delimited continuations is shown in the context of the WAM, and more particular in hProlog, and the constructs are compared with similar ones in BinProlog and Haskell. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 126 REFERENCES
Achieving scalability in parallel tabled logic programs
TLDR
This work proves that parallel tabling is indeed scalable for real applications by experimenting the OPTYap parallel tabled system on a scalable shared-memory machine. Expand
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. Expand
Tabling for non‐monotonic programming
  • T. Swift
  • Computer Science
  • Annals of Mathematics and Artificial Intelligence
  • 2004
TLDR
This paper describes tabling as it is implemented in the XSB system and shows how it can be used to construct meta‐interpreters (or preprocessors) for two sample formalisms: the Well‐Founded Semantics with Explicit Negation, and Generalized Annotated Logic Programs. Expand
Heap Memory Management in Prolog with Tabling: Principles and Practice
TLDR
This system draws on the previous experience of compiling Prolog to C in the wamcc system and of compiling finite domain constraints in the clp(FD) system and is based on a low-level mini-assembly platform-independent language that makes it possible to avoid compiling C code, and thus drastically reduces compilation time. Expand
Semantics-based program analysis for logic-based languages using XSB
TLDR
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
InterProlog: Towards a Declarative Embedding of Logic Programming in Java
TLDR
InterProlog is the first Prolog-Java interface to support multiple Prolog systems through the same API, gifting the Java developer with the best inference engines, and the logic programmer with simple access to the mainstream object-oriented plat- form. Expand
Efficient Access Mechanisms for Tabled Logic Programs
TLDR
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
A New Formulation of Tabled Resolution with Delay
TLDR
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
A Space Efficient Engine for Subsumption-Based Tabled Evaluation of Logic Programs
TLDR
Time-Stamped Trie (TST) is presented, a alternative data structure for organizing answer tables in subsumption-based tabling that relaxes the retrieval order, and yet ensures that all answers will be eventually retrieved. Expand
Understanding Memory Management in Prolog Systems
TLDR
A methodology to compare the memory performance of Prolog based systems is presented, and it is used to compare two different WAM-based systems, namely XSB and Yap, and a scheme is proposed that can improve the performance of sliding-based garbage collectors is proposed. Expand
...
1
2
3
4
5
...