Use course prerequisites example. Introduce undefined truth value. Add undetermined facts for courses currently being taken. Then requests for whether have satisfied requirements will give: true if satisfied without any current course false if not satisfied even if all current courses are passed undetermined if satisfaction depends on outcome of current courses.
Categorization examples? Propositional Horn clauses for bird identification. Allow negation as failure, explicit negation.
cardinal :- red, crested. bluejay :- blue, crested. robin :- red_breasted, ~crested. Use undef as a kind of null value?: binarize relation undef :- ~undef. %emp(Name,Sal,Age) -> empsal/2 and empage/2 emp(david,50000,_|_) is represented as ``facts'': empsal(david,50000). empage(david,_X) :- undef. or empage(david,X) :- between(45,X,55),undef. (so can fail if not between 45 and 55.)