Bob is big. Bob is blue. Bob is cold. Bob is kind. Bob is quiet. Bob is red. Bob is rough. Dave is big. Dave is blue. Dave is cold. Dave is kind. Dave is quiet. Dave is red. Dave is rough. Gary is big. Gary is red. Cold people are blue. All cold, blue people are kind. All rough, kind people are blue. If someone is red then they are cold. If someone is red and quiet then they are cold. If Gary is kind then Gary is big.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is red.
("Gary" "is" "red" "+")
Cold people are blue.
((("someone" "is" "cold" "+")) -> ("someone" "is" "blue" "+"))
All cold, blue people are kind.
((("someone" "is" "cold" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
All rough, kind people are blue.
((("someone" "is" "rough" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "+"))
If someone is red then they are cold.
((("someone" "is" "red" "+")) -> ("someone" "is" "cold" "+"))
If someone is red and quiet then they are cold.
((("someone" "is" "red" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "cold" "+"))
If Gary is kind then Gary is big.
((("Gary" "is" "kind" "+")) -> ("Gary" "is" "big" "+"))
Bob is rough.
True
1
proof
[(triple7)]
("Bob" "is" "rough" "+")
triple7
Bob is not blue.
False
1
inv-proof
[(triple2 OR ((triple3) -> rule1) OR ((triple7 triple4) -> rule3) OR ((((triple6) -> rule4)) -> rule1) OR ((((triple6 triple5) -> rule5)) -> rule1))]
("Bob" "is" "blue" "-")
triple2
((triple3) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple7 triple4) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple6) -> (rule4 % int2))) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((((triple6 triple5) -> (rule5 % int2))) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Gary is cold.
True
2
proof
[(((triple16) -> rule4))]
("Gary" "is" "cold" "+")
((triple16) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is not cold.
False
2
inv-proof
[(((triple16) -> rule4))]
("Gary" "is" "cold" "-")
((triple16) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is blue.
True
3
proof
[(((((triple16) -> rule4)) -> rule1))]
("Gary" "is" "blue" "+")
((((triple16) -> (rule4 % int2))) -> (rule1 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is not blue.
False
3
inv-proof
[(((((triple16) -> rule4)) -> rule1))]
("Gary" "is" "blue" "-")
((((triple16) -> (rule4 % int2))) -> (rule1 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is kind.
True
6
proof
[(((((triple16) -> rule4) ((((triple16) -> rule4)) -> rule1)) -> rule2))]
("Gary" "is" "kind" "+")
((((triple16) -> (rule4 % int3)) ((((triple16) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is not kind.
False
6
inv-proof
[(((((triple16) -> rule4) ((((triple16) -> rule4)) -> rule1)) -> rule2))]
("Gary" "is" "kind" "-")
((((triple16) -> (rule4 % int3)) ((((triple16) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is not quiet.
Unknown
inv-random
[@0: Gary is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "quiet" "-")
Gary is rough.
Unknown
random
[@0: Gary is rough.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "rough" "+")
@0: Bob is big.[(triple1)] Bob is blue.[(triple2 OR ((triple3) -> rule1) OR ((triple7 triple4) -> rule3) OR ((((triple6) -> rule4)) -> rule1) OR ((((triple6 triple5) -> rule5)) -> rule1))] Bob is cold.[(triple3 OR ((triple6) -> rule4) OR ((triple6 triple5) -> rule5))] Bob is kind.[(triple4 OR ((triple3 triple2) -> rule2) OR ((triple3 ((triple3) -> rule1)) -> rule2) OR ((((triple6) -> rule4) triple2) -> rule2) OR ((((triple6 triple5) -> rule5) triple2) -> rule2) OR ((((triple6) -> rule4) ((triple3) -> rule1)) -> rule2) OR ((((triple6 triple5) -> rule5) ((triple3) -> rule1)) -> rule2) OR ((triple3 ((((triple6) -> rule4)) -> rule1)) -> rule2) OR ((triple3 ((((triple6 triple5) -> rule5)) -> rule1)) -> rule2) OR ((((triple6) -> rule4) ((((triple6) -> rule4)) -> rule1)) -> rule2) OR ((((triple6) -> rule4) ((((triple6 triple5) -> rule5)) -> rule1)) -> rule2) OR ((((triple6 triple5) -> rule5) ((((triple6) -> rule4)) -> rule1)) -> rule2) OR ((((triple6 triple5) -> rule5) ((((triple6 triple5) -> rule5)) -> rule1)) -> rule2))] Bob is quiet.[(triple5)] Bob is red.[(triple6)] Bob is rough.[(triple7)] Dave is big.[(triple8)] Dave is blue.[(triple9 OR ((triple10) -> rule1) OR ((triple14 triple11) -> rule3) OR ((((triple13) -> rule4)) -> rule1) OR ((((triple13 triple12) -> rule5)) -> rule1))] Dave is cold.[(triple10 OR ((triple13) -> rule4) OR ((triple13 triple12) -> rule5))] Dave is kind.[(triple11 OR ((triple10 triple9) -> rule2) OR ((triple10 ((triple10) -> rule1)) -> rule2) OR ((((triple13) -> rule4) triple9) -> rule2) OR ((((triple13 triple12) -> rule5) triple9) -> rule2) OR ((((triple13) -> rule4) ((triple10) -> rule1)) -> rule2) OR ((((triple13 triple12) -> rule5) ((triple10) -> rule1)) -> rule2) OR ((triple10 ((((triple13) -> rule4)) -> rule1)) -> rule2) OR ((triple10 ((((triple13 triple12) -> rule5)) -> rule1)) -> rule2) OR ((((triple13) -> rule4) ((((triple13) -> rule4)) -> rule1)) -> rule2) OR ((((triple13) -> rule4) ((((triple13 triple12) -> rule5)) -> rule1)) -> rule2) OR ((((triple13 triple12) -> rule5) ((((triple13) -> rule4)) -> rule1)) -> rule2) OR ((((triple13 triple12) -> rule5) ((((triple13 triple12) -> rule5)) -> rule1)) -> rule2))] Dave is quiet.[(triple12)] Dave is red.[(triple13)] Dave is rough.[(triple14)] Gary is big.[(triple15 OR ((((((triple16) -> rule4) ((((triple16) -> rule4)) -> rule1)) -> rule2)) -> rule6))] Gary is red.[(triple16)] @1: Gary is cold.[(((triple16) -> rule4))] @2: Gary is blue.[(((((triple16) -> rule4)) -> rule1))] @3: Gary is kind.[(((((triple16) -> rule4) ((((triple16) -> rule4)) -> rule1)) -> rule2))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
((triple3) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple7 triple4) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple6) -> (rule4 % int2))) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((((triple6 triple5) -> (rule5 % int2))) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
triple3
((triple6) -> (rule4 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((triple6 triple5) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
triple4
((triple3 triple2) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
((triple3 ((triple3) -> (rule1 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((triple6) -> (rule4 % int2)) triple2) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((((triple6 triple5) -> (rule5 % int2)) triple2) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((((triple6) -> (rule4 % int3)) ((triple3) -> (rule1 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
((((triple6 triple5) -> (rule5 % int3)) ((triple3) -> (rule1 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
((triple3 ((((triple6) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
((triple3 ((((triple6 triple5) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
((((triple6) -> (rule4 % int3)) ((((triple6) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
((((triple6) -> (rule4 % int3)) ((((triple6 triple5) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
((((triple6 triple5) -> (rule5 % int3)) ((((triple6) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
((((triple6 triple5) -> (rule5 % int3)) ((((triple6 triple5) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
triple5
Bob is red.
("Bob" "is" "red" "+")
triple6
Bob is rough.
("Bob" "is" "rough" "+")
triple7
Dave is big.
("Dave" "is" "big" "+")
triple8
Dave is blue.
("Dave" "is" "blue" "+")
triple9
((triple10) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((triple14 triple11) -> (rule3 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((((triple13) -> (rule4 % int2))) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
((((triple13 triple12) -> (rule5 % int2))) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
triple10
((triple13) -> (rule4 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((triple13 triple12) -> (rule5 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
triple11
((triple10 triple9) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((triple10 ((triple10) -> (rule1 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple13) -> (rule4 % int2)) triple9) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
((((triple13 triple12) -> (rule5 % int2)) triple9) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
((((triple13) -> (rule4 % int3)) ((triple10) -> (rule1 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
((((triple13 triple12) -> (rule5 % int3)) ((triple10) -> (rule1 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
((triple10 ((((triple13) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
((triple10 ((((triple13 triple12) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
((((triple13) -> (rule4 % int3)) ((((triple13) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
((((triple13) -> (rule4 % int3)) ((((triple13 triple12) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
((((triple13 triple12) -> (rule5 % int3)) ((((triple13) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
((((triple13 triple12) -> (rule5 % int3)) ((((triple13 triple12) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
triple12
Dave is red.
("Dave" "is" "red" "+")
triple13
Dave is rough.
("Dave" "is" "rough" "+")
triple14
Gary is big.
("Gary" "is" "big" "+")
triple15
((((((triple16) -> (rule4 % int4)) ((((triple16) -> (rule4 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
triple16
Gary is cold.
("Gary" "is" "cold" "+")
((triple16) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
((((triple16) -> (rule4 % int2))) -> (rule1 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
((((triple16) -> (rule4 % int3)) ((((triple16) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3