The library(wfs) provides the user interface to the Well Founded Semantics (WFS) support in SWI-Prolog.
- call_delays(:Goal, -Delays)
- True when Goal is true with Delays. Delays is
trueif the answer is unconditionally true and a conjuctions of tabled goals that are unknown according to the Well Founded Semantics otherwise. Delays only contains the unknown goals used for proving Goal. The predicate call_delays/2 is semantically equivalent to call/1, including management of the delay list.
- delays_residual_program(+Delays, -Clauses)
- Given a delay as returned by call_delays/2, produce a set of clauses the represents the complete residual program responsible for these delays, The program contains at least one loop through tnot/1 and is either inconsistent or has multiple models according to the stable model semantics.
- call_residual_program(:Goal, -Clauses)
- Call Goal and return the full residual program as a list of Clauses.
- answer_residual(:Goal, :Residual)
- True when Goal resolves to a tabled predicate and Residual is the residual goal associated with an answer for Goal. Residual is in its most general form a disjunction (;/2) of conjunctions (,/2) of tabled goals.