(define (:predicates (room ?r) (ball ?b) (gripper ?g) (at-robby ?r) (at ?b ?r) (free ?g) (carry ?o ?g) ) (:action move :parameters (?from ?to) :precondition (and (room ?from) (room ?to) (at-robby ?from) ) :effect (and (at-robby ?to) (not (at-robby ?from)) ) ) (:action pick :parameters (?obj ?room ?gripper) :precondition (and (ball ?obj) (room ?room) (gripper ?gripper) (at ?obj ?room) (at-robby ?room) (free ?gripper) ) :effect (and (carry ?obj ?gripper) (not (at ?obj ?room)) (not (free ?gripper)) ) ) (:action drop :parameters (?obj ?room ?gripper) :precondition (and (ball ?obj) (room ?room) (gripper ?gripper) (carry ?obj ?gripper) (at-robby ?room) ) :effect (and (at ?obj ?room) (free ?gripper) (not (carry ?obj ?gripper)) ) ) )