Proving Failure of Queries for Definite Logic Programs Using XSB-Prolog
Nikolay Pelov, Maurice Bruynooghe

TL;DR
This paper demonstrates how to prove query failure in definite logic programs by leveraging XSB-Prolog's tabulation, improved backtracking, and failure analysis, offering an alternative to model generation methods.
Contribution
It shows how to achieve failure proofs using direct execution in XSB-Prolog, replacing complex model generation with enhanced control and analysis techniques.
Findings
Effective failure proving with XSB-Prolog's tabulation.
Improved backtracking and failure analysis techniques.
Comparable results to previous model-based approaches.
Abstract
Proving failure of queries for definite logic programs can be done by constructing a finite model of the program in which the query is false. A general purpose model generator for first order logic can be used for this. A recent paper presented at PLILP98 shows how the peculiarities of definite programs can be exploited to obtain a better solution. There a procedure is described which combines abduction with tabulation and uses a meta-interpreter for heuristic control of the search. The current paper shows how similar results can be obtained by direct execution under the standard tabulation of the XSB-Prolog system. The loss of control is compensated for by better intelligent backtracking and more accurate failure analysis.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Logic, Reasoning, and Knowledge · Advanced Database Systems and Queries
