Special Issue

New Generation Computing

, Volume 9, Issue 3, pp 365-385

Classical negation in logic programs and disjunctive databases

  • Michael GelfondAffiliated withUniversity of Texas at El Paso
  • , Vladimir LifschitzAffiliated withUniversity of Texas at Austin

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


An important limitation of traditional logic programming as a knowledge representation tool, in comparison with classical logic, is that logic programming does not allow us to deal directly with incomplete information. In order to overcome this limitation, we extend the class of general logic programs by including classical negation, in addition to negation-as-failure. The semantics of such extended programs is based on the method of stable models. The concept of a disjunctive database can be extended in a similar way. We show that some facts of commonsense knowledge can be represented by logic programs and disjunctive databases more easily when classical negation is available. Computationally, classical negation can be eliminated from extended programs by a simple preprocessor. Extended programs are identical to a special case of default theories in the sense of Reiter.


Disjunctive Databases Incomplete Information Logic Programming Negation as Failure Nonmonotonic Reasoning Stable Models