Charlie is big. Charlie is blue. Charlie is kind. Charlie is young. Erin is blue. Erin is green. Erin is kind. Erin is round. Erin is young. Gary is big. Gary is green. Gary is round. Green, young things are big. All big things are kind. If something is big then it is nice. Kind, nice things are blue. If Erin is big and Erin is green then Erin is round. All green, nice things are kind. Young things are kind. All young, round things are kind.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is young.
("Erin" "is" "young" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is round.
("Gary" "is" "round" "+")
Green, young things are big.
((("something" "is" "green" "+") ("something" "is" "young" "+")) -> ("something" "is" "big" "+"))
All big things are kind.
((("something" "is" "big" "+")) -> ("something" "is" "kind" "+"))
If something is big then it is nice.
((("something" "is" "big" "+")) -> ("something" "is" "nice" "+"))
Kind, nice things are blue.
((("something" "is" "kind" "+") ("something" "is" "nice" "+")) -> ("something" "is" "blue" "+"))
If Erin is big and Erin is green then Erin is round.
((("Erin" "is" "big" "+") ("Erin" "is" "green" "+")) -> ("Erin" "is" "round" "+"))
All green, nice things are kind.
((("something" "is" "green" "+") ("something" "is" "nice" "+")) -> ("something" "is" "kind" "+"))
Young things are kind.
((("something" "is" "young" "+")) -> ("something" "is" "kind" "+"))
All young, round things are kind.
((("something" "is" "young" "+") ("something" "is" "round" "+")) -> ("something" "is" "kind" "+"))
Gary is round.
True
1
proof
[(triple12)]
("Gary" "is" "round" "+")
triple12
Charlie is not blue.
False
1
inv-proof
[(triple2 OR ((triple3 ((triple1) -> rule3)) -> rule4) OR ((((triple1) -> rule2) ((triple1) -> rule3)) -> rule4) OR ((((triple4) -> rule7) ((triple1) -> rule3)) -> rule4))]
("Charlie" "is" "blue" "-")
triple2
((triple3 ((triple1) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((((triple1) -> (rule2 % int3)) ((triple1) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
((((triple4) -> (rule7 % int3)) ((triple1) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is nice.
True
2
proof
[(((triple1) -> rule3))]
("Charlie" "is" "nice" "+")
((triple1) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is not nice.
False
2
inv-proof
[(((triple1) -> rule3))]
("Charlie" "is" "nice" "-")
((triple1) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Erin is nice.
True
4
proof
[(((((triple6 triple9) -> rule1)) -> rule3))]
("Erin" "is" "nice" "+")
((((triple6 triple9) -> (rule1 % int2))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Gary is not blue.
False
5
inv-proof
[(((((triple10) -> rule2) ((triple10) -> rule3)) -> rule4) OR ((((triple11 ((triple10) -> rule3)) -> rule6) ((triple10) -> rule3)) -> rule4))]
("Gary" "is" "blue" "-")
((((triple10) -> (rule2 % int3)) ((triple10) -> (rule3 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
((((triple11 ((triple10) -> (rule3 % int3))) -> (rule6 % int2)) ((triple10) -> (rule3 % int3))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is not young.
Unknown
inv-random
[@0: Gary is young.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "young" "-")
Charlie is round.
Unknown
random
[@0: Charlie is round.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "round" "+")
@0: Charlie is big.[(triple1)] Charlie is blue.[(triple2 OR ((triple3 ((triple1) -> rule3)) -> rule4) OR ((((triple1) -> rule2) ((triple1) -> rule3)) -> rule4) OR ((((triple4) -> rule7) ((triple1) -> rule3)) -> rule4))] Charlie is kind.[(triple3 OR ((triple1) -> rule2) OR ((triple4) -> rule7))] Charlie is young.[(triple4)] Erin is blue.[(triple5 OR ((triple7 ((((triple6 triple9) -> rule1)) -> rule3)) -> rule4) OR ((((triple9) -> rule7) ((((triple6 triple9) -> rule1)) -> rule3)) -> rule4) OR ((((triple9 triple8) -> rule8) ((((triple6 triple9) -> rule1)) -> rule3)) -> rule4) OR ((((((triple6 triple9) -> rule1)) -> rule2) ((((triple6 triple9) -> rule1)) -> rule3)) -> rule4) OR ((((triple6 ((((triple6 triple9) -> rule1)) -> rule3)) -> rule6) ((((triple6 triple9) -> rule1)) -> rule3)) -> rule4) OR ((((triple9 ((((triple6 triple9) -> rule1) triple6) -> rule5)) -> rule8) ((((triple6 triple9) -> rule1)) -> rule3)) -> rule4))] Erin is green.[(triple6)] Erin is kind.[(triple7 OR ((triple9) -> rule7) OR ((triple9 triple8) -> rule8) OR ((((triple6 triple9) -> rule1)) -> rule2) OR ((triple6 ((((triple6 triple9) -> rule1)) -> rule3)) -> rule6) OR ((triple9 ((((triple6 triple9) -> rule1) triple6) -> rule5)) -> rule8))] Erin is round.[(triple8 OR ((((triple6 triple9) -> rule1) triple6) -> rule5))] Erin is young.[(triple9)] Gary is big.[(triple10)] Gary is green.[(triple11)] Gary is round.[(triple12)] @1: Charlie is nice.[(((triple1) -> rule3))] Erin is big.[(((triple6 triple9) -> rule1))] Gary is kind.[(((triple10) -> rule2) OR ((triple11 ((triple10) -> rule3)) -> rule6))] Gary is nice.[(((triple10) -> rule3))] @2: Erin is nice.[(((((triple6 triple9) -> rule1)) -> rule3))] Gary is blue.[(((((triple10) -> rule2) ((triple10) -> rule3)) -> rule4) OR ((((triple11 ((triple10) -> rule3)) -> rule6) ((triple10) -> rule3)) -> rule4))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
((triple3 ((triple1) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((((triple1) -> (rule2 % int3)) ((triple1) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
((((triple4) -> (rule7 % int3)) ((triple1) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
triple3
((triple1) -> (rule2 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((triple4) -> (rule7 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
triple4
Erin is blue.
("Erin" "is" "blue" "+")
triple5
((triple7 ((((triple6 triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
((((triple9) -> (rule7 % int4)) ((((triple6 triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
int4
((((triple9 triple8) -> (rule8 % int4)) ((((triple6 triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
int4
((((((triple6 triple9) -> (rule1 % int4))) -> (rule2 % int3)) ((((triple6 triple9) -> (rule1 % int4))) -> (rule3 % int2))) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
((((triple6 ((((triple6 triple9) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule6 % int2)) ((((triple6 triple9) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
((((triple9 ((((triple6 triple9) -> (rule1 % int5)) triple6) -> (rule5 % int4))) -> (rule8 % int3)) ((((triple6 triple9) -> (rule1 % int5))) -> (rule3 % int2))) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
Erin is big.
("Erin" "is" "big" "+")
int5
Erin is green.
("Erin" "is" "green" "+")
triple6
Erin is kind.
("Erin" "is" "kind" "+")
triple7
((triple9) -> (rule7 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((triple9 triple8) -> (rule8 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((((triple6 triple9) -> (rule1 % int2))) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
((triple6 ((((triple6 triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
((triple9 ((((triple6 triple9) -> (rule1 % int3)) triple6) -> (rule5 % int2))) -> (rule8 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
triple8
((((triple6 triple9) -> (rule1 % int2)) triple6) -> (rule5 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
triple9
Gary is big.
("Gary" "is" "big" "+")
triple10
Gary is green.
("Gary" "is" "green" "+")
triple11
Gary is round.
("Gary" "is" "round" "+")
triple12
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple1) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
((triple6 triple9) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
((triple10) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((triple11 ((triple10) -> (rule3 % int2))) -> (rule6 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
((triple10) -> (rule3 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
((((triple6 triple9) -> (rule1 % int2))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
((((triple10) -> (rule2 % int3)) ((triple10) -> (rule3 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
((((triple11 ((triple10) -> (rule3 % int3))) -> (rule6 % int2)) ((triple10) -> (rule3 % int3))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3