Assume enough unique names axioms.
The blocks world involves the frame problem in a more significant way than do the buzzer and the stuffy room scenarios.
We use the predicate Prevents(p,e,s) to say that a move is prevented by there being a block on top of the block to be moved or on the destination unless the destination is the table. We thereby skip the use of the fluent Clear(x) prevalent in many blocks world sitcalc theories.
Here's the effect axiom for moving a block.
and here are the axioms for prevention:
We adopt the usual way of emphasizing the frame problem by introducing the action of painting a block a certain color. Thus
or, using object valued, i.e. non propositional, fluents,
The change axioms for the blocks world are
The nonmonotonic reasoning associated with the blocks world will be discussed after the section dealing with nonmonotonic reasoning in situation calculus in general.