(define (domain ujam) (:requirements :strips :typing) (:types type) (:predicates (empty ?hole) (out ?pigeon) (in ?pigeon ?hole) (placed ?pigeon) (killed ?pigeon) (remaining ?shot) (color ?pigeon ?color) (next ?color1 ?color2) (visible ?color)) (:action fill :parameters (?hole ?pigeon) :precondition (and (empty ?hole) (out ?pigeon) ) :effect (and (in ?pigeon ?hole) (placed ?pigeon) (not (out ?pigeon)) (not (empty ?hole)) ) ) (:action switch :parameters (?pigeon ?color1 ?color2) :precondition (and (color ?pigeon ?color1) (placed ?pigeon) (next ?color1 ?color2) ) :effect (and (color ?pigeon ?color2) (not (color ?pigeon ?color1)) ) ) (:action leave :parameters (?hole ?pigeon) :precondition (and (in ?pigeon ?hole) (placed ?pigeon)) :effect (and (out ?pigeon) (empty ?hole) (not (in ?pigeon ?hole)) (not (placed ?pigeon)) ) ) (:action kill :parameters (?shot ?pigeon ?color) :precondition (and (remaining ?shot) (out ?pigeon) (visible ?color) (color ?pigeon ?color) ) :effect (and (killed ?pigeon) (not (out ?pigeon)) (not (remaining ?shot)) ) ) )