Anne is cold. Anne is furry. Anne is kind. Anne is nice. Anne is round. Anne is smart. Anne is white. Bob is cold. Bob is round. Bob is smart. Dave is cold. Dave is furry. Dave is kind. Dave is nice. Dave is smart. Dave is white. If something is round and smart then it is white. All round, cold things are kind. If Dave is kind and Dave is white then Dave is furry. If Anne is cold then Anne is nice. All kind, round things are cold. Round, white things are furry.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is white.
("Anne" "is" "white" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Dave is white.
("Dave" "is" "white" "+")
If something is round and smart then it is white.
((("something" "is" "round" "+") ("something" "is" "smart" "+")) -> ("something" "is" "white" "+"))
All round, cold things are kind.
((("something" "is" "round" "+") ("something" "is" "cold" "+")) -> ("something" "is" "kind" "+"))
If Dave is kind and Dave is white then Dave is furry.
((("Dave" "is" "kind" "+") ("Dave" "is" "white" "+")) -> ("Dave" "is" "furry" "+"))
If Anne is cold then Anne is nice.
((("Anne" "is" "cold" "+")) -> ("Anne" "is" "nice" "+"))
All kind, round things are cold.
((("something" "is" "kind" "+") ("something" "is" "round" "+")) -> ("something" "is" "cold" "+"))
Round, white things are furry.
((("something" "is" "round" "+") ("something" "is" "white" "+")) -> ("something" "is" "furry" "+"))
Bob is round.
True
1
proof
[(triple9)]
("Bob" "is" "round" "+")
triple9
Dave is not kind.
False
1
inv-proof
[(triple13)]
("Dave" "is" "kind" "-")
triple13
Bob is kind.
True
3
proof
[(((triple9 triple8) -> rule2))]
("Bob" "is" "kind" "+")
((triple9 triple8) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is not kind.
False
3
inv-proof
[(((triple9 triple8) -> rule2))]
("Bob" "is" "kind" "-")
((triple9 triple8) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is furry.
True
5
proof
[(((triple9 ((triple9 triple10) -> rule1)) -> rule6))]
("Bob" "is" "furry" "+")
((triple9 ((triple9 triple10) -> (rule1 % int2))) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is not furry.
False
5
inv-proof
[(((triple9 ((triple9 triple10) -> rule1)) -> rule6))]
("Bob" "is" "furry" "-")
((triple9 ((triple9 triple10) -> (rule1 % int2))) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is not nice.
Unknown
inv-random
[@0: Bob is nice.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "nice" "-")
Dave is round.
Unknown
random
[@0: Dave is round.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "round" "+")
@0: Anne is cold.[(triple1 OR ((triple3 triple5) -> rule5))] Anne is furry.[(triple2 OR ((triple5 triple7) -> rule6) OR ((triple5 ((triple5 triple6) -> rule1)) -> rule6))] Anne is kind.[(triple3 OR ((triple5 triple1) -> rule2))] Anne is nice.[(triple4 OR ((triple1) -> rule4) OR ((((triple3 triple5) -> rule5)) -> rule4))] Anne is round.[(triple5)] Anne is smart.[(triple6)] Anne is white.[(triple7 OR ((triple5 triple6) -> rule1))] Bob is cold.[(triple8)] Bob is round.[(triple9)] Bob is smart.[(triple10)] Dave is cold.[(triple11)] Dave is furry.[(triple12 OR ((triple13 triple16) -> rule3))] Dave is kind.[(triple13)] Dave is nice.[(triple14)] Dave is smart.[(triple15)] Dave is white.[(triple16)] @1: Bob is kind.[(((triple9 triple8) -> rule2))] Bob is white.[(((triple9 triple10) -> rule1))] @2: Bob is furry.[(((triple9 ((triple9 triple10) -> rule1)) -> rule6))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
((triple3 triple5) -> (rule5 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
triple2
((triple5 triple7) -> (rule6 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((triple5 ((triple5 triple6) -> (rule1 % int2))) -> (rule6 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
triple3
((triple5 triple1) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
triple4
((triple1) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((((triple3 triple5) -> (rule5 % int2))) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
triple5
Anne is smart.
("Anne" "is" "smart" "+")
triple6
Anne is white.
("Anne" "is" "white" "+")
triple7
((triple5 triple6) -> (rule1 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
triple8
Bob is round.
("Bob" "is" "round" "+")
triple9
Bob is smart.
("Bob" "is" "smart" "+")
triple10
Dave is cold.
("Dave" "is" "cold" "+")
triple11
Dave is furry.
("Dave" "is" "furry" "+")
triple12
((triple13 triple16) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
triple13
Dave is nice.
("Dave" "is" "nice" "+")
triple14
Dave is smart.
("Dave" "is" "smart" "+")
triple15
Dave is white.
("Dave" "is" "white" "+")
triple16
Bob is kind.
("Bob" "is" "kind" "+")
((triple9 triple8) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
((triple9 triple10) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
((triple9 ((triple9 triple10) -> (rule1 % int2))) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2