Charlie is big. Charlie is furry. Charlie is green. Charlie is red. Charlie is round. Charlie is young. Erin is big. Erin is blue. Erin is furry. Erin is green. Erin is red. Erin is round. Erin is young. Gary is blue. Gary is furry. All red, blue things are big. If something is young and big then it is furry. If something is big and green then it is furry. If Gary is red and Gary is big then Gary is round. Furry things are red. All green things are big.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is young.
("Erin" "is" "young" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is furry.
("Gary" "is" "furry" "+")
All red, blue things are big.
((("something" "is" "red" "+") ("something" "is" "blue" "+")) -> ("something" "is" "big" "+"))
If something is young and big then it is furry.
((("something" "is" "young" "+") ("something" "is" "big" "+")) -> ("something" "is" "furry" "+"))
If something is big and green then it is furry.
((("something" "is" "big" "+") ("something" "is" "green" "+")) -> ("something" "is" "furry" "+"))
If Gary is red and Gary is big then Gary is round.
((("Gary" "is" "red" "+") ("Gary" "is" "big" "+")) -> ("Gary" "is" "round" "+"))
Furry things are red.
((("something" "is" "furry" "+")) -> ("something" "is" "red" "+"))
All green things are big.
((("something" "is" "green" "+")) -> ("something" "is" "big" "+"))
Erin is green.
True
1
proof
[(triple10)]
("Erin" "is" "green" "+")
triple10
Erin is not big.
False
1
inv-proof
[(triple7 OR ((triple10) -> rule6) OR ((triple11 triple8) -> rule1) OR ((((triple9) -> rule5) triple8) -> rule1))]
("Erin" "is" "big" "-")
triple7
((triple10) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((triple11 triple8) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((((triple9) -> (rule5 % int2)) triple8) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Charlie is not blue.
Unknown
inv-random
[@0: Charlie is blue.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "blue" "-")
Gary is green.
Unknown
random
[@0: Gary is green.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "green" "+")
@0: Charlie is big.[(triple1 OR ((triple3) -> rule6))] Charlie is furry.[(triple2 OR ((triple1 triple3) -> rule3) OR ((triple6 triple1) -> rule2) OR ((triple6 ((triple3) -> rule6)) -> rule2) OR ((((triple3) -> rule6) triple3) -> rule3))] Charlie is green.[(triple3)] Charlie is red.[(triple4 OR ((triple2) -> rule5) OR ((((triple1 triple3) -> rule3)) -> rule5) OR ((((triple6 triple1) -> rule2)) -> rule5) OR ((((triple6 ((triple3) -> rule6)) -> rule2)) -> rule5) OR ((((((triple3) -> rule6) triple3) -> rule3)) -> rule5))] Charlie is round.[(triple5)] Charlie is young.[(triple6)] Erin is big.[(triple7 OR ((triple10) -> rule6) OR ((triple11 triple8) -> rule1) OR ((((triple9) -> rule5) triple8) -> rule1))] Erin is blue.[(triple8)] Erin is furry.[(triple9 OR ((triple13 triple7) -> rule2) OR ((triple7 triple10) -> rule3) OR ((triple13 ((triple10) -> rule6)) -> rule2) OR ((triple13 ((triple11 triple8) -> rule1)) -> rule2) OR ((((triple10) -> rule6) triple10) -> rule3) OR ((((triple11 triple8) -> rule1) triple10) -> rule3))] Erin is green.[(triple10)] Erin is red.[(triple11 OR ((triple9) -> rule5) OR ((((triple13 triple7) -> rule2)) -> rule5) OR ((((triple7 triple10) -> rule3)) -> rule5) OR ((((triple13 ((triple10) -> rule6)) -> rule2)) -> rule5) OR ((((((triple10) -> rule6) triple10) -> rule3)) -> rule5))] Erin is round.[(triple12)] Erin is young.[(triple13)] Gary is blue.[(triple14)] Gary is furry.[(triple15)] @1: Gary is red.[(((triple15) -> rule5))] @2: Gary is big.[(((((triple15) -> rule5) triple14) -> rule1))] @3: Gary is round.[(((((triple15) -> rule5) ((((triple15) -> rule5) triple14) -> rule1)) -> rule4))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
((triple3) -> (rule6 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple2
((triple1 triple3) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple6 triple1) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple6 ((triple3) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((triple3) -> (rule6 % int2)) triple3) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
triple3
Charlie is red.
("Charlie" "is" "red" "+")
triple4
((triple2) -> (rule5 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((((triple1 triple3) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((((triple6 triple1) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((((triple6 ((triple3) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
((((((triple3) -> (rule6 % int3)) triple3) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
triple5
Charlie is young.
("Charlie" "is" "young" "+")
triple6
Erin is big.
("Erin" "is" "big" "+")
triple7
((triple10) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((triple11 triple8) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((((triple9) -> (rule5 % int2)) triple8) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
triple8
Erin is furry.
("Erin" "is" "furry" "+")
triple9
((triple13 triple7) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((triple7 triple10) -> (rule3 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((triple13 ((triple10) -> (rule6 % int2))) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
((triple13 ((triple11 triple8) -> (rule1 % int2))) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
((((triple10) -> (rule6 % int2)) triple10) -> (rule3 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
((((triple11 triple8) -> (rule1 % int2)) triple10) -> (rule3 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
triple10
Erin is red.
("Erin" "is" "red" "+")
triple11
((triple9) -> (rule5 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((((triple13 triple7) -> (rule2 % int2))) -> (rule5 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
((((triple7 triple10) -> (rule3 % int2))) -> (rule5 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
((((triple13 ((triple10) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
((((((triple10) -> (rule6 % int3)) triple10) -> (rule3 % int2))) -> (rule5 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
triple12
Erin is young.
("Erin" "is" "young" "+")
triple13
Gary is blue.
("Gary" "is" "blue" "+")
triple14
Gary is furry.
("Gary" "is" "furry" "+")
triple15
Gary is red.
("Gary" "is" "red" "+")
((triple15) -> (rule5 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
((((triple15) -> (rule5 % int2)) triple14) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
((((triple15) -> (rule5 % int3)) ((((triple15) -> (rule5 % int3)) triple14) -> (rule1 % int2))) -> (rule4 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3