Swift, Terrance Tabling for non-monotonic programming. (English) Zbl 0940.68025 Ann. Math. Artif. Intell. 25, No. 3-4, 201-240 (1999). Summary: 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 these properties, tabling allows a variety of non-monotonic extensions to be efficiently implemented, and used to solve practical problems. In this paper we describe tabling as it is implemented in the XSB system and show 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. We also describe how non-monotonic extensions are used in practical applications such as psychiatric diagnosis, extraction of information from poorly structured textual data, and model checking. Cited in 12 Documents MSC: 68N19 Other programming paradigms (object-oriented, sequential, concurrent, automatic, etc.) 68N17 Logic programming Keywords:logic programming Software:XSB PDFBibTeX XMLCite \textit{T. Swift}, Ann. Math. Artif. Intell. 25, No. 3--4, 201--240 (1999; Zbl 0940.68025) Full Text: DOI