The second problem with the situation calculus axioms is that they were again not general enough. This was the qualification problem, and a possible way around it wasn't discovered until the late 1970s. Consider putting an axiom in a common sense database asserting that birds can fly. Clearly the axiom must be qualified in some way since penguins, dead birds and birds whose feet are encased in concrete can't fly. A careful construction of the axiom might succeed in including the exceptions of penguins and dead birds, but clearly we can think up as many additional exceptions like birds with their feet encased in concrete as we like. Formalized nonmonotonic reasoning (see (McCarthy 1980, 1986), (Doyle 1977), (McDermott and Doyle 1980) and (Reiter 1980)) provides a formal way of saying that a bird can fly unless there is an abnormal circumstance and reasoning that only the abnormal circumstances whose existence follows from the facts being taken into account will be considered.
Non-monotonicity has considerably increased the possibility of expressing general knowledge about the effects of events in the situation calculus. It has also provided a way of solving the frame problem, which constituted another obstacle to generality that was already noted in (McCarthy and Hayes 1969). The frame problem (The term has been variously used, but I had it first.) occurs when there are several actions available each of which changes certain features of the situation. Somehow it is necesary to say that an action changes only the features of the situation to which it directly refers. When there is a fixed set of actions and features, it can be explicitly stated which features are unchanged by an action, even though it may take a lot of axioms. However, if we imagine that additional features of situations and additional actions may be added to the database, we face the problem that the axiomatization of an action is never completed. (McCarthy 1986) indicates how to handle this using circumscription, but Lifschitz (1985) has shown that circumscription needs to be improved and has made proposals for this.
Here are some situation calculus axioms for moving and painting blocks taken from (McCarthy 1986).
Axioms about Locations and the Effects of Moving Objects =0pt
asserts that objects normally do not change their locations. More specifically, an object does not change its location unless the triple consisting of the object, the event that occurs, and the situation in which it occurs are abnormal in apect1.
However, moving an object to a location in a situation is abnormal in aspect1.
Unless the relevant triple is abnormal in aspect3, the action of moving an object to a location l results in its being at l.
Axioms about Colors and Painting
Thes three axioms give the corresponding facts about what changes the color of an object.
This treats the qualification problem, because any number of conditions that may be imagined as preventing moving or painting can be added later and asserted to imply the corresponding . It treats the frame problem in that we don't have to say that moving doesn't affect colors and painting locations.
Even with formalized nonmonotonic reasoning, the general commonsense database still seems elusive. The problem is writing axioms that satisfy our notions of incorporating the general facts about a phenomenon. Whenever we tentatively decide on some axioms, we are able to think of situations in which they don't apply and a generalization is called for. Moreover, the difficulties that are thought of are often ad hoc like that of the bird with its feet encased in concrete.