Next: Subsumption-Based Tabled Evaluation
Up: Tabling Strategies
Previous: Tabling Strategies
  Contents
  Index
Variant-Based Tabled Evaluation
The first measure determines whether two terms are
variants -- that is, if they can be made identical through
variable renaming. This is the default tabling method employed by
XSB. It was used in the original formulation of SLG resolution
[12] for the evaluation of normal logic programs according to
the well-founded semantics and interacts well with many of Prolog's
extra-logical constructs.
Under variant-based tabling, when a tabled call C is made, a search
for a table entry containing a variant subgoal S is performed. Notice
that if such an S should exist, then all of its answers are
also answers to C, and therefore will be resolved against it.
Likewise, when an answer A is derived for a producing subgoal S,
A is inserted into the answer set of S if and only if A
does not already exist in -- that is, if there is no variant of
A already present in . The insertion of A, therefore,
leads to the return of A to consumers of S. However, the return
of only the most general answers to a consumer, referred to as
answer subsumption, can be flexibly programmed as discussed in
Section 5.45.2.
Next: Subsumption-Based Tabled Evaluation
Up: Tabling Strategies
Previous: Tabling Strategies
  Contents
  Index
Luis Fernando P. de Castro
2003-06-27