Anne is green. Anne is kind. Anne is round. Bob is blue. Erin is green. Erin is kind. Erin is rough. Blue things are round. If Anne is rough and Anne is big then Anne is round. If something is round then it is kind. Blue, round things are big. If something is green and round then it is blue. Big, green things are rough. If Anne is round and Anne is kind then Anne is furry. All rough things are furry.
Anne is green.
("Anne" "is" "green" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is round.
("Anne" "is" "round" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Blue things are round.
((("something" "is" "blue" "+")) -> ("something" "is" "round" "+"))
If Anne is rough and Anne is big then Anne is round.
((("Anne" "is" "rough" "+") ("Anne" "is" "big" "+")) -> ("Anne" "is" "round" "+"))
If something is round then it is kind.
((("something" "is" "round" "+")) -> ("something" "is" "kind" "+"))
Blue, round things are big.
((("something" "is" "blue" "+") ("something" "is" "round" "+")) -> ("something" "is" "big" "+"))
If something is green and round then it is blue.
((("something" "is" "green" "+") ("something" "is" "round" "+")) -> ("something" "is" "blue" "+"))
Big, green things are rough.
((("something" "is" "big" "+") ("something" "is" "green" "+")) -> ("something" "is" "rough" "+"))
If Anne is round and Anne is kind then Anne is furry.
((("Anne" "is" "round" "+") ("Anne" "is" "kind" "+")) -> ("Anne" "is" "furry" "+"))
All rough things are furry.
((("something" "is" "rough" "+")) -> ("something" "is" "furry" "+"))
Erin is green.
True
1
proof
[(triple5)]
("Erin" "is" "green" "+")
triple5
Anne is not green.
False
1
inv-proof
[(triple1)]
("Anne" "is" "green" "-")
triple1
Anne is furry.
True
3
proof
[(((triple3 triple2) -> rule7) OR ((triple3 ((triple3) -> rule3)) -> rule7) OR ((((((((triple1 triple3) -> rule5) triple3) -> rule4) triple1) -> rule6)) -> rule8))]
("Anne" "is" "furry" "+")
((triple3 triple2) -> (rule7 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((triple3 ((triple3) -> (rule3 % int2))) -> (rule7 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
((((((((triple1 triple3) -> (rule5 % int4)) triple3) -> (rule4 % int3)) triple1) -> (rule6 % int2))) -> (rule8 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
Erin is not furry.
False
2
inv-proof
[(((triple7) -> rule8))]
("Erin" "is" "furry" "-")
((triple7) -> (rule8 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Anne is big.
True
5
proof
[(((((triple1 triple3) -> rule5) triple3) -> rule4))]
("Anne" "is" "big" "+")
((((triple1 triple3) -> (rule5 % int2)) triple3) -> (rule4 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is not big.
False
5
inv-proof
[(((((triple1 triple3) -> rule5) triple3) -> rule4))]
("Anne" "is" "big" "-")
((((triple1 triple3) -> (rule5 % int2)) triple3) -> (rule4 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is rough.
True
7
proof
[(((((((triple1 triple3) -> rule5) triple3) -> rule4) triple1) -> rule6))]
("Anne" "is" "rough" "+")
((((((triple1 triple3) -> (rule5 % int3)) triple3) -> (rule4 % int2)) triple1) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is not rough.
False
7
inv-proof
[(((((((triple1 triple3) -> rule5) triple3) -> rule4) triple1) -> rule6))]
("Anne" "is" "rough" "-")
((((((triple1 triple3) -> (rule5 % int3)) triple3) -> (rule4 % int2)) triple1) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Bob is not rough.
Unknown
inv-rconc
[@1: Bob is rough.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Bob" "is" "rough" "-")
Erin is big.
Unknown
rconc
[@3: Erin is big.[CWA. Example of deepest failure = (rule4 <- rule5 <- rule1 <- FAIL)]]
("Erin" "is" "big" "+")
Bob is not furry.
Unknown
inv-rconc
[@2: Bob is furry.[CWA. Example of deepest failure = (rule8 <- rule6 <- FAIL)]]
("Bob" "is" "furry" "-")
Erin is blue.
Unknown
rconc
[@2: Erin is blue.[CWA. Example of deepest failure = (rule5 <- rule1 <- FAIL)]]
("Erin" "is" "blue" "+")
@0: Anne is green.[(triple1)] Anne is kind.[(triple2 OR ((triple3) -> rule3))] Anne is round.[(triple3)] Bob is blue.[(triple4)] Erin is green.[(triple5)] Erin is kind.[(triple6)] Erin is rough.[(triple7)] @1: Anne is blue.[(((triple1 triple3) -> rule5))] Anne is furry.[(((triple3 triple2) -> rule7) OR ((triple3 ((triple3) -> rule3)) -> rule7) OR ((((((((triple1 triple3) -> rule5) triple3) -> rule4) triple1) -> rule6)) -> rule8))] Bob is round.[(((triple4) -> rule1))] Erin is furry.[(((triple7) -> rule8))] @2: Anne is big.[(((((triple1 triple3) -> rule5) triple3) -> rule4))] Bob is big.[(((triple4 ((triple4) -> rule1)) -> rule4))] Bob is kind.[(((((triple4) -> rule1)) -> rule3))] @3: Anne is rough.[(((((((triple1 triple3) -> rule5) triple3) -> rule4) triple1) -> rule6))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Anne is kind.
("Anne" "is" "kind" "+")
triple2
((triple3) -> (rule3 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
triple3
Bob is blue.
("Bob" "is" "blue" "+")
triple4
Erin is green.
("Erin" "is" "green" "+")
triple5
Erin is kind.
("Erin" "is" "kind" "+")
triple6
Erin is rough.
("Erin" "is" "rough" "+")
triple7
Anne is blue.
("Anne" "is" "blue" "+")
((triple1 triple3) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
((triple3 triple2) -> (rule7 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((triple3 ((triple3) -> (rule3 % int2))) -> (rule7 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
((((((((triple1 triple3) -> (rule5 % int4)) triple3) -> (rule4 % int3)) triple1) -> (rule6 % int2))) -> (rule8 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
Bob is round.
("Bob" "is" "round" "+")
((triple4) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
((triple7) -> (rule8 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
((((triple1 triple3) -> (rule5 % int2)) triple3) -> (rule4 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
((triple4 ((triple4) -> (rule1 % int2))) -> (rule4 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
((((triple4) -> (rule1 % int2))) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
((((((triple1 triple3) -> (rule5 % int3)) triple3) -> (rule4 % int2)) triple1) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3