Anne is white. Bob is cold. Bob is white. Fiona is blue. Fiona is cold. Fiona is furry. Fiona is quiet. Fiona is red. Fiona is rough. Fiona is white. All white people are quiet. If someone is blue and furry then they are quiet. Furry people are white. Cold people are furry. If someone is quiet then they are blue. If someone is red and furry then they are quiet. If someone is rough then they are white. Red people are furry.
Anne is white.
("Anne" "is" "white" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is white.
("Bob" "is" "white" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is white.
("Fiona" "is" "white" "+")
All white people are quiet.
((("someone" "is" "white" "+")) -> ("someone" "is" "quiet" "+"))
If someone is blue and furry then they are quiet.
((("someone" "is" "blue" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "quiet" "+"))
Furry people are white.
((("someone" "is" "furry" "+")) -> ("someone" "is" "white" "+"))
Cold people are furry.
((("someone" "is" "cold" "+")) -> ("someone" "is" "furry" "+"))
If someone is quiet then they are blue.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "blue" "+"))
If someone is red and furry then they are quiet.
((("someone" "is" "red" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "quiet" "+"))
If someone is rough then they are white.
((("someone" "is" "rough" "+")) -> ("someone" "is" "white" "+"))
Red people are furry.
((("someone" "is" "red" "+")) -> ("someone" "is" "furry" "+"))
Bob is white.
True
1
proof
[(triple3 OR ((((triple2) -> rule4)) -> rule3))]
("Bob" "is" "white" "+")
triple3
((((triple2) -> (rule4 % int2))) -> (rule3 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Fiona is not red.
False
1
inv-proof
[(triple8)]
("Fiona" "is" "red" "-")
triple8
Bob is furry.
True
2
proof
[(((triple2) -> rule4))]
("Bob" "is" "furry" "+")
((triple2) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is not furry.
False
2
inv-proof
[(((triple2) -> rule4))]
("Bob" "is" "furry" "-")
((triple2) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Anne is blue.
True
3
proof
[(((((triple1) -> rule1)) -> rule5))]
("Anne" "is" "blue" "+")
((((triple1) -> (rule1 % int2))) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Bob is not blue.
False
3
inv-proof
[(((((triple3) -> rule1)) -> rule5) OR ((((((((triple2) -> rule4)) -> rule3)) -> rule1)) -> rule5))]
("Bob" "is" "blue" "-")
((((triple3) -> (rule1 % int2))) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((((((triple2) -> (rule4 % int4))) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
int4
Anne is not furry.
Unknown
inv-rconc
[@1: Anne is furry.[CWA. Example of deepest failure = (rule4 <- 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 rough.
Unknown
inv-random
[@0: Bob is rough.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "rough" "-")
Bob is red.
Unknown
random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "+")
Anne is not rough.
Unknown
inv-random
[@0: Anne is rough.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "rough" "-")
Anne is red.
Unknown
random
[@0: Anne is red.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "red" "+")
@0: Anne is white.[(triple1)] Bob is cold.[(triple2)] Bob is white.[(triple3 OR ((((triple2) -> rule4)) -> rule3))] Fiona is blue.[(triple4 OR ((triple7) -> rule5) OR ((((triple10) -> rule1)) -> rule5) OR ((((triple8 triple6) -> rule6)) -> rule5) OR ((((((triple6) -> rule3)) -> rule1)) -> rule5) OR ((((((triple9) -> rule7)) -> rule1)) -> rule5) OR ((((triple8 ((triple5) -> rule4)) -> rule6)) -> rule5) OR ((((triple8 ((triple8) -> rule8)) -> rule6)) -> rule5) OR ((((((((triple5) -> rule4)) -> rule3)) -> rule1)) -> rule5) OR ((((((((triple8) -> rule8)) -> rule3)) -> rule1)) -> rule5))] Fiona is cold.[(triple5)] Fiona is furry.[(triple6 OR ((triple5) -> rule4) OR ((triple8) -> rule8))] Fiona is quiet.[(triple7 OR ((triple10) -> rule1) OR ((triple4 triple6) -> rule2) OR ((triple8 triple6) -> rule6) OR ((((triple6) -> rule3)) -> rule1) OR ((((triple9) -> rule7)) -> rule1) OR ((triple4 ((triple5) -> rule4)) -> rule2) OR ((triple4 ((triple8) -> rule8)) -> rule2) OR ((triple8 ((triple5) -> rule4)) -> rule6) OR ((triple8 ((triple8) -> rule8)) -> rule6) OR ((((((triple5) -> rule4)) -> rule3)) -> rule1) OR ((((((triple8) -> rule8)) -> rule3)) -> rule1))] Fiona is red.[(triple8)] Fiona is rough.[(triple9)] Fiona is white.[(triple10 OR ((triple6) -> rule3) OR ((triple9) -> rule7) OR ((((triple5) -> rule4)) -> rule3) OR ((((triple8) -> rule8)) -> rule3))] @1: Anne is quiet.[(((triple1) -> rule1))] Bob is furry.[(((triple2) -> rule4))] Bob is quiet.[(((triple3) -> rule1) OR ((((((triple2) -> rule4)) -> rule3)) -> rule1))] @2: Anne is blue.[(((((triple1) -> rule1)) -> rule5))] Bob is blue.[(((((triple3) -> rule1)) -> rule5) OR ((((((((triple2) -> rule4)) -> rule3)) -> rule1)) -> rule5))]
Anne is white.
("Anne" "is" "white" "+")
triple1
Bob is cold.
("Bob" "is" "cold" "+")
triple2
Bob is white.
("Bob" "is" "white" "+")
triple3
((((triple2) -> (rule4 % int2))) -> (rule3 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
triple4
((triple7) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((((triple10) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((triple8 triple6) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((((triple6) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
((((((triple9) -> (rule7 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
((((triple8 ((triple5) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
((((triple8 ((triple8) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
((((((((triple5) -> (rule4 % int4))) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
int4
((((((((triple8) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
int4
Fiona is cold.
("Fiona" "is" "cold" "+")
triple5
Fiona is furry.
("Fiona" "is" "furry" "+")
triple6
((triple5) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple8) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple7
((triple10) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((triple4 triple6) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((triple8 triple6) -> (rule6 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
((((triple9) -> (rule7 % int2))) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
((triple4 ((triple5) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((triple4 ((triple8) -> (rule8 % int2))) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((triple8 ((triple5) -> (rule4 % int2))) -> (rule6 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((triple8 ((triple8) -> (rule8 % int2))) -> (rule6 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((((triple5) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
((((((triple8) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
triple8
Fiona is rough.
("Fiona" "is" "rough" "+")
triple9
Fiona is white.
("Fiona" "is" "white" "+")
triple10
((triple6) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((triple9) -> (rule7 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((((triple5) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((triple8) -> (rule8 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
((triple1) -> (rule1 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
((triple2) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
((triple3) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((((((triple2) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
((((triple1) -> (rule1 % int2))) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
((((triple3) -> (rule1 % int2))) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((((((triple2) -> (rule4 % int4))) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
int4