Ordered logic programming (OLP) is an elegant, yet powerful extension of logic programming with the object-oriented notions of inheritance and exceptions. The latter are expressed by allowing rules with negated heads. The capability of expressing nonmonotonic reasoning is one of the major features of OLP. In this paper we extend OLP to include sets. The new language is calledOLPS(ordered logic programming with sets). An interesting aspect ofOLPSis the way sets are integrated in the framework of a non-monotonic logic, resulting in a declarative language able to model complex knowledge domains. We show that anyOLPSprogram has a least model and that this model can be computed in a bottom-up fashion by iteratively applying a suitable operator. We compareOLPSwith other logic languages with sets and show that the semantics ofOLPSprograms is a declarative generalization of the well-founded semantics of classical logic programs.
展开▼