Content deleted Content added
Line 47:
The meaning of negation in logic programs is closely related to two theories of [[Nonmonotonic logic|nonmonotonic reasoning]] — [[autoepistemic logic]] and [[default logic]]. The discovery of these relationships was a key step towards the invention of the stable model semantics.
The syntax of autoepistemic logic uses a [[modal operator]] that allows us to distinguish between what is true and what is believed. [[Michael Gelfond]] [1987] proposed to read <math>\operatorname{not} p</math> in the body of a rule as "<math>p</math> is not believed", and to understand a rule with negation as the corresponding formula of autoepistemic logic. The stable model semantics, in its basic form, can be viewed as a reformulation of this idea that avoids explicit references to autoepistemic logic.
In default logic, a default is similar to an [[inference rule]], except that it includes, besides its premises and conclusion, a list of formulas called justifications. A default can be used to derive its conclusion under the assumption that its justifications are consistent with what is currently believed. Nicole Bidoit and Christine Froidevaux [1987] proposed to treat negated atoms in the bodies of rules as justifications. For instance, the rule
|