Bob is big. Bob is blue. Bob is cold. Bob is kind. Bob is rough. Bob is smart. Dave is blue. Dave is cold. Dave is kind. Dave is smart. Big, cold things are blue. If something is cold then it is kind. Furry, cold things are kind. Cold things are smart. If something is rough and blue then it is furry. If something is cold then it is kind. If Bob is cold then Bob is big. Blue, cold things are furry.
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 rough.
("Bob" "is" "rough" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Big, cold things are blue.
((("something" "is" "big" "+") ("something" "is" "cold" "+")) -> ("something" "is" "blue" "+"))
If something is cold then it is kind.
((("something" "is" "cold" "+")) -> ("something" "is" "kind" "+"))
Furry, cold things are kind.
((("something" "is" "furry" "+") ("something" "is" "cold" "+")) -> ("something" "is" "kind" "+"))
Cold things are smart.
((("something" "is" "cold" "+")) -> ("something" "is" "smart" "+"))
If something is rough and blue then it is furry.
((("something" "is" "rough" "+") ("something" "is" "blue" "+")) -> ("something" "is" "furry" "+"))
If something is cold then it is kind.
((("something" "is" "cold" "+")) -> ("something" "is" "kind" "+"))
If Bob is cold then Bob is big.
((("Bob" "is" "cold" "+")) -> ("Bob" "is" "big" "+"))
Blue, cold things are furry.
((("something" "is" "blue" "+") ("something" "is" "cold" "+")) -> ("something" "is" "furry" "+"))
Dave is cold.
True
1
proof
[(triple8)]
("Dave" "is" "cold" "+")
triple8
Dave is not kind.
False
1
inv-proof
[(triple9 OR ((triple8) -> rule2) OR ((triple8) -> rule6) OR ((((triple7 triple8) -> rule8) triple8) -> rule3))]
("Dave" "is" "kind" "-")
triple9
((triple8) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((triple8) -> (rule6 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((((triple7 triple8) -> (rule8 % int2)) triple8) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is not rough.
Unknown
inv-random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "-")
Dave is big.
Unknown
random
[@0: Dave is big.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "big" "+")
@0: Bob is big.[(triple1 OR ((triple3) -> rule7))] Bob is blue.[(triple2 OR ((triple1 triple3) -> rule1) OR ((((triple3) -> rule7) triple3) -> rule1))] Bob is cold.[(triple3)] Bob is kind.[(triple4 OR ((triple3) -> rule2) OR ((triple3) -> rule6) OR ((((triple2 triple3) -> rule8) triple3) -> rule3) OR ((((triple5 triple2) -> rule5) triple3) -> rule3) OR ((((triple5 ((triple1 triple3) -> rule1)) -> rule5) triple3) -> rule3) OR ((((((triple1 triple3) -> rule1) triple3) -> rule8) triple3) -> rule3) OR ((((triple5 ((((triple3) -> rule7) triple3) -> rule1)) -> rule5) triple3) -> rule3) OR ((((((((triple3) -> rule7) triple3) -> rule1) triple3) -> rule8) triple3) -> rule3))] Bob is rough.[(triple5)] Bob is smart.[(triple6 OR ((triple3) -> rule4))] Dave is blue.[(triple7)] Dave is cold.[(triple8)] Dave is kind.[(triple9 OR ((triple8) -> rule2) OR ((triple8) -> rule6) OR ((((triple7 triple8) -> rule8) triple8) -> rule3))] Dave is smart.[(triple10 OR ((triple8) -> rule4))] @1: Bob is furry.[(((triple2 triple3) -> rule8) OR ((triple5 triple2) -> rule5) OR ((triple5 ((triple1 triple3) -> rule1)) -> rule5) OR ((((triple1 triple3) -> rule1) triple3) -> rule8) OR ((triple5 ((((triple3) -> rule7) triple3) -> rule1)) -> rule5) OR ((((((triple3) -> rule7) triple3) -> rule1) triple3) -> rule8))] Dave is furry.[(((triple7 triple8) -> rule8))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple3) -> (rule7 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
((triple1 triple3) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple3) -> (rule7 % int2)) triple3) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
triple3
Bob is kind.
("Bob" "is" "kind" "+")
triple4
((triple3) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
((triple3) -> (rule6 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
((((triple2 triple3) -> (rule8 % int2)) triple3) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
((((triple5 triple2) -> (rule5 % int2)) triple3) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
((((triple5 ((triple1 triple3) -> (rule1 % int3))) -> (rule5 % int2)) triple3) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
((((((triple1 triple3) -> (rule1 % int3)) triple3) -> (rule8 % int2)) triple3) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
((((triple5 ((((triple3) -> (rule7 % int4)) triple3) -> (rule1 % int3))) -> (rule5 % int2)) triple3) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
((((((((triple3) -> (rule7 % int4)) triple3) -> (rule1 % int3)) triple3) -> (rule8 % int2)) triple3) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
Bob is rough.
("Bob" "is" "rough" "+")
triple5
Bob is smart.
("Bob" "is" "smart" "+")
triple6
((triple3) -> (rule4 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
triple7
Dave is cold.
("Dave" "is" "cold" "+")
triple8
Dave is kind.
("Dave" "is" "kind" "+")
triple9
((triple8) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((triple8) -> (rule6 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((((triple7 triple8) -> (rule8 % int2)) triple8) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
triple10
((triple8) -> (rule4 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
((triple2 triple3) -> (rule8 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((triple5 triple2) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((triple5 ((triple1 triple3) -> (rule1 % int2))) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((triple1 triple3) -> (rule1 % int2)) triple3) -> (rule8 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((triple5 ((((triple3) -> (rule7 % int3)) triple3) -> (rule1 % int2))) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
((((((triple3) -> (rule7 % int3)) triple3) -> (rule1 % int2)) triple3) -> (rule8 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
((triple7 triple8) -> (rule8 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1