Stable model semantics: Difference between revisions

Content deleted Content added
Rriegs (talk | contribs)
m Coherent stable models: remove unnecessary tt formatting
Line 203:
===Representing incomplete information===
 
From the perspective of [[knowledge representation]], a set of ground atoms can be thought of as a description of a complete state of knowledge: the atoms that belong to the set are known to be true, and the atoms that do not belong to the set are known to be false. A possibly ''incomplete'' state of knowledge can be described using a consistent but possibly incomplete set of literals; if an atom <math>p</math> does not belong to the set and its negation does not belong to the set either then it is not known whether <math>p</math> is true or false.
 
In the context of logic programming, this idea leads to the need to distinguish between two kinds of negation&nbsp;— ''[[negation as failure]]'', discussed above, and ''strong negation'', which is denoted here by <math>\sim</math>.<ref>Gelfond and Lifschitz [1991] call the second negation ''classical'' and denote it by <math>\neg</math>.</ref> The following example, illustrating the difference between the two kinds of negation, belongs to [[John McCarthy (computer scientist)|John McCarthy]]. A school bus may cross railway tracks under the condition that there is no approaching train. If we do not necessarily know whether a train is approaching then the rule using negation as failure