next up previous contents index
Next: 5.3.1 Stratified Normal Programs Up: 5. Using Tabling in Previous: 5.2.4.0.2 Tabled Predicates and   Contents   Index

5.3 Normal Programs

Normal programs extend definite programs to include default negation, which posits a fact as false if all attempts to prove it fail. As shown in Example 1.0.1, which presented one of Russell's paradoxes as a logic program, the addition of default negation allows logic programs to express contradictions. As a result, some assertions, such as shaves(barber,barber) may be undefined, although other facts, such as shaves(barber,mayor) may be true. Formally, the meaning of normal programs may be given using the well-founded semantics and it is this semantics that XSB adopts for negation (we note that in Version 3.0 the well-founded semantics is implemented only for variant-based tabling).



Subsections

Terrance Swift 2007-10-05