B7. DEFEASIBILITY
So far, all of the axioms we have written are always true. It is
always the case, for example, that two sets with exactly the same
members are equal. But we cannot get very far in axiomatizing
commonsense knowledge if we insist on this everywhere. Most of our
everyday knowledge is only approximately correct. It is defeasible,
in that we can draw a conclusion with it and later have the conclusion
be defeated by new, more precise information.
The classic example is the knowledge we have that birds fly.
(forall (x) (if (bird x)(fly x))) (1)
When we hear that Tweety is a bird, we conclude that Tweety can fly.
But later we may learn that Tweety is an emu. In that case, Tweety
doesn't fly. Our knowledge that birds fly is only defeasible. This
is not to say it is useless. It just means that we need to be
somewhat more careful in stating and using the knowledge.
In logic, the technical term for this property is "nonmonotonic".
Classical logic is "monotonic" in the sense that once we conclude
something, nothing we learn subsequently can change that conclusion.
Commonsense knowledge is nonmonotonic.
One way to deal with this problem is to add another proposition to the
antecedent of implications.
(forall (x) (2)
(if (and (bird x)(etc1 x))
(fly x)))
This says that if x is a bird and x has other unspecified properties
encoded as "etc1", then x can fly.
There are a number of ways the "etc" predicates can enter into the
inference process. In weighted abduction (Hobbs et al., 1993), one
tries to prove something by standard deductive means, but one can, at
cost, make assumptions where the knowledge is lacking. The preferred
proof is then the lowest-cost proof, for example, the one that
minimizes the number of assumptions. Hobbs et al. (1993) describe
various criteria for determining costs and choosing the best proof.
In the bird example, we want to know whether x flies. All we know is
that x is a bird. So we assume "(etc1 x)", and conclude that x can
fly.
Suppose later we learn that x is an emu, and we have the knowledge
that emus are birds but don't fly.
(forall (x) (if (emu x)(bird x))) (3)
(forall (x) (if (emu x)(not (fly x)))) (4)
There is no contradiction in the knowledge base consisting of these
three axioms. If x is an emu, then "(etc1 x)" is not true, and we
can't assume it.
The best known version of this way of representing defeasible
knowledge is McCarthy's (1980) circumscriptive logic. Rather than
using "etc", he uses "ab" for "abnormal". So Axiom (2) becomes
(forall (x) (5)
(if (and (bird x)(not (ab1 x)))
(fly x)))
If x is a bird and x is not abnormal in a way specific to the
predicate "ab1", then x can fly.
We might further know that being an emu is one way of being abnormal
in this respect.
(forall (x) (if (emu x)(ab1 x))) (6)
In the framework of Hobbs et al. (1993), there are no axioms that
allow one to conclude explicitly that the "etc" predicates are true or
false. They are simply carriers for the costs of using defeasible
knowledge. In circumscriptive logic one may use axioms like (6) to
state explicit properties that make something abnormal in some
respect. (In fact, (6) follows from (5), (3) and (4).)
We have subscripted the "etc" and "ab" predicates because the extra
conditions they encode are different for every axiom. It is also
defeasibly true that birds have two legs.
(forall (x) (7)
(if (and (bird x)(etc2 x))
(twoLegged x)))
But the extra conditions under which a bird can fly and the extra
conditions under which a bird has two legs are different. We can't
have a single "etc" or "ab" predicate do all the work. There has to
be a separate one for every axiom.
It may be that there are inferential relations among the defeasibility
predicates. For example, defeasibly all birds have feathers.
(forall (x) (8)
(if (and (bird x)(etc3 x))
(feathered x)))
This is only defeasible because a plucked chicken lacks feathers.
Suppose it is the case that a bird without feathers cannot fly. We
could then state an explicit relation among the "etc" predicates, as
follows:
(forall (x) (if (etc1 x)(etc3 x))) (9)
That is, if the extra conditions that enable a bird to fly are true,
then so are the extra conditions that make it feathered. But in fact
this could be derived from axioms (2) and (8) and the following axiom:
(forall (x) (if (fly x)(feathered x))) (10)
In our treatment of defeasible knowledge we will not explicitly relate
"etc" conditions to each other. Whatever relations there are will
only be derivable from other axioms.
The arguments of the "etc" propositions need to include all the
universally quantied variables that scope over the "etc" predication.
For example, consider the defeasible knowledge that mothers love their
children.
(forall (x y)(if (and (mother x y)(etc4 x y))(love x y))) (11)
The unspecified conditions "etc4" which make the conclusion certainly
true could be properties of the mother alone or the child alone, or a
relation between the two of them.
Now for an abbreviation: We could introduce a different "etc"
predicate into every defeasible axiom. For example, we might index
them with the number of the chapter and the number of the axiom within
that chapter. So for example, a defeasible axiom (13) in Chapter B7
would have the predicate "etc.B7.13".
The arguments of the "etc" predicate in a Horn clause or other axiom
in implicative normal form would in general have to be all the
univerally quantified variables that scope over the predication.
In principle, the extra conditions they encode could depend on any of
these variables. Thus, a defeasible axiom might look like the
following:
(forall (x y) (12)
(if (and (p x y)(etc.B7.13 x y))
(exists (z) (q x z))))
But all this notation is redundant. The index can be recovered from
the chapter and example numbers, and the arguments can be recovered
from the universal quantifier. Moreover, the notation is useless for
the reader, since this particular "etc" predicate will appear in no
other axiom. Its sole function is to indicate the defeasibility of
the one axiom it appears in.
Thus, we will abbreviate all "etc" predications to simply "(etc)".
Axiom (12) would be abbreviated to
(forall (x y) (13)
(if (and (p x y)(etc))
(exists (z) (q x z))))
It is straightforward to recover the real meaning of this expression.
A caveat is in order, however. The purpose of this abbreviation is to
lighten the visual load on the reader from axioms that are often
already quite burdensome. The axioms with "(etc)" cannot simply
be given to a theorem-prover as is; it might assume "(etc)" in one
axiom and then apply it in another. The abbreviations have to be
expanded out before the axiom is given to the reasoning engine.
Notation Introduced in this Chapter
(etc): An abbreviation for "(etc x y ...)", where is
unique to the axiom in which the "(etc)" appears and
"x y ..." are the universally quantified variables that
scope over the "(etc)".
References:
Hobbs, Jerry R., Mark Stickel, Douglas Appelt, and Paul Martin, 1993.
``Interpretation as Abduction'', {\it Artificial Intelligence},
Vol. 63, Nos. 1-2, pp. 69-142.
McCarthy, John, 1980. ``Circumscription: A Form of Nonmonotonic
Reasoning'', {\it Artificial Intelligence}, Vol. 13, pp. 27-39.
Reprinted in M. Ginsberg, ed., {\it Readings in Nonmonotonic
Reasoning}, pp. 145-152, Morgan Kaufmann Publishers, Inc., Los Altos,
California.