Stratified Negation is Ok
A predicate P depends on a predicate Q if:
Q appears negated in a rule defining P.
If there is a cycle in the dependency graph, the datalog program
is not stratified.
Example:
p(X) :- r(X) & NOT q(X)
q(X) :- r(X) & NOT p(X)
Suppose r has the tuple {1}
What is the fixed point?
Previous slide
Next slide
Back to first slide
View graphic version