;; Generated by blocksworld generator
;; http://www.cs.rutgers.edu/~jasmuth/blocksworld.tar.gz
;; by John Asmuth (jasmuth@cs.rutgers.edu)
;; and Dave Weissman
(define (domain bw-c-pc-nr-nr-8)
(:requirements :adl :probabilistic-effects :fluents)
(:types block table)
(:constants table – table)
(:predicates
(is-red ?block – block)
(is-blue ?block – block)
(is-green ?block – block)
(holding ?block – block)
(on-top-of ?block – block ?obj)
)
(:action pick-up-block-from
:parameters (?top – block ?bottom)
:precondition (and (not (= ?top ?bottom))
(forall (?b – block) (not (holding ?b)))
(on-top-of ?top ?bottom)
(forall (?b – block) (not (on-top-of ?b ?top))))
:effect (and (probabilistic 0.75 (and (holding ?top)
(not (on-top-of ?top ?bottom)))
0.25 (when (not (= ?bottom table))
(and (not (on-top-of ?top ?bottom))
(on-top-of ?top table)))))
)
(:action put-down-block-on
:parameters (?top – block ?bottom)
:precondition (and (not (= ?top ?bottom))
(holding ?top)
(or (= ?bottom table)
(forall (?b – block) (not (on-top-of ?b ?bottom)))))
:effect (and (not (holding ?top))
(probabilistic 0.75 (on-top-of ?top ?bottom)
0.25 (on-top-of ?top table)))
)
)
(define (problem bw-c-pc-nr-8)
(:domain bw-c-pc-nr-nr-8)
(:objects block0 block1 block2 block3 block4 block5 block6 block7 – block)
(:init
(on-top-of block0 block1)
(on-top-of block1 table)
(on-top-of block2 table)
(on-top-of block3 block4)
(on-top-of block4 block5)
(on-top-of block5 table)
(on-top-of block6 table)
(on-top-of block7 table)
(is-red block0)
(is-red block1)
(is-green block2)
(is-red block3)
(is-green block4)
(is-red block5)
(is-green block6)
(is-blue block7)
)
(:goal
(and
(exists (?fb0 – block)
(and
(is-green ?fb0)
(exists (?fb1 – block)
(and
(not (= ?fb0 ?fb1))
(is-green ?fb1)
(on-top-of ?fb0 ?fb1)
(exists (?fb2 – block)
(and
(not (= ?fb0 ?fb2))
(not (= ?fb1 ?fb2))
(is-blue ?fb2)
(on-top-of ?fb1 ?fb2)
(exists (?fb3 – block)
(and
(not (= ?fb0 ?fb3))
(not (= ?fb1 ?fb3))
(not (= ?fb2 ?fb3))
(is-red ?fb3)
(on-top-of ?fb2 ?fb3)
(exists (?fb4 – block)
(and
(not (= ?fb0 ?fb4))
(not (= ?fb1 ?fb4))
(not (= ?fb2 ?fb4))
(not (= ?fb3 ?fb4))
(is-red ?fb4)
(on-top-of ?fb3 table)
(exists (?fb5 – block)
(and
(not (= ?fb0 ?fb5))
(not (= ?fb1 ?fb5))
(not (= ?fb2 ?fb5))
(not (= ?fb3 ?fb5))
(not (= ?fb4 ?fb5))
(is-red ?fb5)
(on-top-of ?fb4 ?fb5)
(exists (?fb6 – block)
(and
(not (= ?fb0 ?fb6))
(not (= ?fb1 ?fb6))
(not (= ?fb2 ?fb6))
(not (= ?fb3 ?fb6))
(not (= ?fb4 ?fb6))
(not (= ?fb5 ?fb6))
(is-green ?fb6)
(on-top-of ?fb5 ?fb6)
(exists (?fb7 – block)
(and
(not (= ?fb0 ?fb7))
(not (= ?fb1 ?fb7))
(not (= ?fb2 ?fb7))
(not (= ?fb3 ?fb7))
(not (= ?fb4 ?fb7))
(not (= ?fb5 ?fb7))
(not (= ?fb6 ?fb7))
(is-red ?fb7)
(on-top-of ?fb6 ?fb7)
(on-top-of ?fb7 table)
))))))))))))))))
)
)
)