As an example, we formalize Sussman's
anomaly problem within this framework.
The individual variables *x, y* and
*z* range over blocks. The constant
blocks are *A, B, C* and *T*
(for *Table*). The function *On*
maps a pair of blocks *x* and *y* into
the reified formula of the sort database
*On*(*x*,*y*) describing the fact that
block *x* is on block *y*. The function
*Move* maps a pair of blocks *x* and *y*
into the action *Move*(*x*,*y*) denoting the
act of moving block *x* on top of block
*y*. The *precondition, delete list*,
and *add list* of *Move*(*x*,*y*) are
described as follows.

The conditions on the initial and goal
situations ( and ) are
respectively described by axioms
and . The
formula is true
iff formula *f* is at location *i*
in the stack describing
.

Tue Jul 21 09:26:01 PDT 1998