Representing Priorities in Logic Programs

Reasoning with priorities is a central topic in knowledge representation. A number of techniques for prioritized reasoning have been developed in the eld of AI, but existing logic programming lacks the mechanism of explicit representation of priorities in a program. In this paper, we introduce a framework for representing priorities in logic programming. Prioritized logic programming represents preference knowledge more naturally than stratied programs, and is used to reduce non-determinism in logic programming. Moreover, it can realize various forms of commonsense reasoning such as abduction, default reasoning, and prioritized circumscription. The proposed framework increases the expressive power of logic programming and exploits new applications in knowledge representation.