Charlie is big. Charlie is blue. Charlie is not furry. Charlie is young. Dave is blue. Dave is furry. Dave is not quiet. Dave is white. Gary is furry. Harry is nice. If Dave is white and Dave is big then Dave is young. All nice people are big. All white people are nice. Furry people are nice. If someone is young and not quiet then they are nice. Young, big people are white. If someone is blue then they are young. Quiet people are young. If someone is big then they are blue.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is not furry.
("Charlie" "is" "furry" "-")
Charlie is young.
("Charlie" "is" "young" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is not quiet.
("Dave" "is" "quiet" "-")
Dave is white.
("Dave" "is" "white" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Harry is nice.
("Harry" "is" "nice" "+")
If Dave is white and Dave is big then Dave is young.
((("Dave" "is" "white" "+") ("Dave" "is" "big" "+")) -> ("Dave" "is" "young" "+"))
All nice people are big.
((("someone" "is" "nice" "+")) -> ("someone" "is" "big" "+"))
All white people are nice.
((("someone" "is" "white" "+")) -> ("someone" "is" "nice" "+"))
Furry people are nice.
((("someone" "is" "furry" "+")) -> ("someone" "is" "nice" "+"))
If someone is young and not quiet then they are nice.
((("someone" "is" "young" "+") ("someone" "is" "quiet" "~")) -> ("someone" "is" "nice" "+"))
Young, big people are white.
((("someone" "is" "young" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "white" "+"))
If someone is blue then they are young.
((("someone" "is" "blue" "+")) -> ("someone" "is" "young" "+"))
Quiet people are young.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "young" "+"))
If someone is big then they are blue.
((("someone" "is" "big" "+")) -> ("someone" "is" "blue" "+"))
Dave is not quiet.
True
1
proof
[(triple7)]
("Dave" "is" "quiet" "-")
triple7
Dave is not furry.
False
1
inv-proof
[(triple6)]
("Dave" "is" "furry" "-")
triple6
Charlie is white.
True
3
proof
[(((triple4 triple1) -> rule6) OR ((((triple2) -> rule7) triple1) -> rule6) OR ((((((triple1) -> rule9)) -> rule7) triple1) -> rule6))]
("Charlie" "is" "white" "+")
((triple4 triple1) -> (rule6 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
((((triple2) -> (rule7 % int2)) triple1) -> (rule6 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((((triple1) -> (rule9 % int3))) -> (rule7 % int2)) triple1) -> (rule6 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Gary is not nice.
False
2
inv-proof
[(((triple9) -> rule4))]
("Gary" "is" "nice" "-")
((triple9) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Charlie is nice.
True
4
proof
[(((((triple4 triple1) -> rule6)) -> rule3) OR ((((((triple2) -> rule7) triple1) -> rule6)) -> rule3) OR ((((((((triple1) -> rule9)) -> rule7) triple1) -> rule6)) -> rule3))]
("Charlie" "is" "nice" "+")
((((triple4 triple1) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
((((((triple2) -> (rule7 % int3)) triple1) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
((((((((triple1) -> (rule9 % int4))) -> (rule7 % int3)) triple1) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Gary is not big.
False
3
inv-proof
[(((((triple9) -> rule4)) -> rule2))]
("Gary" "is" "big" "-")
((((triple9) -> (rule4 % int2))) -> (rule2 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is blue.
True
4
proof
[(((((((triple9) -> rule4)) -> rule2)) -> rule9))]
("Gary" "is" "blue" "+")
((((((triple9) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule9 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is not blue.
False
4
inv-proof
[(((((((triple9) -> rule4)) -> rule2)) -> rule9))]
("Gary" "is" "blue" "-")
((((((triple9) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule9 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Harry is white.
True
7
proof
[(((((((((triple10) -> rule2)) -> rule9)) -> rule7) ((triple10) -> rule2)) -> rule6))]
("Harry" "is" "white" "+")
((((((((triple10) -> (rule2 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) ((triple10) -> (rule2 % int4))) -> (rule6 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Harry is not white.
False
7
inv-proof
[(((((((((triple10) -> rule2)) -> rule9)) -> rule7) ((triple10) -> rule2)) -> rule6))]
("Harry" "is" "white" "-")
((((((((triple10) -> (rule2 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) ((triple10) -> (rule2 % int4))) -> (rule6 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Gary is white.
True
9
proof
[(((((((((((triple9) -> rule4)) -> rule2)) -> rule9)) -> rule7) ((((triple9) -> rule4)) -> rule2)) -> rule6))]
("Gary" "is" "white" "+")
((((((((((triple9) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) ((((triple9) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule6 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
Gary is nice.
("Gary" "is" "nice" "+")
int5
Gary is not white.
False
9
inv-proof
[(((((((((((triple9) -> rule4)) -> rule2)) -> rule9)) -> rule7) ((((triple9) -> rule4)) -> rule2)) -> rule6))]
("Gary" "is" "white" "-")
((((((((((triple9) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) ((((triple9) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule6 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
Gary is nice.
("Gary" "is" "nice" "+")
int5
Harry is not quiet.
Unknown
inv-random
[@0: Harry is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "quiet" "-")
Gary is quiet.
Unknown
random
[@0: Gary is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "quiet" "+")
Harry is not furry.
Unknown
inv-random
[@0: Harry is furry.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "furry" "-")
Charlie is quiet.
Unknown
random
[@0: Charlie is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "quiet" "+")
@0: Charlie is big.[(triple1)] Charlie is blue.[(triple2 OR ((triple1) -> rule9))] Charlie is not furry.[(triple3)] Charlie is young.[(triple4 OR ((triple2) -> rule7) OR ((((triple1) -> rule9)) -> rule7))] Dave is blue.[(triple5 OR ((((((triple6) -> rule4)) -> rule2)) -> rule9) OR ((((((triple8) -> rule3)) -> rule2)) -> rule9))] Dave is furry.[(triple6)] Dave is not quiet.[(triple7)] Dave is white.[(triple8 OR ((((triple5) -> rule7) ((((triple6) -> rule4)) -> rule2)) -> rule6) OR ((((triple5) -> rule7) ((((((triple5) -> rule7) triple7) -> rule5)) -> rule2)) -> rule6) OR ((((((((((triple6) -> rule4)) -> rule2)) -> rule9)) -> rule7) ((((triple6) -> rule4)) -> rule2)) -> rule6) OR ((((((((((triple6) -> rule4)) -> rule2)) -> rule9)) -> rule7) ((((((triple5) -> rule7) triple7) -> rule5)) -> rule2)) -> rule6))] Gary is furry.[(triple9)] Harry is nice.[(triple10)] @1: Charlie is white.[(((triple4 triple1) -> rule6) OR ((((triple2) -> rule7) triple1) -> rule6) OR ((((((triple1) -> rule9)) -> rule7) triple1) -> rule6))] Dave is nice.[(((triple6) -> rule4) OR ((triple8) -> rule3) OR ((((triple5) -> rule7) triple7) -> rule5))] Dave is young.[(((triple5) -> rule7) OR ((triple8 ((((triple6) -> rule4)) -> rule2)) -> rule1) OR ((triple8 ((((triple8) -> rule3)) -> rule2)) -> rule1) OR ((((((((triple6) -> rule4)) -> rule2)) -> rule9)) -> rule7) OR ((((((((triple8) -> rule3)) -> rule2)) -> rule9)) -> rule7))] Gary is nice.[(((triple9) -> rule4))] Harry is big.[(((triple10) -> rule2))] @2: Charlie is nice.[(((((triple4 triple1) -> rule6)) -> rule3) OR ((((((triple2) -> rule7) triple1) -> rule6)) -> rule3) OR ((((((((triple1) -> rule9)) -> rule7) triple1) -> rule6)) -> rule3))] Dave is big.[(((((triple6) -> rule4)) -> rule2) OR ((((triple8) -> rule3)) -> rule2) OR ((((((triple5) -> rule7) triple7) -> rule5)) -> rule2))] Gary is big.[(((((triple9) -> rule4)) -> rule2))] Harry is blue.[(((((triple10) -> rule2)) -> rule9))] @3: Gary is blue.[(((((((triple9) -> rule4)) -> rule2)) -> rule9))] Harry is young.[(((((((triple10) -> rule2)) -> rule9)) -> rule7))] @4: Gary is young.[(((((((((triple9) -> rule4)) -> rule2)) -> rule9)) -> rule7))] Harry is white.[(((((((((triple10) -> rule2)) -> rule9)) -> rule7) ((triple10) -> rule2)) -> rule6))] @5: Gary is white.[(((((((((((triple9) -> rule4)) -> rule2)) -> rule9)) -> rule7) ((((triple9) -> rule4)) -> rule2)) -> rule6))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
((triple1) -> (rule9 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is not furry.
("Charlie" "is" "furry" "-")
triple3
Charlie is young.
("Charlie" "is" "young" "+")
triple4
((triple2) -> (rule7 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((triple1) -> (rule9 % int2))) -> (rule7 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
triple5
((((((triple6) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule9 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
((((((triple8) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule9 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
triple6
Dave is not quiet.
("Dave" "is" "quiet" "-")
triple7
Dave is white.
("Dave" "is" "white" "+")
triple8
((((triple5) -> (rule7 % int4)) ((((triple6) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4
((((triple5) -> (rule7 % int4)) ((((((triple5) -> (rule7 % int4)) triple7) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4
((((((((((triple6) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) ((((triple6) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule6 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is big.
("Dave" "is" "big" "+")
int4
Dave is nice.
("Dave" "is" "nice" "+")
int5
((((((((((triple6) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) ((((((triple5) -> (rule7 % int2)) triple7) -> (rule5 % int5))) -> (rule2 % int4))) -> (rule6 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is big.
("Dave" "is" "big" "+")
int4
Dave is nice.
("Dave" "is" "nice" "+")
int5
Gary is furry.
("Gary" "is" "furry" "+")
triple9
Harry is nice.
("Harry" "is" "nice" "+")
triple10
Charlie is white.
("Charlie" "is" "white" "+")
((triple4 triple1) -> (rule6 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
((((triple2) -> (rule7 % int2)) triple1) -> (rule6 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((((triple1) -> (rule9 % int3))) -> (rule7 % int2)) triple1) -> (rule6 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
((triple6) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((triple8) -> (rule3 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((((triple5) -> (rule7 % int2)) triple7) -> (rule5 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
((triple5) -> (rule7 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((triple8 ((((triple6) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
((triple8 ((((triple8) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
((((((((triple6) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule9 % int2))) -> (rule7 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
int4
((((((((triple8) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule9 % int2))) -> (rule7 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
int4
Gary is nice.
("Gary" "is" "nice" "+")
((triple9) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
((triple10) -> (rule2 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
((((triple4 triple1) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
((((((triple2) -> (rule7 % int3)) triple1) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
((((((((triple1) -> (rule9 % int4))) -> (rule7 % int3)) triple1) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Dave is big.
("Dave" "is" "big" "+")
((((triple6) -> (rule4 % int2))) -> (rule2 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
((((triple8) -> (rule3 % int2))) -> (rule2 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
((((((triple5) -> (rule7 % int3)) triple7) -> (rule5 % int2))) -> (rule2 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
((((triple9) -> (rule4 % int2))) -> (rule2 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
((((triple10) -> (rule2 % int2))) -> (rule9 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
((((((triple9) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule9 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
((((((triple10) -> (rule2 % int3))) -> (rule9 % int2))) -> (rule7 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
((((((((triple9) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule9 % int2))) -> (rule7 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
int4
Harry is white.
("Harry" "is" "white" "+")
((((((((triple10) -> (rule2 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) ((triple10) -> (rule2 % int4))) -> (rule6 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Gary is white.
("Gary" "is" "white" "+")
((((((((((triple9) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) ((((triple9) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule6 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
Gary is nice.
("Gary" "is" "nice" "+")
int5