Accordingly, the evaluation uses rule (3) to create node 2. The (only possible) literal not p(a) **in node 2 is selected. This literal has an underlying subgoal** p(a) **that** does not correspond to the root of any tree in the forest so far. Thus, the **SLG(**O)
operation New Subgoal **creates a new tree for** p(a) **(node 3), whose child, node 4,** is created by Program Clause Resolution using rule (4). The **New Subgoal**
operation is again used to create a new tree for the selected literal t(a,X,Y) **(node**
5), and children nodes 6 and 7 are created by Program Clause Resolution **from**
rules (6) and (7). These latter nodes have empty Goals and are termed **answers**;
moreover, since they also have empty Delays, they are unconditional **answers.**10 Any atom in the ground instantiation of an unconditional answer is true in the well-founded MKNF model, cf. Theorem 5.3. The SLG(O) operation **Positive** Return **is used to resolve the first of these answers against the selected literal**
of node 4, producing node 9. The selected literal of this latter node has p(a) as its underlying subgoal, but there is already a tree for p(a) **in the forest and there** are no answers for p(a) **to return. Since there is another unconditional answer for**
t(a,X,Y) (in node 7), Positive Return **can be used to produce node 10. The** underlying subgoal p(b) is selected, by New Subgoal **the tree for** p(b) **is created,**
and it is eventually determined that the subgoal p(b) **has an unconditional answer**
(node 12); accordingly, using the Negation Failure operation, the **failure node**,
node 14, is created. Then, the computation, via **Program Clause Resolution**
and program rule (5), produces another child for p(a)**, node 15, and resolves** p(b) (node 16). At this stage the subgoal p(a) **is neither true, as no unconditional**
answers have been derived for it, nor false as one of its possible derivations, node 9, effectively has a loop through negation. However, in SLG(O) **it is possible to**
apply the delay **operation to the selected negative literal, by moving it from the**
Goals to the right of the | symbol into the Delays to the left of the | **symbol. This**
delay operation produces node 17, which is termed a conditional **answer, as it has**
empty Goals but non-empty **Delays**.

11 Delay **also produces node 18 whose new**
selected literal not p(b) **now fails (given the unconditional answer in node 12),** producing the failure node 19. At this stage, all possible operations **for non-answer** nodes in p(a) **and the trees it depends on have been performed so that** p(a) **may be** completed **(step 20). The completed subgoal** p(a) **has no answers, and so is termed** failed and is false in the well-founded MKNF model of K**. This failed literal can**
be removed from the delay list of node 18 through the simplification **operation**
producing the unconditional answer node 21.

Example 4.1 covers most of the main aspects of SLG(O)**, more precisely the**
main aspect of the underlying formalism, SLG, that is applicable to normal logic programs. SLG does not especially differ from other Prolog-like tabling formalisms in the case of programs that do not use default negation (not). However, for nega-