(domain BLOCKS) (type object) (predicate holding) (arity holding 1) (var holding 1 untyped) (predicate handempty) (arity handempty 0) (predicate on) (arity on 2) (var on 1 untyped) (var on 2 untyped) (predicate clear) (arity clear 1) (var clear 1 untyped) (predicate ontable) (arity ontable 1) (var ontable 1 untyped) (action stack) (var stack x object) (var stack y object) (precondition stack (holding x )) (precondition stack (clear y )) (negative_effect stack (holding x )) (negative_effect stack (clear y )) (pos_effect stack (clear x )) (pos_effect stack (handempty )) (pos_effect stack (on x y )) (action unstack) (var unstack x object) (var unstack y object) (precondition unstack (on x y )) (precondition unstack (clear x )) (precondition unstack (handempty )) (pos_effect unstack (holding x )) (pos_effect unstack (clear y )) (negative_effect unstack (clear x )) (negative_effect unstack (handempty )) (negative_effect unstack (on x y )) (action pick-up) (var pick-up x object) (precondition pick-up (clear x )) (precondition pick-up (ontable x )) (precondition pick-up (handempty )) (negative_effect pick-up (ontable x )) (negative_effect pick-up (clear x )) (negative_effect pick-up (handempty )) (pos_effect pick-up (holding x )) (action put-down) (var put-down x object) (precondition put-down (holding x )) (negative_effect put-down (holding x )) (pos_effect put-down (clear x )) (pos_effect put-down (handempty )) (pos_effect put-down (ontable x ))