(define (domain jam) (:requirements :strips :typing) (:types type) (:predicates (empty ?hole) (out ?pigeon) (in ?pigeon ?hole) (placed ?pigeon) (color ?pigeon ?color) (next ?color1 ?color2)) (: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)) ) ) )