Anne is white. Bob is nice. Bob is quiet. Bob is rough. Bob is round. Charlie is cold. Charlie is furry. Charlie is nice. Charlie is rough. Charlie is white. If Charlie is rough and Charlie is quiet then Charlie is white. If someone is white then they are nice. If someone is furry and cold then they are quiet. If Bob is furry and Bob is quiet then Bob is round. If someone is white then they are rough. If someone is quiet then they are round.
Anne is white.
("Anne" "is" "white" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is round.
("Bob" "is" "round" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is white.
("Charlie" "is" "white" "+")
If Charlie is rough and Charlie is quiet then Charlie is white.
((("Charlie" "is" "rough" "+") ("Charlie" "is" "quiet" "+")) -> ("Charlie" "is" "white" "+"))
If someone is white then they are nice.
((("someone" "is" "white" "+")) -> ("someone" "is" "nice" "+"))
If someone is furry and cold then they are quiet.
((("someone" "is" "furry" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "quiet" "+"))
If Bob is furry and Bob is quiet then Bob is round.
((("Bob" "is" "furry" "+") ("Bob" "is" "quiet" "+")) -> ("Bob" "is" "round" "+"))
If someone is white then they are rough.
((("someone" "is" "white" "+")) -> ("someone" "is" "rough" "+"))
If someone is quiet then they are round.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "round" "+"))
Bob is rough.
True
1
proof
[(triple4)]
("Bob" "is" "rough" "+")
triple4
Charlie is not nice.
False
1
inv-proof
[(triple8 OR ((triple10) -> rule2) OR ((((triple9 ((triple7 triple6) -> rule3)) -> rule1)) -> rule2))]
("Charlie" "is" "nice" "-")
triple8
((triple10) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((((triple9 ((triple7 triple6) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is quiet.
True
3
proof
[(((triple7 triple6) -> rule3))]
("Charlie" "is" "quiet" "+")
((triple7 triple6) -> (rule3 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Anne is not nice.
False
2
inv-proof
[(((triple1) -> rule2))]
("Anne" "is" "nice" "-")
((triple1) -> (rule2 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Charlie is round.
True
4
proof
[(((((triple7 triple6) -> rule3)) -> rule6))]
("Charlie" "is" "round" "+")
((((triple7 triple6) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is not round.
False
4
inv-proof
[(((((triple7 triple6) -> rule3)) -> rule6))]
("Charlie" "is" "round" "-")
((((triple7 triple6) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Anne is not quiet.
Unknown
inv-rconc
[@1: Anne is quiet.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Anne" "is" "quiet" "-")
Anne is round.
Unknown
rconc
[@2: Anne is round.[CWA. Example of deepest failure = (rule6 <- rule3 <- FAIL)]]
("Anne" "is" "round" "+")
Anne is not furry.
Unknown
inv-random
[@0: Anne is furry.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "furry" "-")
Anne is cold.
Unknown
random
[@0: Anne is cold.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "cold" "+")
Bob is not cold.
Unknown
inv-random
[@0: Bob is cold.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "cold" "-")
Bob is furry.
Unknown
random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "+")
@0: Anne is white.[(triple1)] Bob is nice.[(triple2)] Bob is quiet.[(triple3)] Bob is rough.[(triple4)] Bob is round.[(triple5 OR ((triple3) -> rule6))] Charlie is cold.[(triple6)] Charlie is furry.[(triple7)] Charlie is nice.[(triple8 OR ((triple10) -> rule2) OR ((((triple9 ((triple7 triple6) -> rule3)) -> rule1)) -> rule2))] Charlie is rough.[(triple9 OR ((triple10) -> rule5))] Charlie is white.[(triple10 OR ((triple9 ((triple7 triple6) -> rule3)) -> rule1))] @1: Anne is nice.[(((triple1) -> rule2))] Anne is rough.[(((triple1) -> rule5))] Charlie is quiet.[(((triple7 triple6) -> rule3))] @2: Charlie is round.[(((((triple7 triple6) -> rule3)) -> rule6))]
Anne is white.
("Anne" "is" "white" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
Bob is rough.
("Bob" "is" "rough" "+")
triple4
Bob is round.
("Bob" "is" "round" "+")
triple5
((triple3) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
triple6
Charlie is furry.
("Charlie" "is" "furry" "+")
triple7
Charlie is nice.
("Charlie" "is" "nice" "+")
triple8
((triple10) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((((triple9 ((triple7 triple6) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
triple9
((triple10) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
triple10
((triple9 ((triple7 triple6) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
((triple1) -> (rule2 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
((triple1) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((triple7 triple6) -> (rule3 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
((((triple7 triple6) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2