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