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

Tables and Table Entries

For our purposes, 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 minitables, 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 relies not only on the call and the subgoals already present in the table, but upon the tabling strategy as well.


next up previous contents index
Next: Answers, Returns, and Templates Up: Tabled Predicate Manipulations Previous: Tabled Predicate Manipulations   Contents   Index
Luis Fernando P. de Castro 2003-06-27