Charlie is big. Charlie is blue. Dave is big. Dave is blue. Dave is green. Dave is quiet. Dave is smart. Dave is white. Gary is big. Gary is green. Gary is smart. Gary is young. Blue, white things are young. If something is big and blue then it is smart. If something is white and young then it is green. If something is smart and big then it is white. If Gary is quiet then Gary is young. If Charlie is smart then Charlie is white.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Dave is white.
("Dave" "is" "white" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Gary is young.
("Gary" "is" "young" "+")
Blue, white things are young.
((("something" "is" "blue" "+") ("something" "is" "white" "+")) -> ("something" "is" "young" "+"))
If something is big and blue then it is smart.
((("something" "is" "big" "+") ("something" "is" "blue" "+")) -> ("something" "is" "smart" "+"))
If something is white and young then it is green.
((("something" "is" "white" "+") ("something" "is" "young" "+")) -> ("something" "is" "green" "+"))
If something is smart and big then it is white.
((("something" "is" "smart" "+") ("something" "is" "big" "+")) -> ("something" "is" "white" "+"))
If Gary is quiet then Gary is young.
((("Gary" "is" "quiet" "+")) -> ("Gary" "is" "young" "+"))
If Charlie is smart then Charlie is white.
((("Charlie" "is" "smart" "+")) -> ("Charlie" "is" "white" "+"))
Dave is smart.
True
1
proof
[(triple7 OR ((triple3 triple4) -> rule2))]
("Dave" "is" "smart" "+")
triple7
((triple3 triple4) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is not green.
False
1
inv-proof
[(triple5 OR ((triple8 ((triple4 triple8) -> rule1)) -> rule3) OR ((((triple7 triple3) -> rule4) ((triple4 triple8) -> rule1)) -> rule3) OR ((triple8 ((triple4 ((triple7 triple3) -> rule4)) -> rule1)) -> rule3) OR ((((triple7 triple3) -> rule4) ((triple4 ((triple7 triple3) -> rule4)) -> rule1)) -> rule3) OR ((((((triple3 triple4) -> rule2) triple3) -> rule4) ((triple4 triple8) -> rule1)) -> rule3) OR ((((((triple3 triple4) -> rule2) triple3) -> rule4) ((triple4 ((triple7 triple3) -> rule4)) -> rule1)) -> rule3) OR ((triple8 ((triple4 ((((triple3 triple4) -> rule2) triple3) -> rule4)) -> rule1)) -> rule3) OR ((((triple7 triple3) -> rule4) ((triple4 ((((triple3 triple4) -> rule2) triple3) -> rule4)) -> rule1)) -> rule3) OR ((((((triple3 triple4) -> rule2) triple3) -> rule4) ((triple4 ((((triple3 triple4) -> rule2) triple3) -> rule4)) -> rule1)) -> rule3))]
("Dave" "is" "green" "-")
triple5
((triple8 ((triple4 triple8) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((triple7 triple3) -> (rule4 % int3)) ((triple4 triple8) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
((triple8 ((triple4 ((triple7 triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
((((triple7 triple3) -> (rule4 % int3)) ((triple4 ((triple7 triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
((((((triple3 triple4) -> (rule2 % int4)) triple3) -> (rule4 % int3)) ((triple4 triple8) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
((((((triple3 triple4) -> (rule2 % int4)) triple3) -> (rule4 % int3)) ((triple4 ((triple7 triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
((triple8 ((triple4 ((((triple3 triple4) -> (rule2 % int4)) triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
((((triple7 triple3) -> (rule4 % int4)) ((triple4 ((((triple3 triple4) -> (rule2 % int3)) triple3) -> (rule4 % int4))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
int4
((((((triple3 triple4) -> (rule2 % int4)) triple3) -> (rule4 % int3)) ((triple4 ((((triple3 triple4) -> (rule2 % int4)) triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Gary is white.
True
3
proof
[(((triple11 triple9) -> rule4))]
("Gary" "is" "white" "+")
((triple11 triple9) -> (rule4 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Charlie is not smart.
False
3
inv-proof
[(((triple1 triple2) -> rule2))]
("Charlie" "is" "smart" "-")
((triple1 triple2) -> (rule2 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is white.
True
4
proof
[(((((triple1 triple2) -> rule2)) -> rule6) OR ((((triple1 triple2) -> rule2) triple1) -> rule4))]
("Charlie" "is" "white" "+")
((((triple1 triple2) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
((((triple1 triple2) -> (rule2 % int2)) triple1) -> (rule4 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is not white.
False
4
inv-proof
[(((((triple1 triple2) -> rule2)) -> rule6) OR ((((triple1 triple2) -> rule2) triple1) -> rule4))]
("Charlie" "is" "white" "-")
((((triple1 triple2) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
((((triple1 triple2) -> (rule2 % int2)) triple1) -> (rule4 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is young.
True
6
proof
[(((triple2 ((((triple1 triple2) -> rule2)) -> rule6)) -> rule1) OR ((triple2 ((((triple1 triple2) -> rule2) triple1) -> rule4)) -> rule1))]
("Charlie" "is" "young" "+")
((triple2 ((((triple1 triple2) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
((triple2 ((((triple1 triple2) -> (rule2 % int3)) triple1) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is not young.
False
6
inv-proof
[(((triple2 ((((triple1 triple2) -> rule2)) -> rule6)) -> rule1) OR ((triple2 ((((triple1 triple2) -> rule2) triple1) -> rule4)) -> rule1))]
("Charlie" "is" "young" "-")
((triple2 ((((triple1 triple2) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
((triple2 ((((triple1 triple2) -> (rule2 % int3)) triple1) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Gary is not quiet.
Unknown
inv-random
[@0: Gary is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "quiet" "-")
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)] Dave is big.[(triple3)] Dave is blue.[(triple4)] Dave is green.[(triple5 OR ((triple8 ((triple4 triple8) -> rule1)) -> rule3) OR ((((triple7 triple3) -> rule4) ((triple4 triple8) -> rule1)) -> rule3) OR ((triple8 ((triple4 ((triple7 triple3) -> rule4)) -> rule1)) -> rule3) OR ((((triple7 triple3) -> rule4) ((triple4 ((triple7 triple3) -> rule4)) -> rule1)) -> rule3) OR ((((((triple3 triple4) -> rule2) triple3) -> rule4) ((triple4 triple8) -> rule1)) -> rule3) OR ((((((triple3 triple4) -> rule2) triple3) -> rule4) ((triple4 ((triple7 triple3) -> rule4)) -> rule1)) -> rule3) OR ((triple8 ((triple4 ((((triple3 triple4) -> rule2) triple3) -> rule4)) -> rule1)) -> rule3) OR ((((triple7 triple3) -> rule4) ((triple4 ((((triple3 triple4) -> rule2) triple3) -> rule4)) -> rule1)) -> rule3) OR ((((((triple3 triple4) -> rule2) triple3) -> rule4) ((triple4 ((((triple3 triple4) -> rule2) triple3) -> rule4)) -> rule1)) -> rule3))] Dave is quiet.[(triple6)] Dave is smart.[(triple7 OR ((triple3 triple4) -> rule2))] Dave is white.[(triple8 OR ((triple7 triple3) -> rule4) OR ((((triple3 triple4) -> rule2) triple3) -> rule4))] Gary is big.[(triple9)] Gary is green.[(triple10 OR ((((triple11 triple9) -> rule4) triple12) -> rule3))] Gary is smart.[(triple11)] Gary is young.[(triple12)] @1: Charlie is smart.[(((triple1 triple2) -> rule2))] Dave is young.[(((triple4 triple8) -> rule1) OR ((triple4 ((triple7 triple3) -> rule4)) -> rule1) OR ((triple4 ((((triple3 triple4) -> rule2) triple3) -> rule4)) -> rule1))] Gary is white.[(((triple11 triple9) -> rule4))] @2: Charlie is white.[(((((triple1 triple2) -> rule2)) -> rule6) OR ((((triple1 triple2) -> rule2) triple1) -> rule4))] @3: Charlie is young.[(((triple2 ((((triple1 triple2) -> rule2)) -> rule6)) -> rule1) OR ((triple2 ((((triple1 triple2) -> rule2) triple1) -> rule4)) -> rule1))] @4: Charlie is green.[(((((((triple1 triple2) -> rule2)) -> rule6) ((triple2 ((((triple1 triple2) -> rule2)) -> rule6)) -> rule1)) -> rule3) OR ((((((triple1 triple2) -> rule2)) -> rule6) ((triple2 ((((triple1 triple2) -> rule2) triple1) -> rule4)) -> rule1)) -> rule3) OR ((((((triple1 triple2) -> rule2) triple1) -> rule4) ((triple2 ((((triple1 triple2) -> rule2)) -> rule6)) -> rule1)) -> rule3) OR ((((((triple1 triple2) -> rule2) triple1) -> rule4) ((triple2 ((((triple1 triple2) -> rule2) triple1) -> rule4)) -> rule1)) -> rule3))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
Dave is big.
("Dave" "is" "big" "+")
triple3
Dave is blue.
("Dave" "is" "blue" "+")
triple4
Dave is green.
("Dave" "is" "green" "+")
triple5
((triple8 ((triple4 triple8) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((triple7 triple3) -> (rule4 % int3)) ((triple4 triple8) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
((triple8 ((triple4 ((triple7 triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
((((triple7 triple3) -> (rule4 % int3)) ((triple4 ((triple7 triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
((((((triple3 triple4) -> (rule2 % int4)) triple3) -> (rule4 % int3)) ((triple4 triple8) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
((((((triple3 triple4) -> (rule2 % int4)) triple3) -> (rule4 % int3)) ((triple4 ((triple7 triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
((triple8 ((triple4 ((((triple3 triple4) -> (rule2 % int4)) triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
((((triple7 triple3) -> (rule4 % int4)) ((triple4 ((((triple3 triple4) -> (rule2 % int3)) triple3) -> (rule4 % int4))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
int4
((((((triple3 triple4) -> (rule2 % int4)) triple3) -> (rule4 % int3)) ((triple4 ((((triple3 triple4) -> (rule2 % int4)) triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Dave is quiet.
("Dave" "is" "quiet" "+")
triple6
Dave is smart.
("Dave" "is" "smart" "+")
triple7
((triple3 triple4) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
triple8
((triple7 triple3) -> (rule4 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
((((triple3 triple4) -> (rule2 % int2)) triple3) -> (rule4 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
triple9
Gary is green.
("Gary" "is" "green" "+")
triple10
((((triple11 triple9) -> (rule4 % int2)) triple12) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
triple11
Gary is young.
("Gary" "is" "young" "+")
triple12
Charlie is smart.
("Charlie" "is" "smart" "+")
((triple1 triple2) -> (rule2 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
((triple4 triple8) -> (rule1 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((triple4 ((triple7 triple3) -> (rule4 % int2))) -> (rule1 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
((triple4 ((((triple3 triple4) -> (rule2 % int3)) triple3) -> (rule4 % int2))) -> (rule1 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
((triple11 triple9) -> (rule4 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
((((triple1 triple2) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
((((triple1 triple2) -> (rule2 % int2)) triple1) -> (rule4 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
((triple2 ((((triple1 triple2) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
((triple2 ((((triple1 triple2) -> (rule2 % int3)) triple1) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
((((((triple1 triple2) -> (rule2 % int4))) -> (rule6 % int3)) ((triple2 ((((triple1 triple2) -> (rule2 % int4))) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is smart.
("Charlie" "is" "smart" "+")
int4
((((((triple1 triple2) -> (rule2 % int4))) -> (rule6 % int3)) ((triple2 ((((triple1 triple2) -> (rule2 % int4)) triple1) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is smart.
("Charlie" "is" "smart" "+")
int4
((((((triple1 triple2) -> (rule2 % int4)) triple1) -> (rule4 % int3)) ((triple2 ((((triple1 triple2) -> (rule2 % int4))) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is smart.
("Charlie" "is" "smart" "+")
int4
((((((triple1 triple2) -> (rule2 % int4)) triple1) -> (rule4 % int3)) ((triple2 ((((triple1 triple2) -> (rule2 % int4)) triple1) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is smart.
("Charlie" "is" "smart" "+")
int4