next up previous contents index
Next: Answers, Returns, and Templates Up: 6.14 Tabled Predicate Manipulations Previous: 6.14 Tabled Predicate Manipulations   Contents   Index

Tables and Table Entries

Abstractly, a table can be seen as a set of entry triples $\langle
S,{\cal A},Status \rangle$ where $S$ is a subgoal, ${\cal A}$ is its associated answer set, and $Status$ its status -- whether it is complete or incomplete. In terms of implementation, ``the table'' is actually a set of mini-tables, each one containing entries for a particular predicate. Hence, we may refer to the table containing entries for some predicate p/n as ``the table for p/n.'' Further recall that a particular predicate may be evaluated according to either a variant or subsumptive strategy as chosen by the user. Invocation of a call during an evaluation leads to the classification of the call, as well as its possible insertion into the table. Each call can be classified as either (a) a generator, or producer, of an answer set, or (b) a consumer of the answer set of some subgoal in the table. Creation of a table entry thus relies not only on the call and on the subgoals already present in the table, but also upon whether call-variance or call-subsumption is used (cf. [32]).


next up previous contents index
Next: Answers, Returns, and Templates Up: 6.14 Tabled Predicate Manipulations Previous: 6.14 Tabled Predicate Manipulations   Contents   Index
Terrance Swift 2007-10-05