Skip to content

Latest commit

Β 

History

History
299 lines (269 loc) Β· 31.6 KB

File metadata and controls

299 lines (269 loc) Β· 31.6 KB

Split #25

Unseen combinations of grammar rules

(if an example contains all rules of any of these sets, it will be a test example)

Combination 1

  • boolean_single -> exists '(' some_ref ')'
  • ref -> filter_object

Combination 2

  • boolean_single -> quantifier '(' some_ref ',' quantifier_condition ')'
  • ref -> filter_object

Combination 3

  • boolean_single -> compare_attribute
  • ref -> filter_object

Combination 4

  • boolean_single -> compare_count
  • ref -> filter_object

Training examples by seen grammar rules

(training examples which contain each of these grammar rules separately)

⚫ ref -> filter_object ⚫

Is the shape of triangle round animal triangle or triangle ?

choose (query_attr [shape] (filter (triangle, filter (round, find (animal)))), triangle, triangle)

Is the number of square dog that is chasing gray dog 4 or 2 ?

choose (count (with_relation (filter (square, find (dog)), chasing, filter (gray, find (dog)))), 4, 2)

Is the number of square brown animal that is chasing brown triangle dog 3 or 4 ?

choose (count (with_relation (filter (square, filter (brown, find (animal))), chasing, filter (brown, filter (triangle, find (dog))))), 3, 4)

Is the number of square dog that is chasing gray dog 4 or 2 ?

choose (count (with_relation (filter (square, find (dog)), chasing, filter (gray, find (dog)))), 4, 2)

⚫ boolean_single -> compare_count ⚫

The number of dog is less than the number of dog that is chasing mouse

lt (count (find (dog)), count (with_relation (find (dog), chasing, find (mouse))))

The number of dog is less than the number of dog that is chasing mouse

lt (count (find (dog)), count (with_relation (find (dog), chasing, find (mouse))))

The number of dog is less than the number of dog that is chasing mouse

lt (count (find (dog)), count (with_relation (find (dog), chasing, find (mouse))))

The number of dog is less than the number of dog that is chasing mouse

lt (count (find (dog)), count (with_relation (find (dog), chasing, find (mouse))))

⚫ boolean_single -> compare_attribute ⚫

The shape of mouse that is looking at dog that is playing with animal is equal to black

eq (query_attr [shape] (with_relation (find (mouse), looking at, with_relation (find (dog), playing with, find (animal)))), black)

The shape of mouse that is looking at dog that is playing with animal is equal to black

eq (query_attr [shape] (with_relation (find (mouse), looking at, with_relation (find (dog), playing with, find (animal)))), black)

The shape of mouse that is looking at dog that is playing with animal is equal to black

eq (query_attr [shape] (with_relation (find (mouse), looking at, with_relation (find (dog), playing with, find (animal)))), black)

The shape of mouse that is looking at dog that is playing with animal is equal to black

eq (query_attr [shape] (with_relation (find (mouse), looking at, with_relation (find (dog), playing with, find (animal)))), black)

Sample of test examples

The number of animal that is chasing dog that is chasing triangle black mouse is greater than the number of gray animal that is playing with triangle dog that is looking at mouse

      Gold: gt (count (with_relation (find (animal), chasing, with_relation (find (dog), chasing, filter (triangle, filter (black, find (mouse)))))), count (with_relation (filter (gray, find (animal)), playing with, with_relation (filter (triangle, find (dog)), looking at, find (mouse)))))
🟒   BART: gt (count (with_relation (find (animal), chasing, with_relation (find (dog), chasing, filter (triangle, filter (black, find (mouse)))))), count (with_relation (filter (gray, find (animal)), playing with, with_relation (filter (triangle, find (dog)), looking at, find (mouse)))))
🟒 BART-L: gt (count (with_relation (find (animal), chasing, with_relation (find (dog), chasing, filter (triangle, filter (black, find (mouse)))))), count (with_relation (filter (gray, find (animal)), playing with, with_relation (filter (triangle, find (dog)), looking at, find (mouse)))))
πŸ”΄     T5: gt (count (with_relation (find (animal), chasing, with_relation (find (dog), chasing, filter (triangle, filter (black, find (mouse)))))), count (with_relation (filter (gray, find (animal)), playing with, with_relation (filter (triangle, find (dog)), looking at, find (mouse))))))
πŸ”΄   T5-L: gt (count (with_relation (find (animal), chasing, with_relation (find (dog), chasing, filter (triangle, filter (black, find (mouse)))))), count (with_relation (filter (gray, find (animal)), playing with, with_relation (filter (triangle, find (dog)), looking at, find (mouse))

There is square animal that is looking at black animal that is chasing white square animal

      Gold: exists (with_relation (filter (square, find (animal)), looking at, with_relation (filter (black, find (animal)), chasing, filter (white, filter (square, find (animal))))))
🟒   BART: exists (with_relation (filter (square, find (animal)), looking at, with_relation (filter (black, find (animal)), chasing, filter (white, filter (square, find (animal))))))
🟒 BART-L: exists (with_relation (filter (square, find (animal)), looking at, with_relation (filter (black, find (animal)), chasing, filter (white, filter (square, find (animal))))))
🟒     T5: exists (with_relation (filter (square, find (animal)), looking at, with_relation (filter (black, find (animal)), chasing, filter (white, filter (square, find (animal))))))
🟒   T5-L: exists (with_relation (filter (square, find (animal)), looking at, with_relation (filter (black, find (animal)), chasing, filter (white, filter (square, find (animal))))))

All of round triangle cat that is playing with brown square dog that is looking at animal are looking at gray animal

      Gold: all (with_relation (filter (round, filter (triangle, find (cat))), playing with, with_relation (filter (brown, filter (square, find (dog))), looking at, find (animal))), with_relation (scene (), looking at, filter (gray, find (animal))))
🟒   BART: all (with_relation (filter (round, filter (triangle, find (cat))), playing with, with_relation (filter (brown, filter (square, find (dog))), looking at, find (animal))), with_relation (scene (), looking at, filter (gray, find (animal))))
πŸ”΄ BART-L: all (with_relation (filter (round, filter (triangle, find (cat))), playing with, with_relation (filter (brown, filter (square, find (dog))), looking at, find (animal))), with_relation (scene (), looking at, filter (gray, find (animal)))))
🟒     T5: all (with_relation (filter (round, filter (triangle, find (cat))), playing with, with_relation (filter (brown, filter (square, find (dog))), looking at, find (animal))), with_relation (scene (), looking at, filter (gray, find (animal))))
🟒   T5-L: all (with_relation (filter (round, filter (triangle, find (cat))), playing with, with_relation (filter (brown, filter (square, find (dog))), looking at, find (animal))), with_relation (scene (), looking at, filter (gray, find (animal))))

Some of round animal are looking at brown mouse

      Gold: some (filter (round, find (animal)), with_relation (scene (), looking at, filter (brown, find (mouse))))
🟒   BART: some (filter (round, find (animal)), with_relation (scene (), looking at, filter (brown, find (mouse))))
🟒 BART-L: some (filter (round, find (animal)), with_relation (scene (), looking at, filter (brown, find (mouse))))
🟒     T5: some (filter (round, find (animal)), with_relation (scene (), looking at, filter (brown, find (mouse))))
πŸ”΄   T5-L: some (round, find (animal)), with_relation (scene (), looking at, filter (brown, find (mouse))))

The number of white animal is less than the number of brown square animal that is playing with round white cat that is looking at mouse

      Gold: lt (count (filter (white, find (animal))), count (with_relation (filter (brown, filter (square, find (animal))), playing with, with_relation (filter (round, filter (white, find (cat))), looking at, find (mouse)))))
🟒   BART: lt (count (filter (white, find (animal))), count (with_relation (filter (brown, filter (square, find (animal))), playing with, with_relation (filter (round, filter (white, find (cat))), looking at, find (mouse)))))
🟒 BART-L: lt (count (filter (white, find (animal))), count (with_relation (filter (brown, filter (square, find (animal))), playing with, with_relation (filter (round, filter (white, find (cat))), looking at, find (mouse)))))
🟒     T5: lt (count (filter (white, find (animal))), count (with_relation (filter (brown, filter (square, find (animal))), playing with, with_relation (filter (round, filter (white, find (cat))), looking at, find (mouse)))))
🟒   T5-L: lt (count (filter (white, find (animal))), count (with_relation (filter (brown, filter (square, find (animal))), playing with, with_relation (filter (round, filter (white, find (cat))), looking at, find (mouse)))))

Either none of dog are looking at animal that is chasing round round cat or there is triangle mouse that is playing with mouse that is chasing dog

      Gold: or (none (find (dog), with_relation (scene (), looking at, with_relation (find (animal), chasing, filter (round, filter (round, find (cat)))))), exists (with_relation (filter (triangle, find (mouse)), playing with, with_relation (find (mouse), chasing, find (dog)))))
🟒   BART: or (none (find (dog), with_relation (scene (), looking at, with_relation (find (animal), chasing, filter (round, filter (round, find (cat)))))), exists (with_relation (filter (triangle, find (mouse)), playing with, with_relation (find (mouse), chasing, find (dog)))))
🟒 BART-L: or (none (find (dog), with_relation (scene (), looking at, with_relation (find (animal), chasing, filter (round, filter (round, find (cat)))))), exists (with_relation (filter (triangle, find (mouse)), playing with, with_relation (find (mouse), chasing, find (dog)))))
🟒     T5: or (none (find (dog), with_relation (scene (), looking at, with_relation (find (animal), chasing, filter (round, filter (round, find (cat)))))), exists (with_relation (filter (triangle, find (mouse)), playing with, with_relation (find (mouse), chasing, find (dog)))))
πŸ”΄   T5-L: or (none (find (dog), with_relation (scene (), looking at, with_relation (find (animal), chasing, filter (round, filter (round, find (cat)))))), exists (with_relation (filter (triangle, find (mouse)), playing with, with_relation (find (mouse), chasing, find (dog))))

Either there is gray brown cat that is looking at dog or the color of animal is equal to the shape of triangle animal that is chasing animal

      Gold: or (exists (with_relation (filter (gray, filter (brown, find (cat))), looking at, find (dog))), eq (query_attr [color] (find (animal)), query_attr [shape] (with_relation (filter (triangle, find (animal)), chasing, find (animal)))))
🟒   BART: or (exists (with_relation (filter (gray, filter (brown, find (cat))), looking at, find (dog))), eq (query_attr [color] (find (animal)), query_attr [shape] (with_relation (filter (triangle, find (animal)), chasing, find (animal)))))
🟒 BART-L: or (exists (with_relation (filter (gray, filter (brown, find (cat))), looking at, find (dog))), eq (query_attr [color] (find (animal)), query_attr [shape] (with_relation (filter (triangle, find (animal)), chasing, find (animal)))))
🟒     T5: or (exists (with_relation (filter (gray, filter (brown, find (cat))), looking at, find (dog))), eq (query_attr [color] (find (animal)), query_attr [shape] (with_relation (filter (triangle, find (animal)), chasing, find (animal)))))
🟒   T5-L: or (exists (with_relation (filter (gray, filter (brown, find (cat))), looking at, find (dog))), eq (query_attr [color] (find (animal)), query_attr [shape] (with_relation (filter (triangle, find (animal)), chasing, find (animal)))))

Either there is cat that is chasing brown square animal that is chasing cat or all of mouse are chasing gray gray dog

      Gold: or (exists (with_relation (find (cat), chasing, with_relation (filter (brown, filter (square, find (animal))), chasing, find (cat)))), all (find (mouse), with_relation (scene (), chasing, filter (gray, filter (gray, find (dog))))))
πŸ”΄   BART: or (exists (with_relation (find (cat), chasing, with_relation (filter (brown, filter (square, find (animal))), chasing, find (cat)))), all (find (mouse), chasing, filter (gray, filter (gray, find (dog))))))
🟒 BART-L: or (exists (with_relation (find (cat), chasing, with_relation (filter (brown, filter (square, find (animal))), chasing, find (cat)))), all (find (mouse), with_relation (scene (), chasing, filter (gray, filter (gray, find (dog))))))
🟒     T5: or (exists (with_relation (find (cat), chasing, with_relation (filter (brown, filter (square, find (animal))), chasing, find (cat)))), all (find (mouse), with_relation (scene (), chasing, filter (gray, filter (gray, find (dog))))))
🟒   T5-L: or (exists (with_relation (find (cat), chasing, with_relation (filter (brown, filter (square, find (animal))), chasing, find (cat)))), all (find (mouse), with_relation (scene (), chasing, filter (gray, filter (gray, find (dog))))))

Both the number of triangle cat is greater than the number of white round animal and the shape of mouse is equal to the shape of mouse

      Gold: and (gt (count (filter (triangle, find (cat))), count (filter (white, filter (round, find (animal))))), eq (query_attr [shape] (find (mouse)), query_attr [shape] (find (mouse))))
🟒   BART: and (gt (count (filter (triangle, find (cat))), count (filter (white, filter (round, find (animal))))), eq (query_attr [shape] (find (mouse)), query_attr [shape] (find (mouse))))
🟒 BART-L: and (gt (count (filter (triangle, find (cat))), count (filter (white, filter (round, find (animal))))), eq (query_attr [shape] (find (mouse)), query_attr [shape] (find (mouse))))
🟒     T5: and (gt (count (filter (triangle, find (cat))), count (filter (white, filter (round, find (animal))))), eq (query_attr [shape] (find (mouse)), query_attr [shape] (find (mouse))))
🟒   T5-L: and (gt (count (filter (triangle, find (cat))), count (filter (white, filter (round, find (animal))))), eq (query_attr [shape] (find (mouse)), query_attr [shape] (find (mouse))))

The shape of animal is equal to the color of cat that is looking at brown dog

      Gold: eq (query_attr [shape] (find (animal)), query_attr [color] (with_relation (find (cat), looking at, filter (brown, find (dog)))))
🟒   BART: eq (query_attr [shape] (find (animal)), query_attr [color] (with_relation (find (cat), looking at, filter (brown, find (dog)))))
🟒 BART-L: eq (query_attr [shape] (find (animal)), query_attr [color] (with_relation (find (cat), looking at, filter (brown, find (dog)))))
🟒     T5: eq (query_attr [shape] (find (animal)), query_attr [color] (with_relation (find (cat), looking at, filter (brown, find (dog)))))
🟒   T5-L: eq (query_attr [shape] (find (animal)), query_attr [color] (with_relation (find (cat), looking at, filter (brown, find (dog)))))

Either the color of dog is equal to round or none of square dog that is looking at square cat are looking at dog that is playing with dog

      Gold: or (eq (query_attr [color] (find (dog)), round), none (with_relation (filter (square, find (dog)), looking at, filter (square, find (cat))), with_relation (scene (), looking at, with_relation (find (dog), playing with, find (dog)))))
πŸ”΄   BART: or (eq (query_attr [color] (find (dog)), round), none (with_relation (filter (square, find (dog)), looking at, filter (square, find (cat))), with_relation (scene (), looking at, with_relation (find (dog), playing with, find (dog))))
🟒 BART-L: or (eq (query_attr [color] (find (dog)), round), none (with_relation (filter (square, find (dog)), looking at, filter (square, find (cat))), with_relation (scene (), looking at, with_relation (find (dog), playing with, find (dog)))))
🟒     T5: or (eq (query_attr [color] (find (dog)), round), none (with_relation (filter (square, find (dog)), looking at, filter (square, find (cat))), with_relation (scene (), looking at, with_relation (find (dog), playing with, find (dog)))))
πŸ”΄   T5-L: or (eq (query_attr [color] (find (dog)), round), none (with_relation (filter (square, find (dog)), looking at, filter (square, find (cat))), with_relation (scene (), looking at, with_relation (find (dog), playing with, find (dog))))

Some of round square cat that is looking at mouse are white

      Gold: some (with_relation (filter (round, filter (square, find (cat))), looking at, find (mouse)), filter (white, scene ()))
πŸ”΄   BART: some (with_relation (filter (round, filter (square, find (cat))), looking at, find (mouse)), white)
πŸ”΄ BART-L: some (with_relation (filter (round, filter (square, find (cat))), looking at, find (mouse)), white)
πŸ”΄     T5: some (with_relation (filter (round, filter (square, find (cat))), looking at, find (mouse))), white, white)
πŸ”΄   T5-L: some (with_relation (filter (round, filter (square, find (cat))), looking at, find (mouse))), white)

Both there is gray brown cat that is looking at triangle round cat that is looking at gray white mouse and the number of dog that is looking at animal is equal to 2

      Gold: and (exists (with_relation (filter (gray, filter (brown, find (cat))), looking at, with_relation (filter (triangle, filter (round, find (cat))), looking at, filter (gray, filter (white, find (mouse)))))), eq (count (with_relation (find (dog), looking at, find (animal))), 2))
🟒   BART: and (exists (with_relation (filter (gray, filter (brown, find (cat))), looking at, with_relation (filter (triangle, filter (round, find (cat))), looking at, filter (gray, filter (white, find (mouse)))))), eq (count (with_relation (find (dog), looking at, find (animal))), 2))
🟒 BART-L: and (exists (with_relation (filter (gray, filter (brown, find (cat))), looking at, with_relation (filter (triangle, filter (round, find (cat))), looking at, filter (gray, filter (white, find (mouse)))))), eq (count (with_relation (find (dog), looking at, find (animal))), 2))
πŸ”΄     T5: and (exists (with_relation (filter (gray, filter (brown, find (cat))), looking at, with_relation (filter (triangle, filter (round, find (cat))), looking at, filter (gray, filter (white, find (mouse)))))), eq (count (with_relation (find (dog), looking at, find (animal))))))
πŸ”΄   T5-L: and (exists (with_relation (filter (gray, filter (brown, find (cat))), looking at, with_relation (filter (triangle, filter (round, find (cat))), looking at, filter (gray, filter (white, find (mouse)))))), eq (count (with_relation (find (dog), looking at, find (animal))), find (cat))))))))))))))))))

Both there is mouse and the color of round mouse that is playing with triangle round mouse is equal to the shape of round cat that is chasing round brown animal

      Gold: and (exists (find (mouse)), eq (query_attr [color] (with_relation (filter (round, find (mouse)), playing with, filter (triangle, filter (round, find (mouse))))), query_attr [shape] (with_relation (filter (round, find (cat)), chasing, filter (round, filter (brown, find (animal)))))))
πŸ”΄   BART: and (exists (find (mouse)), eq (query_attr [color] (with_relation (filter (round, find (mouse)), playing with, filter (triangle, filter (round, find (mouse))))), query_attr [shape] (with_relation (filter (round, find (cat)), chasing, filter (round, filter (brown, find (animal)))))
πŸ”΄ BART-L: and (exists (find (mouse)), eq (query_attr [color] (with_relation (filter (round, find (mouse)), playing with, filter (triangle, filter (round, find (mouse))))), query_attr [shape] (with_relation (filter (round, find (cat)), chasing, filter (round, filter (brown, find (animal))))))
🟒     T5: and (exists (find (mouse)), eq (query_attr [color] (with_relation (filter (round, find (mouse)), playing with, filter (triangle, filter (round, find (mouse))))), query_attr [shape] (with_relation (filter (round, find (cat)), chasing, filter (round, filter (brown, find (animal)))))))
πŸ”΄   T5-L: and (exists (find (mouse)), eq (query_attr [color] (with_relation (filter (round, find (mouse)), playing with, filter (triangle, filter (round, find (mouse))))), query_attr [shape] (with_relation (filter (round, find (cat)), chasing, filter (round, find (mouse)))))))

Either the number of square mouse that is chasing white brown animal is less than 4 or there is dog

      Gold: or (lt (count (with_relation (filter (square, find (mouse)), chasing, filter (white, filter (brown, find (animal))))), 4), exists (find (dog)))
🟒   BART: or (lt (count (with_relation (filter (square, find (mouse)), chasing, filter (white, filter (brown, find (animal))))), 4), exists (find (dog)))
🟒 BART-L: or (lt (count (with_relation (filter (square, find (mouse)), chasing, filter (white, filter (brown, find (animal))))), 4), exists (find (dog)))
🟒     T5: or (lt (count (with_relation (filter (square, find (mouse)), chasing, filter (white, filter (brown, find (animal))))), 4), exists (find (dog)))
🟒   T5-L: or (lt (count (with_relation (filter (square, find (mouse)), chasing, filter (white, filter (brown, find (animal))))), 4), exists (find (dog)))

Both none of mouse that is chasing animal are looking at brown brown mouse that is playing with cat and there is animal that is looking at triangle white dog that is chasing animal

      Gold: and (none (with_relation (find (mouse), chasing, find (animal)), with_relation (scene (), looking at, with_relation (filter (brown, filter (brown, find (mouse))), playing with, find (cat)))), exists (with_relation (find (animal), looking at, with_relation (filter (triangle, filter (white, find (dog))), chasing, find (animal)))))
πŸ”΄   BART: and (none (with_relation (find (mouse), chasing, find (animal)), with_relation (filter (brown, filter (brown, find (mouse))), playing with, find (cat)))), exists (with_relation (find (animal), looking at, with_relation (filter (triangle, filter (white, find (dog)), chasing, find (animal)))))
🟒 BART-L: and (none (with_relation (find (mouse), chasing, find (animal)), with_relation (scene (), looking at, with_relation (filter (brown, filter (brown, find (mouse))), playing with, find (cat)))), exists (with_relation (find (animal), looking at, with_relation (filter (triangle, filter (white, find (dog))), chasing, find (animal)))))
πŸ”΄     T5: and (none (with_relation (find (mouse), chasing, find (animal)), with_relation (scene (), looking at, with_relation (filter (brown, filter (brown, find (mouse))), playing with, find (cat)))), exists (with_relation (find (animal), looking at, with_relation (filter (triangle, filter (white, find (dog)))))
πŸ”΄   T5-L: and (none (with_relation (find (mouse), chasing, find (animal)), with_relation (scene (), looking at, with_relation (filter (brown, filter (brown, find (mouse))), playing with, find (cat)))), exists (with_relation (find (animal), looking at, with_relation (filter (triangle

There is white dog that is playing with mouse that is looking at dog

      Gold: exists (with_relation (filter (white, find (dog)), playing with, with_relation (find (mouse), looking at, find (dog))))
🟒   BART: exists (with_relation (filter (white, find (dog)), playing with, with_relation (find (mouse), looking at, find (dog))))
🟒 BART-L: exists (with_relation (filter (white, find (dog)), playing with, with_relation (find (mouse), looking at, find (dog))))
🟒     T5: exists (with_relation (filter (white, find (dog)), playing with, with_relation (find (mouse), looking at, find (dog))))
🟒   T5-L: exists (with_relation (filter (white, find (dog)), playing with, with_relation (find (mouse), looking at, find (dog))))

Either none of square black animal that is chasing gray gray mouse are looking at dog that is playing with square mouse or the number of round dog is less than 3

      Gold: or (none (with_relation (filter (square, filter (black, find (animal))), chasing, filter (gray, filter (gray, find (mouse)))), with_relation (scene (), looking at, with_relation (find (dog), playing with, filter (square, find (mouse))))), lt (count (filter (round, find (dog))), 3))
🟒   BART: or (none (with_relation (filter (square, filter (black, find (animal))), chasing, filter (gray, filter (gray, find (mouse)))), with_relation (scene (), looking at, with_relation (find (dog), playing with, filter (square, find (mouse))))), lt (count (filter (round, find (dog))), 3))
🟒 BART-L: or (none (with_relation (filter (square, filter (black, find (animal))), chasing, filter (gray, filter (gray, find (mouse)))), with_relation (scene (), looking at, with_relation (find (dog), playing with, filter (square, find (mouse))))), lt (count (filter (round, find (dog))), 3))
πŸ”΄     T5: or (none (with_relation (filter (square, filter (black, find (animal))), chasing, filter (gray, filter (gray, find (mouse)))), with_relation (scene (), looking at, with_relation (find (dog), playing with, filter (square, find (mouse))))), 3)
πŸ”΄   T5-L: or (none (with_relation (filter (square, filter (black, find (animal))), chasing, with_relation (filter (gray, filter (gray, find (mouse)))), with_relation (scene (), looking at, with_relation (find (dog), playing with, filter (square, find (mouse))))))

Some of brown white dog are black

      Gold: some (filter (brown, filter (white, find (dog))), filter (black, scene ()))
πŸ”΄   BART: some (filter (brown, filter (white, find (dog))), black)
πŸ”΄ BART-L: some (filter (brown, filter (white, find (dog))), black)
πŸ”΄     T5: some (filter (brown, filter (white, find (dog))), black)
πŸ”΄   T5-L: some (filter (brown, filter (white, find (dog)))), black)

Either the number of square cat is equal to the number of black square mouse that is looking at cat that is chasing gray triangle animal or the number of white mouse that is looking at dog is greater than 2

      Gold: or (eq (count (filter (square, find (cat))), count (with_relation (filter (black, filter (square, find (mouse))), looking at, with_relation (find (cat), chasing, filter (gray, filter (triangle, find (animal))))))), gt (count (with_relation (filter (white, find (mouse)), looking at, find (dog))), 2))
πŸ”΄   BART: or (eq (count (filter (square, find (cat))), count (with_relation (filter (black, filter (square, find (mouse))), looking at, with_relation (find (cat), chasing, filter (gray, filter (triangle, find (animal)))))), gt (count (with_relation (filter (white, find (mouse)), looking at, find (dog))), 2))
πŸ”΄ BART-L: or (eq (count (filter (square, find (cat))), count (with_relation (filter (black, filter (square, find (mouse))), looking at, with_relation (find (cat), chasing, filter (gray, filter (triangle, find (animal)))))), gt (count (with_relation (filter (white, find (mouse)), looking at, find (dog)))), 2))
πŸ”΄     T5: or (eq (count (filter (square, find (cat))), count (with_relation (filter (black, filter (square, find (mouse))), looking at, with_relation (find (cat), chasing, filter (gray, filter (triangle, find (animal))))))), 2)
πŸ”΄   T5-L: or (eq (count (filter (square, find (cat))), count (with_relation (filter (black, filter (square, find (mouse))), looking at, with_relation (find (cat), chasing, filter (gray, filter (triangle, find (animal))))))), gt (count (with_relation (filter (find (mouse))), find (cat))))))))))))))))))))))

All of dog are square

      Gold: all (find (dog), filter (square, scene ()))
πŸ”΄   BART: all (find (dog)), square)
πŸ”΄ BART-L: all (find (dog), with_relation (scene (), square)
πŸ”΄     T5: all (find (dog), square)
πŸ”΄   T5-L: all (find (dog), square)

Either there is black animal or the number of animal that is playing with animal that is chasing cat is less than the number of mouse

      Gold: or (exists (filter (black, find (animal))), lt (count (with_relation (find (animal), playing with, with_relation (find (animal), chasing, find (cat)))), count (find (mouse))))
🟒   BART: or (exists (filter (black, find (animal))), lt (count (with_relation (find (animal), playing with, with_relation (find (animal), chasing, find (cat)))), count (find (mouse))))
🟒 BART-L: or (exists (filter (black, find (animal))), lt (count (with_relation (find (animal), playing with, with_relation (find (animal), chasing, find (cat)))), count (find (mouse))))
🟒     T5: or (exists (filter (black, find (animal))), lt (count (with_relation (find (animal), playing with, with_relation (find (animal), chasing, find (cat)))), count (find (mouse))))
πŸ”΄   T5-L: or (exists (black, find (animal))), lt (count (with_relation (find (animal), playing with, with_relation (find (animal), chasing, find (cat)))), count (find (mouse))))

The number of black gray dog that is playing with cat that is playing with black gray mouse is equal to the number of mouse

      Gold: eq (count (with_relation (filter (black, filter (gray, find (dog))), playing with, with_relation (find (cat), playing with, filter (black, filter (gray, find (mouse)))))), count (find (mouse)))
πŸ”΄   BART: eq (count (with_relation (filter (black, filter (gray, find (dog))), playing with, with_relation (find (cat), playing with, filter (black, filter (gray, find (mouse)))))), count (find (mouse))))
🟒 BART-L: eq (count (with_relation (filter (black, filter (gray, find (dog))), playing with, with_relation (find (cat), playing with, filter (black, filter (gray, find (mouse)))))), count (find (mouse)))
πŸ”΄     T5: eq (count (with_relation (filter (black, filter (gray, find (dog))), playing with, with_relation (find (cat), playing with, filter (black, filter (gray, find (mouse)))))), count (find (mouse))))
🟒   T5-L: eq (count (with_relation (filter (black, filter (gray, find (dog))), playing with, with_relation (find (cat), playing with, filter (black, filter (gray, find (mouse)))))), count (find (mouse)))

Both there is dog and some of dog that is chasing brown dog that is chasing mouse are black

      Gold: and (exists (find (dog)), some (with_relation (find (dog), chasing, with_relation (filter (brown, find (dog)), chasing, find (mouse))), filter (black, scene ())))
πŸ”΄   BART: and (exists (find (dog)), some (with_relation (find (dog), chasing, with_relation (filter (brown, find (dog)), chasing, find (mouse)))), black)
πŸ”΄ BART-L: and (exists (find (dog)), some (with_relation (find (dog), chasing, with_relation (filter (brown, find (dog)), chasing, find (mouse)))), black)
πŸ”΄     T5: and (exists (find (dog)), some (with_relation (find (dog), chasing, with_relation (filter (brown, find (dog)), chasing, find (mouse)))), black)
πŸ”΄   T5-L: and (exists (find (dog)), some (with_relation (find (dog), chasing, with_relation (filter (brown, find (dog)), chasing, find (mouse)))), black))

Most of black gray animal are looking at black triangle dog that is looking at black mouse

      Gold: most (filter (black, filter (gray, find (animal))), with_relation (scene (), looking at, with_relation (filter (black, filter (triangle, find (dog))), looking at, filter (black, find (mouse)))))
πŸ”΄   BART: most (filter (black, filter (gray, find (animal))), with_relation (filter (black, filter (triangle, find (dog))), looking at, filter (black, find (mouse)))))
🟒 BART-L: most (filter (black, filter (gray, find (animal))), with_relation (scene (), looking at, with_relation (filter (black, filter (triangle, find (dog))), looking at, filter (black, find (mouse)))))
🟒     T5: most (filter (black, filter (gray, find (animal))), with_relation (scene (), looking at, with_relation (filter (black, filter (triangle, find (dog))), looking at, filter (black, find (mouse)))))
πŸ”΄   T5-L: most (black, filter (gray, find (animal))), with_relation (scene (), looking at, with_relation (filter (black, filter (triangle, find (dog))), looking at, filter (black, find (mouse)))))