Operators in Situation Calculus

Operators can be represented as functions that change states into new states:
&forall x &forall y &forall s [¬ On(Monkey, Box, s) &and At(Monkey, x, s) &and At(Box, x, s) &rarr At(Monkey, y, pushbox(x, y, s)) &and At(Box, y, pushbox(x, y, s)) ]

pushbox is a function from states to states.

If we pose a question of ``How can the monkey get the bananas?'' and negate it, we will have ¬ Has(Monkey, Bananas, s) (``There is no possible state in which the monkey has the bananas.'') After proving and using answer extraction, we will have an answer such as:
Has(Monkey, Bananas,
         grasp(climbbox(pushbox(b, c, goto(a, b, s0)))))

Note that the instruction set of any CPU could be axiomatized as a state space; thus, any computation can be expressed in predicate calculus. In fact, binary Horn clauses have the power of a Turing machine.

Contents    Page-10    Prev    Next    Page+10    Index