(define (domain gourmet)
(:requirements :negative-preconditions :conditional-effects
:equality :typing :fluents :durative-actions
:derived-predicates)
(:types
tool ingredient - object
)
(:predicates
(checked ?i - ingredient)
(initialized ?i - ingredient)
(left_alone ?i - ingredient)
(served ?i - ingredient)
(in ?i - ingredient ?t - tool)
(cooked_into ?i1 - ingredient ?t - tool ?i2 - ingredient)
(cut_into ?i1 - ingredient ?t - tool ?i2 - ingredient)
(done_into ?i1 - ingredient ?t - tool ?i2 - ingredient)
(mixed_into ?i1 - ingredient ?t - tool ?i2 - ingredient)
(combined_into_2 ?i ?i0 ?i1 - ingredient)
(combined_into_3 ?i ?i0 ?i1 ?i2 - ingredient)
(combined_into_4 ?i ?i0 ?i1 ?i2 ?i3 - ingredient)
)
(:durative-action put
:parameters (?i - ingredient ?t - tool)
:duration (= ?duration 0.1)
:condition (and
(at start (initialized ?i))
(at start (not (in ?i ?t)))
)
:effect (and
(at end (in ?i ?t))
)
)
(:durative-action remove
:parameters (?i - ingredient ?t - tool)
:duration (= ?duration 0.1)
:condition (and
(at start (initialized ?i))
(at start (in ?i ?t))
)
:effect (and
(at end (not (in ?i ?t)))
)
)
(:durative-action check
:parameters (?i - ingredient)
:duration (= ?duration 0.1)
:condition (and
(at start (initialized ?i))
(at start (not (checked ?i)))
)
:effect (and
(at end (checked ?i))
)
)
(:durative-action serve
:parameters (?i - ingredient)
:duration (= ?duration 0.1)
:condition (and
(at start (initialized ?i))
(at start (not (served ?i)))
)
:effect (and
(at end (served ?i))
)
)
(:durative-action leave
:parameters (?i - ingredient)
:duration (= ?duration 15)
:condition (and
(at start (initialized ?i))
(at start (not (left_alone ?i)))
)
:effect (and
(at end (left_alone ?i))
)
)
(:durative-action cook
:parameters (?i1 - ingredient ?t - tool ?i2 - ingredient)
:duration (= ?duration 0.1)
:condition (and
(at start (not (cooked_into ?i1 ?t ?i2)))
(at start (not (initialized ?i2)))
)
:effect (and
(at end (cooked_into ?i1 ?t ?i2))
(at end (initialized ?i2))
)
)
(:durative-action mix
:parameters (?i1 - ingredient ?t - tool ?i2 - ingredient)
:duration (= ?duration 0.1)
:condition (and
(at start (in ?i1 ?t))
(at start (not (mixed_into ?i1 ?t ?i2)))
(at start (initialized ?i1))
(at start (not (initialized ?i2)))
)
:effect (and
(at end (mixed_into ?i1 ?t ?i2))
(at end (initialized ?i2))
)
)
(:durative-action cut
:parameters (?i1 - ingredient ?t - tool ?i2 - ingredient)
:duration (= ?duration 0.1)
:condition (and
(at start (in ?i1 ?t))
(at start (not (cut_into ?i1 ?t ?i2)))
(at start (initialized ?i1))
(at start (not (initialized ?i2)))
)
:effect (and
(at end (cut_into ?i1 ?t ?i2))
(at end (initialized ?i2))
)
)
(:durative-action do
:parameters (?i1 - ingredient ?t - tool ?i2 - ingredient)
:duration (= ?duration 0.1)
:condition (and
(at start (in ?i1 ?t))
(at start (not (done_into ?i1 ?t ?i2)))
(at start (initialized ?i1))
(at start (not (initialized ?i2)))
)
:effect (and
(at end (done_into ?i1 ?t ?i2))
(at end (initialized ?i2))
)
)
(:durative-action separate
:parameters (?i ?i1 ?i2 - ingredient)
:duration (= ?duration 0.1)
:condition (and
(at start (not (initialized ?i1)))
(at start (not (initialized ?i2)))
)
:effect (and
(at end (initialized ?i1))
(at end (initialized ?i2))
(at end (not (combined_into_2 ?i ?i1 ?i2)))
)
)
(:durative-action combine_2
:parameters (?i ?i1 ?i2 - ingredient)
:duration (= ?duration 0.1)
:condition (and
(at start (not (initialized ?i)))
(at start (not (combined_into_2 ?i ?i1 ?i2)))
)
:effect (and
(at end (initialized ?i))
(at end (combined_into_2 ?i ?i1 ?i2))
)
)
(:durative-action combine_3
:parameters (?i ?i1 ?i2 ?i3 - ingredient)
:duration (= ?duration 0.1)
:condition (and
(at start (not (initialized ?i)))
(at start (not (combined_into_3 ?i ?i1 ?i2 ?i3)))
)
:effect (and
(at end (initialized ?i))
(at end (combined_into_3 ?i ?i1 ?i2 ?i3))
)
)
(:durative-action combine_4
:parameters (?i ?i1 ?i2 ?i3 ?i4 - ingredient)
:duration (= ?duration 0.1)
:condition (and
(at start (not (initialized ?i)))
(at start (not (combined_into_4 ?i ?i1 ?i2 ?i3 ?i4)))
)
:effect (and
(at end (initialized ?i))
(at end (combined_into_4 ?i ?i1 ?i2 ?i3 ?i4))
)
)
;; )
;; )
;; (:durative-action combine_9
;; :parameters (?i ?i1 ?i2 ?i3 ?i4 ?i5 ?i6 ?i7 ?i8 ?i9 - ingredient)
;; :duration (= ?duration 0.1)
;; :condition (and
;; (at start (not (initialized ?i)))
;; (at start (not (combined ?i ?i1 ?i2 ?i3 ?i4 ?i5 ?i6 ?i7 ?i8 ?i9)))
;; )
;; :effect (and
;; (at end (initialized ?i))
;; (at end (combined ?i ?i1 ?i2 ?i3 ?i4 ?i5 ?i6 ?i7 ?i8 ?i9))
)