(define (domain trucks) (:requirements :strips) (:predicates (package ?obj) (truck ?truck) (location ?loc) (in-city ?obj ?city) (city ?city) (at ?obj ?loc) (in ?obj ?obj) ) (:action load-truck :parameters (?obj ?truck ?loc) :precondition (and (package ?obj) (truck ?truck) (location ?loc) (at ?truck ?loc) (at ?obj ?loc)) :effect (and (not (at ?obj ?loc)) (in ?obj ?truck))) (:action unload-truck :parameters (?obj ?truck ?loc) :precondition (and (package ?obj) (truck ?truck) (location ?loc) (at ?truck ?loc) (in ?obj ?truck) ) :effect (and (not (in ?obj ?truck)) (at ?obj ?loc))) (:action drive-truck :parameters (?truck ?loc-from ?loc-to ?city) :precondition (and (truck ?truck) (location ?loc-from) (location ?loc-to) (city ?city) (at ?truck ?loc-from) (in-city ?loc-from ?city) (in-city ?loc-to ?city) ) :effect (and (not (at ?truck ?loc-from)) (at ?truck ?loc-to))) )