;; Transport sequential ;; (define (domain transport) (:requirements :typing :action-costs) (:types location target locatable - object vehicle package - locatable capacity-number - object ) (:predicates (road ?l1 ?l2 - location) (at ?x - locatable ?v - location) (in ?x - package ?v - vehicle) (capacity ?v - vehicle ?s1 - capacity-number) (capacity-predecessor ?s1 ?s2 - capacity-number) ) (:functions (road-length ?l1 ?l2 - location) - number (total-cost) - number ) (:action drive :parameters (?v - vehicle ?l1 ?l2 - location) :precondition (and (at ?v ?l1) (road ?l1 ?l2) ) :effect (and (not (at ?v ?l1)) (at ?v ?l2) (increase (total-cost) (road-length ?l1 ?l2)) ) ) (:action pick-up :parameters (?v - vehicle ?l - location ?p - package ?s1 ?s2 - capacity-number) :precondition (and (at ?v ?l) (at ?p ?l) (capacity-predecessor ?s1 ?s2) (capacity ?v ?s2) ) :effect (and (not (at ?p ?l)) (in ?p ?v) (capacity ?v ?s1) (not (capacity ?v ?s2)) (increase (total-cost) 1) ) ) (:action drop :parameters (?v - vehicle ?l - location ?p - package ?s1 ?s2 - capacity-number) :precondition (and (at ?v ?l) (in ?p ?v) (capacity-predecessor ?s1 ?s2) (capacity ?v ?s1) ) :effect (and (not (in ?p ?v)) (at ?p ?l) (capacity ?v ?s2) (not (capacity ?v ?s1)) (increase (total-cost) 1) ) ) )