Logic Programming

Volume 5649 of the series Lecture Notes in Computer Science pp 519-524

Incremental Answer Completion in the SLG-WAM

  • Terrance SwiftAffiliated withCentro de Inteligência Artificial, Universidade Nova de Lisboa
  • , Alexandre Miguel PintoAffiliated withCentro de Inteligência Artificial, Universidade Nova de Lisboa
  • , Luís Moniz PereiraAffiliated withCentro de Inteligência Artificial, Universidade Nova de Lisboa

* Final gross prices may vary according to local VAT.

Get Access


The SLG-WAM of XSB Prolog soundly implements the Well-Founded Semantics (WFS) for logic programs, but in a few pathological cases its engine treats atoms as undefined that are true or false in WFS. The reason for this is that the XSB does not implement the SLG Answer Completion operation in its engine, the SLG-WAM – rather Answer Completion must be performed by post-processing the table. This engine-level omission has not proven significant for applications so far, but the need for Answer Completion is becoming important as XSB is more often used to produce well-founded residues of highly non-stratified programs. However, due to its complexity, care must be taken when adding Answer Completion to an engine. In the worst case, the cost of each Answer Completion operation is proportional to the size of a program P, so that the operation must be invoked as rarely as possible, and when invoked the operation must traverse as small a fragment as possible of P. We examine the complexity of Answer Completion; and then describe its implementation and performance in XSB’s SLG-WAM such that the invocations of the operation are restricted, and which is limited in scope to Strongly Connected Components within a tabled evaluation’s Subgoal Dependency Graph.