Here is the example problem:

As initial conditions you have a shaker with 3 levels, 2 shot glasses, 3 dispensers for 3 ingredients. The shaker and shot glasses are clean, empty, and on the table. Your left and right hands are empty. Your goal is to make 1 cocktails. Cocktail 1 contains ingredient 1 and ingredient 3. 

Here is the corresponding domain pddl:

(define (domain barman)
 (:requirements :strips :typing)
 (:types hand level beverage dispenser container - object
 ingredient cocktail - beverage
 shot shaker - container)
 (:predicates (ontable ?c - container)
 (holding ?h - hand ?c - container)
 (handempty ?h - hand)
 (empty ?c - container)
 (contains ?c - container ?b - beverage)
 (clean ?c - container)
 (used ?c - container ?b - beverage)
 (dispenses ?d - dispenser ?i - ingredient)
 (shaker-empty-level ?s - shaker ?l - level)
 (shaker-level ?s - shaker ?l - level)
 (next ?l1 ?l2 - level)
 (unshaked ?s - shaker)
 (shaked ?s - shaker)
 (cocktail-part1 ?c - cocktail ?i - ingredient)
 (cocktail-part2 ?c - cocktail ?i - ingredient))
 
 (:action grasp
 :parameters (?h - hand ?c - container)
 :precondition (and (ontable ?c) (handempty ?h))
 :effect (and (not (ontable ?c))
 (not (handempty ?h))
 (holding ?h ?c)))

 (:action leave
 :parameters (?h - hand ?c - container)
 :precondition (holding ?h ?c)
 :effect (and (not (holding ?h ?c))
 (handempty ?h)
 (ontable ?c)))
 
 (:action fill-shot
 :parameters (?s - shot ?i - ingredient ?h1 ?h2 - hand ?d - dispenser)
 :precondition (and (holding ?h1 ?s)
 (handempty ?h2)
 (dispenses ?d ?i)
 (empty ?s)
 (clean ?s))
 :effect (and (not (empty ?s))
 (contains ?s ?i)
 (not (clean ?s))
 (used ?s ?i)))
 (:action refill-shot
 :parameters (?s - shot ?i - ingredient ?h1 ?h2 - hand ?d - dispenser)
 :precondition (and (holding ?h1 ?s) 
 (handempty ?h2)
 (dispenses ?d ?i)
 (empty ?s)
 (used ?s ?i))
 :effect (and (not (empty ?s))
 (contains ?s ?i)))

 (:action empty-shot
 :parameters (?h - hand ?p - shot ?b - beverage)
 :precondition (and (holding ?h ?p)
 (contains ?p ?b))
 :effect (and (not (contains ?p ?b))
 (empty ?p)))

 (:action clean-shot
 :parameters (?s - shot ?b - beverage ?h1 ?h2 - hand)
 :precondition (and (holding ?h1 ?s)
 (handempty ?h2) 
 (empty ?s)
 (used ?s ?b))
 :effect (and (not (used ?s ?b))
 (clean ?s)))

 (:action pour-shot-to-clean-shaker
 :parameters (?s - shot ?i - ingredient ?d - shaker ?h1 - hand ?l ?l1 - level)
 :precondition (and (holding ?h1 ?s)
 (contains ?s ?i)
 (empty ?d)
 (clean ?d) 
 (shaker-level ?d ?l)
 (next ?l ?l1))
 :effect (and (not (contains ?s ?i))
 (empty ?s)
 (contains ?d ?i)
 (not (empty ?d))
 (not (clean ?d))
 (unshaked ?d)
 (not (shaker-level ?d ?l))
 (shaker-level ?d ?l1)))
 (:action pour-shot-to-used-shaker
 :parameters (?s - shot ?i - ingredient ?d - shaker ?h1 - hand ?l ?l1 - level)
 :precondition (and (holding ?h1 ?s)
 (contains ?s ?i)
 (unshaked ?d)
 (shaker-level ?d ?l)
 (next ?l ?l1))
 :effect (and (not (contains ?s ?i))
 (contains ?d ?i)
 (empty ?s) 
 (not (shaker-level ?d ?l))
 (shaker-level ?d ?l1)))

 (:action empty-shaker
 :parameters (?h - hand ?s - shaker ?b - cocktail ?l ?l1 - level)
 :precondition (and (holding ?h ?s)
 (contains ?s ?b)
 (shaked ?s)
 (shaker-level ?s ?l)
 (shaker-empty-level ?s ?l1))
 :effect (and (not (shaked ?s))
 (not (shaker-level ?s ?l))
 (shaker-level ?s ?l1)
 (not (contains ?s ?b))
 (empty ?s)))

 (:action clean-shaker
 :parameters (?h1 ?h2 - hand ?s - shaker)
 :precondition (and (holding ?h1 ?s)
 (handempty ?h2)
 (empty ?s))
 :effect (and (clean ?s)))
 
 (:action shake
 :parameters (?b - cocktail ?d1 ?d2 - ingredient ?s - shaker ?h1 ?h2 - hand)
 :precondition (and (holding ?h1 ?s)
 (handempty ?h2)
 (contains ?s ?d1)
 (contains ?s ?d2)
 (cocktail-part1 ?b ?d1)
 (cocktail-part2 ?b ?d2)
 (unshaked ?s)) 
 :effect (and (not (unshaked ?s))
 (not (contains ?s ?d1))
 (not (contains ?s ?d2))
 (shaked ?s)
 (contains ?s ?b)))

 (:action pour-shaker-to-shot
 :parameters (?b - beverage ?d - shot ?h - hand ?s - shaker ?l ?l1 - level)
 :precondition (and (holding ?h ?s)
 (shaked ?s)
 (empty ?d)
 (clean ?d)
 (contains ?s ?b)
 (shaker-level ?s ?l)
 (next ?l1 ?l))
 :effect (and (not (clean ?d))
 (not (empty ?d))
 (contains ?d ?b)
 (shaker-level ?s ?l1)
 (not (shaker-level ?s ?l))))
 )

Here is the corresponding problem pddl:

(define (problem prob)
 (:domain barman)
 (:objects 
 shaker1 - shaker
 left right - hand
 shot1 shot2 - shot
 ingredient1 ingredient2 ingredient3 - ingredient
 cocktail1 - cocktail
 dispenser1 dispenser2 dispenser3 - dispenser
 l0 l1 l2 - level
)
 (:init 
 (ontable shaker1)
 (ontable shot1)
 (ontable shot2)
 (dispenses dispenser1 ingredient1)
 (dispenses dispenser2 ingredient2)
 (dispenses dispenser3 ingredient3)
 (clean shaker1)
 (clean shot1)
 (clean shot2)
 (empty shaker1)
 (empty shot1)
 (empty shot2)
 (handempty left)
 (handempty right)
 (shaker-empty-level shaker1 l0)
 (shaker-level shaker1 l0)
 (next l0 l1)
 (next l1 l2)
 (cocktail-part1 cocktail1 ingredient3)
 (cocktail-part2 cocktail1 ingredient1)
)
 (:goal
 (and
 (contains shot1 cocktail1)
)))

Now, I have a new problem: 

As initial conditions you have a shaker with 3 levels, 5 shot glasses, 3 dispensers for 3 ingredients. The shaker and shot glasses are clean, empty, and on the table. Your left and right hands are empty. Your goal is to make 4 cocktails. Cocktail 1 contains ingredient 1 and ingredient 3. Cocktail 2 contains ingredient 2 and ingredient 3. Cocktail 3 contains ingredient 2 and ingredient 3. Cocktail 4 contains ingredient 1 and ingredient 3. 

Can you generate the problem pddl file for me?
예제 문제가 있습니다:초기 조건으로 3단계 쉐이커, 샷잔 2개, 3가지 재료를 담을 수 있는 디스펜서 3개가 있습니다. 셰이커와 샷잔은 깨끗하고 비어 있으며 테이블 위에 놓여 있습니다. 왼손과 오른손은 비어 있습니다. 여러분의 목표는 칵테일 1개를 만드는 것입니다. 칵테일 1에는 재료 1과 재료 3이 들어 있습니다. 다음은 해당 도메인 pddl입니다:(정의 (도메인 바텐더) (:요구 사항 :스트립 :타이핑) (:유형 핸드 레벨 음료 디스펜서 용기 - 객체 재료 칵테일 - 음료 샷 셰이커 - 용기) (:술어 (테이블 ?c - 컨테이너) (들고 ?h - 손 ?c - 용기) (빈 ?h - 손) (빈 ?c - 컨테이너) (포함 ?C - 용기 ?B - 음료) (clean ?c - container) (사용한 ?C - 용기 ?B - 음료) (디스펜스 ?D - 디스펜서 ?I - 성분) (쉐이커-비어있는-레벨 ?S - 쉐이커 ?L - 레벨) (쉐이커-레벨 ?S - 쉐이커 ?L - 레벨) (NEXT ?L1 ?L2 - 레벨) (unshaked ?s - 쉐이커) (흔들린 ?S - 쉐이커) (칵테일-파트1 ?C - 칵테일 ?I - 재료) (칵테일-파트2 ?c - 칵테일 ?i - 성분)))  (:액션 파악 :매개변수 (?h - 손 ?c - 용기) :전제조건 (and (ontable ?c) (handempty ?h)) :effect (and (not (ontable ?c)) (not (handempty ?h)) (holding ?h ?c))) (:action leave :매개변수 (?h - 손 ?c - 컨테이너) :전제 조건 (보유 ?h ?c) :효과 (and (not (holding ?h ?c)) (handempty ?h) (ontable ?c))))  (:액션 채우기 샷 :매개변수 (?s - 샷 ?i - 성분 ?h1 ?h2 - 손 ?d - 디스펜서) :전제 조건 (그리고 (보유 ?H1 ?S) (handempty ?h2) (디스펜스 ?D ?I) (empty ?s) (clean ?s)) :effect (and (not (empty ?s)) (contains ?s ?i) (not (clean ?s)) (used ?s ?i))) (:액션 리필 샷 :매개변수 (?s - 샷 ?i - 성분 ?h1 ?h2 - 손 ?d - 디스펜서) :전제 조건 (및 (보유 ?H1 ?S)  (handempty ?h2) (디스펜스 ?D ?I) (empty ?s) (used ?s ?i)) :effect (and (not (empty ?s)) (포함 ?s ?i)))) (:액션 빈 샷 :매개변수 (?h - 손 ?p - 샷 ?b - 음료) :전제조건 (그리고 (들고 ?h ?p) (포함 ?p ?b)) :효과 (그리고 (아닌 (포함 ?p ?b)) (빈 ?p))) (:액션 클린샷 :매개변수 (?s - 샷 ?b - 음료 ?h1 ?h2 - 손) :전제 조건 (그리고 (홀딩 ?H1 ?S) (handempty ?h2)  (빈 ?s) (사용된 ?s ?b)) :효과 (and (not (used ?s ?b)) (clean ?s))) (:액션 부어-샷-청소-쉐이커 :매개변수 (?s - 샷 ?i - 성분 ?d - 쉐이커 ?h1 - 손 ?l ?l1 - 레벨) :전제 조건 (및 (홀딩 ?H1 ?S) (포함 ?s ?i) (empty ?d) (clean ?d)  (쉐이커-레벨 ?d ?l) (next ?l ?l1)) :effect (and (not (contains ?s ?i)) (빈 ?s) (포함 ?d ?i) (not (empty ?d)) (not (clean ?d)) (unshaked ?d) (NOT (SHAKER-LEVEL ?D ?L)) (쉐이커-레벨 ?d ?l1)))) (:액션 부어-샷-사용-쉐이커 :매개변수 (?s - 샷 ?i - 성분 ?d - 쉐이커 ?h1 - 손 ?l ?l1 - 레벨) :전제 조건 (및 (홀딩 ?H1 ?S) (포함 ?s ?i) (unshaken ?d) (쉐이커-레벨 ?d ?l) (next ?l ?l1)) :effect (and (not (contains ?s ?i)) (contains ?d ?i) (empty ?s)  (not (shaker-level ?d ?l)) (쉐이커-레벨 ?d ?l1)))) (:action 빈 셰이커 :매개변수 (?h - 손 ?s - 셰이커 ?b - 칵테일 ?l ?l1 - 레벨) :전제조건 (and (holding ?h ?s) (포함 ?s ?b) (흔들린 ?s) (쉐이커-레벨 ?S ?L) (쉐이커-비어있는-레벨 ?s ?l1)) :effect (and (not (shaked ?s)) (not (shaker-level ?s ?l)) (쉐이커-레벨 ?s ?l1) (not (contains ?s ?b)) (empty ?s))) (:액션 클린 셰이커 :매개변수 (?h1 ?h2 - 손 ?s - 쉐이커) :전제조건 (and (holding ?h1 ?s) (handempty ?h2) (빈 ?s)) :효과 (and (clean ?s)))  (:액션 쉐이크 :매개변수 (?b - 칵테일 ?d1 ?d2 - 재료 ?s - 쉐이커 ?h1 ?h2 - 손) :전제 조건 (및 (홀딩 ?H1 ?S) (handempty ?h2) (contains ?s ?d1) (contains ?s ?d2) (칵테일-파트1 ?B ?D1) (칵테일-파트2 ?B ?D2) (unshaked ?s))  :effect (and (not (unshaken ?s)) (NOT (CONTAINS ?S ?D1)) (not (contains ?s ?d2)) (shaked ?s) (contains ?s ?b)))) (:액션 따르기-쉐이커-샷 :매개변수 (?b - 음료 ?d - 샷 ?h - 손 ?s - 셰이커 ?l ?l1 - 레벨) :전제 조건 (그리고 (들고 ?h ?s) (흔들었다 ?s) (빈 ?d) (clean ?d) (contains ?s ?b) (쉐이커-레벨 ?S ?L) (next ?l1 ?l)) :effect (and (not (clean ?d)) (not (empty ?d)) (contains ?d ?b) (쉐이커-레벨 ?s ?l1) (not (shaker-level ?s ?l)))) )다음은 해당 문제 pddl입니다:(정의 (문제 확률) (:도메인 바텐더) (:객체  shaker1 - 셰이커 왼쪽 오른쪽 - 손 shot1 shot2 - 샷 ingredient1 ingredient2 ingredient3 - 재료 cocktail1 - 칵테일 디스펜서1 디스펜서2 디스펜서3 - 디스펜서 L0 L1 L2 - 레벨) (:init  (테이블 셰이커1) (테이블 샷1) (테이블 샷2) (디스펜스 디스펜서1 재료1) (디스펜서2 재료2 디스펜서2) (디스펜스 디스펜서3 재료3) (클린 쉐이커1) (클린 샷1) (클린 샷2) (빈 쉐이커1) (빈 샷1) (빈 샷2) (빈 잔 왼쪽) (빈 잔 오른쪽) (셰이커-빈-레벨 셰이커1 L0) (셰이커-빈-레벨 셰이커1 L0) (NEXT L0 L1) (NEXT L1 L2) (칵테일-파트1 칵테일1 재료3) (칵테일-파트2 칵테일