We show how a negation operation which allows for the possibility to represent explicit negative information can be added to Prolog without essentially altering its computational structure. This negation is calledstrongsince it expresses a notion of directly established falsity as opposed to the rather weak notion of indirectly established falsity expressed by negation-as-failure. By means of strong negation the useful distinction between exact and inexact predicates can be expressed in logic programs providing for the capability of reasoning with empirical domains.
展开▼