; monkey and banana problem in a production rule format (r mb1 (monkey at ?p) (box at ?p) (banana at ?p) (monkey on box) -(monkey have banana) --> write monkey grabs banana add (monkey have banana)) (r mb2 (banana at ?p) (box at ?p) (monkey at ?p) (monkey on floor) --> write monkey climbs box remove (monkey on floor) add (monkey on box)) (r mb3 (banana at ?p1) (box at ?p2) (monkey at ?p2) (not (equal '?p1 '?p2)) --> write monkey pushes box to banana remove (box at ?p2) remove (monkey at ?p2) add (box at ?p1) add (monkey at ?p1)) (r mb4 (box at ?p1) (monkey at ?p2) (not (equal '?p1 '?p2)) --> write monkey walks to box remove (monkey at ?p2) add (monkey at ?p1)) (r mb5 (start 1) --> write monkey at a box at b banana at c add (monkey at a) add (monkey on floor) add (box at b) add (banana at c)) (r mb6 (start 2) --> write monkey at a box at c banana at c add (monkey at a) add (monkey on floor) add (box at c) add (banana at c)) ; type (run) then type a (start 2) ; to stop, type stop