Negation in logic programs: is it necessary two connectives? - Fillottrani, Pablo Rubén (1998)
Negative information can be represented in several classes of logic programs. These approaches were first motivated by the search for an appropriate declarative semantics for negation as failure. Recently, some formalizations of monotonic negation were also introduced in logic programming in the form of “classical” or “strong” negation. In view of such a diversity of semantics for negation in logic programs, Dix [7,5,6] proposed a method for classigying and characterizing them. In this paper we present an analysis of these approaches from the view-point of knowledge representation. We compare them with nonmonotonic formalisms such as default logic, circumscription, and autoepistemic logic, identifying some problems that are not preset in these logics. Then we suggest some alternatives, considering Dix’s formal properties. Finally we discuss the effect of allowing only one negative connective in the syntax of logic programs, whose semantics is defined by the programmer.