(define (problem auto-assembly)
   (:domain assembly)

   (:objects r0 r1 - resource a-0-0 a-1-0 a-1-1 a-1-2 a-1-3 a-1-4 a-2-0 a-2-1 a-2-2 a-2-3 a-2-4 a-2-5 a-2-6 a-2-7 a-2-8 a-3-0 a-3-1 a-3-2 a-3-3 a-3-4 a-3-5 a-4-0 - assembly)

   (:init
      (part-of a-1-0 a-0-0)
      (part-of a-1-1 a-0-0)
      (part-of a-1-2 a-0-0)
      (part-of a-1-3 a-0-0)
      (part-of a-1-4 a-0-0)
      (part-of a-2-0 a-1-0)
      (part-of a-2-1 a-1-0)
      (part-of a-2-2 a-1-0)
      (part-of a-2-3 a-1-3)
      (part-of a-2-4 a-1-3)
      (part-of a-2-5 a-1-3)
      (part-of a-2-6 a-1-4)
      (part-of a-2-7 a-1-4)
      (part-of a-2-8 a-1-4)
      (part-of a-3-0 a-2-0)
      (part-of a-3-1 a-2-1)
      (part-of a-3-2 a-2-3)
      (part-of a-3-3 a-2-4)
      (part-of a-3-4 a-2-6)
      (part-of a-3-5 a-2-7)
      (transient-part a-2-0 a-0-0)
      (transient-part a-2-0 a-1-3)
      (transient-part a-2-0 a-1-4)
      (transient-part a-2-2 a-0-0)
      (transient-part a-2-4 a-1-2)
      (transient-part a-2-4 a-1-4)
      (transient-part a-2-5 a-1-0)
      (transient-part a-2-7 a-0-0)
      (transient-part a-2-7 a-1-0)
      (transient-part a-2-8 a-1-1)
      (transient-part a-3-0 a-0-0)
      (transient-part a-3-0 a-1-3)
      (transient-part a-3-0 a-1-4)
      (transient-part a-3-0 a-2-0)
      (transient-part a-3-0 a-2-7)
      (transient-part a-3-1 a-0-0)
      (transient-part a-3-1 a-2-0)
      (transient-part a-3-1 a-2-5)
      (transient-part a-3-1 a-2-7)
      (transient-part a-3-2 a-1-0)
      (transient-part a-3-2 a-1-2)
      (transient-part a-3-2 a-1-4)
      (transient-part a-3-2 a-2-1)
      (transient-part a-3-2 a-2-6)
      (transient-part a-3-3 a-2-1)
      (transient-part a-3-3 a-2-6)
      (transient-part a-3-4 a-1-2)
      (transient-part a-3-4 a-1-3)
      (transient-part a-3-4 a-1-4)
      (transient-part a-3-4 a-2-0)
      (transient-part a-3-4 a-2-3)
      (transient-part a-3-4 a-2-5)
      (transient-part a-3-4 a-2-7)
      (transient-part a-3-5 a-0-0)
      (transient-part a-3-5 a-2-3)
      (transient-part a-3-5 a-2-4)
      (transient-part a-4-0 a-1-0)
      (transient-part a-4-0 a-1-2)
      (transient-part a-4-0 a-2-0)
      (transient-part a-4-0 a-2-2)
      (transient-part a-4-0 a-3-0)
      (transient-part a-4-0 a-3-1)
      (available r0)
      (available r1)
      (available a-0-0)
      (available a-1-0)
      (available a-1-1)
      (available a-1-2)
      (available a-1-3)
      (available a-1-4)
      (available a-2-0)
      (available a-2-1)
      (available a-2-2)
      (available a-2-3)
      (available a-2-4)
      (available a-2-5)
      (available a-2-6)
      (available a-2-7)
      (available a-2-8)
      (available a-3-0)
      (available a-3-1)
      (available a-3-2)
      (available a-3-3)
      (available a-3-4)
      (available a-3-5)
      (available a-4-0)
      (requires a-1-0 r0)
      (requires a-1-3 r0)
      (requires a-2-7 r0)
      (requires a-2-8 r1)
      (requires a-3-3 r1)
      (requires a-4-0 r0)
      (assemble-order a-1-2 a-1-3 a-0-0)
      (assemble-order a-1-4 a-1-3 a-0-0)
      (assemble-order a-1-0 a-1-4 a-0-0)
      (assemble-order a-2-2 a-2-0 a-1-2)
      (assemble-order a-2-0 a-2-1 a-1-0)
      (assemble-order a-2-3 a-2-4 a-1-3)
      (assemble-order a-2-6 a-2-8 a-1-4)
   )

   (:goal (and (complete a-0-0)))
)
