Many knowlege representation and reasoning systems are capable of drawing conclusions based on the absence of knowedge from a database. This is nonmonotonic reasoning. The addition of new sentences to the database may be cause for the system to retract earlier conclusions.
In some systems, the exact policy for deriving nonmonotonic conclusions is built into the system. In other systems, the policy can be modified by its user, though rarely within the system's knowledge representation language (e.g. by selecting which predicates to circumscribe). Since KIF is a knowledge representation language and not a system, it is necessary to provide means for its user to express his nomonotonic reasoning policy within the language itself.
We use default rules for this purpose. For instance, the following default rule expresses that an object can be assumed to fly if this object is known to be a bird and it is consistent to assume that it flies.
(<<= (flies ?x) (bird ?x) (consis (flies ?x)))
The use of consis is the only source of nonmonotonicity in KIF. Accordingly, a rule without justifications will be called monotonic. This particularly simple case will be discussed first.