(setq NAME "Monkey and Bananas Problem") (setq DDKB "GENERIC") (setq VARIABLES '(sMNK sBOX sHND)) (setq CONSTANTS '(PLACE-1 PLACE-2 UNDER-BANANAS ON-BOX EMPTY BANANAS)) (setq PREDICATES '(EQ NE)) (setq FUNCTIONS nil) ; only identity function. (setq OPERATORS '((oCL ((EQ sMNK sBOX)) ; Climb ON the BOX (sMNK ON-BOX)) (oGR ((EQ sMNK ON-BOX) ; Grab the BANANAS (EQ sBOX UNDER-BANANAS)) (sHND BANANAS)) (oP1 ((EQ sMNK sBOX)) ; Push Box to PLACE-1 (sMNK PLACE-1) (sBOX PLACE-1)) (oP2 ((EQ sMNK sBOX)) ; Push Box to PLACE-2 (sMNK PLACE-2) (sBOX PLACE-2)) (oPB ((EQ sMNK sBOX)) ; Push Box to UNDER-BANANAS (sMNK UNDER-BANANAS) (sBOX UNDER-BANANAS)) (oW1 nil ; Walk to PLACE-1 (sMNK PLACE-1)) (oW2 nil ; Walk to PLACE-2 (sMNK PLACE-2)) (oWB nil ; Walk to UNDER-BANANAS (sMNK UNDER-BANANAS)))) (setq INITIAL nil) (setq GOAL '((EQ sHND BANANAS)))