Classical negation in logic programs and disjunctive databases. (English) Zbl 0735.68012

New Gener. Comput. 9, No. 3-4, 365-385 (1991).
The authors extend logic programs by including classical negation in addition to negation as failure. They can distinguish between a query which fails in the sense that it doesn’t succeed and a query which fails in the stronger sense that its negation succeeds. The semantics of an extended program is based on the method of stable models. A ”well- behaved” extended program has exactly one answer set, and this set is consistent. Moreover, an extended program can be viewed as a special case of default theories.
On the other hand, an extended program \(P\) can be reduced to a general program \(P'\) and under rather general conditions it is possible to use a query evaluation for \(P'\).
The paper also discusses examples when the use of classical negation leads to more natural results than with negation-as-failure. Finally, extended disjunctive databases are studied. They contain non-classical disjunction in their rule heads. The paper overcomes an important limitation of traditional logic programming in comparison with classical logic in the sense of expressing incomplete information.
Reviewer: J.Pokorny


68N17 Logic programming
68T15 Theorem proving (deduction, resolution, etc.) (MSC2010)
68T30 Knowledge representation