<<Set[Object]:Set[Object]>:<Set[Object]:Set[Object]>> -> negate_filter
<Set[Box],Color:Set[Box]> -> member_color_all_equals
<Set[Box],Color:Set[Box]> -> member_color_any_equals
<Set[Box],Color:Set[Box]> -> member_color_none_equals
<Set[Box],Shape:Set[Box]> -> member_shape_all_equals
<Set[Box],Shape:Set[Box]> -> member_shape_any_equals
<Set[Box],Shape:Set[Box]> -> member_shape_none_equals
<Set[Box],int:Set[Box]> -> member_color_count_equals
<Set[Box],int:Set[Box]> -> member_color_count_greater
<Set[Box],int:Set[Box]> -> member_color_count_greater_equals
<Set[Box],int:Set[Box]> -> member_color_count_lesser
<Set[Box],int:Set[Box]> -> member_color_count_lesser_equals
<Set[Box],int:Set[Box]> -> member_color_count_not_equals
<Set[Box],int:Set[Box]> -> member_count_equals
<Set[Box],int:Set[Box]> -> member_count_greater
<Set[Box],int:Set[Box]> -> member_count_greater_equals
<Set[Box],int:Set[Box]> -> member_count_lesser
<Set[Box],int:Set[Box]> -> member_count_lesser_equals
<Set[Box],int:Set[Box]> -> member_count_not_equals
<Set[Box],int:Set[Box]> -> member_shape_count_equals
<Set[Box],int:Set[Box]> -> member_shape_count_greater
<Set[Box],int:Set[Box]> -> member_shape_count_greater_equals
<Set[Box],int:Set[Box]> -> member_shape_count_lesser
<Set[Box],int:Set[Box]> -> member_shape_count_lesser_equals
<Set[Box],int:Set[Box]> -> member_shape_count_not_equals
<Set[Box],int:bool> -> box_count_equals
<Set[Box],int:bool> -> box_count_greater
<Set[Box],int:bool> -> box_count_greater_equals
<Set[Box],int:bool> -> box_count_lesser
<Set[Box],int:bool> -> box_count_lesser_equals
<Set[Box],int:bool> -> box_count_not_equals
<Set[Box]:Set[Box]> -> member_color_different
<Set[Box]:Set[Box]> -> member_color_same
<Set[Box]:Set[Box]> -> member_shape_different
<Set[Box]:Set[Box]> -> member_shape_same
<Set[Box]:Set[Object]> -> object_in_box
<Set[Box]:bool> -> box_exists
<Set[Object],Color:bool> -> object_color_all_equals
<Set[Object],Color:bool> -> object_color_any_equals
<Set[Object],Color:bool> -> object_color_none_equals
<Set[Object],Shape:bool> -> object_shape_all_equals
<Set[Object],Shape:bool> -> object_shape_any_equals
<Set[Object],Shape:bool> -> object_shape_none_equals
<Set[Object],int:bool> -> object_color_count_equals
<Set[Object],int:bool> -> object_color_count_greater
<Set[Object],int:bool> -> object_color_count_greater_equals
<Set[Object],int:bool> -> object_color_count_lesser
<Set[Object],int:bool> -> object_color_count_lesser_equals
<Set[Object],int:bool> -> object_color_count_not_equals
<Set[Object],int:bool> -> object_count_equals
<Set[Object],int:bool> -> object_count_greater
<Set[Object],int:bool> -> object_count_greater_equals
<Set[Object],int:bool> -> object_count_lesser
<Set[Object],int:bool> -> object_count_lesser_equals
<Set[Object],int:bool> -> object_count_not_equals
<Set[Object],int:bool> -> object_shape_count_equals
<Set[Object],int:bool> -> object_shape_count_greater
<Set[Object],int:bool> -> object_shape_count_greater_equals
<Set[Object],int:bool> -> object_shape_count_lesser
<Set[Object],int:bool> -> object_shape_count_lesser_equals
<Set[Object],int:bool> -> object_shape_count_not_equals
<Set[Object]:Set[Object]> -> [<<Set[Object]:Set[Object]>:<Set[Object]:Set[Object]>>, <Set[Object]:Set[Object]>]
<Set[Object]:Set[Object]> -> above
<Set[Object]:Set[Object]> -> below
<Set[Object]:Set[Object]> -> big
<Set[Object]:Set[Object]> -> black
<Set[Object]:Set[Object]> -> blue
<Set[Object]:Set[Object]> -> bottom
<Set[Object]:Set[Object]> -> circle
<Set[Object]:Set[Object]> -> medium
<Set[Object]:Set[Object]> -> same_color
<Set[Object]:Set[Object]> -> same_shape
<Set[Object]:Set[Object]> -> small
<Set[Object]:Set[Object]> -> square
<Set[Object]:Set[Object]> -> top
<Set[Object]:Set[Object]> -> touch_bottom
<Set[Object]:Set[Object]> -> touch_corner
<Set[Object]:Set[Object]> -> touch_left
<Set[Object]:Set[Object]> -> touch_object
<Set[Object]:Set[Object]> -> touch_right
<Set[Object]:Set[Object]> -> touch_top
<Set[Object]:Set[Object]> -> touch_wall
<Set[Object]:Set[Object]> -> triangle
<Set[Object]:Set[Object]> -> yellow
<Set[Object]:bool> -> object_exists
@start@ -> bool
Color -> color_black
Color -> color_blue
Color -> color_yellow
Set[Box] -> [<Set[Box],Color:Set[Box]>, Set[Box], Color]
Set[Box] -> [<Set[Box],Shape:Set[Box]>, Set[Box], Shape]
Set[Box] -> [<Set[Box],int:Set[Box]>, Set[Box], int]
Set[Box] -> [<Set[Box]:Set[Box]>, Set[Box]]
Set[Box] -> all_boxes
Set[Object] -> [<Set[Box]:Set[Object]>, Set[Box]]
Set[Object] -> [<Set[Object]:Set[Object]>, Set[Object]]
Set[Object] -> all_objects
Shape -> shape_circle
Shape -> shape_square
Shape -> shape_triangle
bool -> [<Set[Box],int:bool>, Set[Box], int]
bool -> [<Set[Box]:bool>, Set[Box]]
bool -> [<Set[Object],Color:bool>, Set[Object], Color]
bool -> [<Set[Object],Shape:bool>, Set[Object], Shape]
bool -> [<Set[Object],int:bool>, Set[Object], int]
bool -> [<Set[Object]:bool>, Set[Object]]
int -> 1
int -> 2
int -> 3
int -> 4
int -> 5
int -> 6
int -> 7
int -> 8
int -> 9
