(define (domain tea-1) (:requirements :typing) (:types room - loc ) /* room is a subtype of loc */ (:static (connected ?l1 ?l2 - loc) (cupstack ?r - room) (teamachine ?r - room)) (:predicates (at ?l - loc) (free) (emptycuploaded ) (fullcuploaded ) (ordered ?r - room)) (:constants (hallway - loc)) (:theory (forall (?r - room) (connected ?r hallway)) ) (:action getcup :parameters (?r - room) :precondition (at ?r) (cupstack ?r) (free) :effect (emptycuploaded) (not (free))) (:action fillcup :parameters (?r - room ) :precondition (at ?r) (teamachine ?r) (emptycuploaded ) :effect (fullcuploaded) (not (emptycuploaded))) (:action deliver :parameters (?r - room) :precondition (at ?r) (ordered ?r) (fullcuploaded) :effect (free) (not (ordered ?r)) (not (fullcuploaded))) (:action go :parameters (?from ?to - loc) :precondition (or (connected ?from ?to) (connected ?to ?from) ) (at ?from) :effect (at ?to) (not (at ?from)) :next (or (= ?to hallway) (deliver ?to)(fillcup ?to)(getcup ?to))) )