next up previous contents index
Next: Ordered Sets Up: Other Libraries Previous: AVL Trees   Contents   Index

Justification

Most Prolog debuggers, including XSB's, are based on a mechanism that allows a user to trace the evaluation of a goal by interrupting the evaluation at call, success, retry, or failure of various subgoals. While this has proved an excellent mechanism for evaluating SLD(NF) executions, it is difficult at best to use such a mechanism during a tabled evaluation. This is because, unlike with SLD(NF), SLG requires answers to be returned to tabled subgoals at various times (depending on whether batched or local evaluation is used), negative subgoals to be sometimes be delayed and/or simplified, etc.

One approach to understanding tabled evaluation better is to abstract away the procedural aspects of debugging and to use the tables produced by an evaluation to construct a justification after the evaluation has finished. The justification library does just this using algorithms described in [9].



Luis Fernando P. de Castro 2003-06-27