Anne is blue. Anne is furry. Anne is kind. Anne is not nice. Anne is red. Anne is rough. Anne is not round. Charlie is not furry. Charlie is not nice. Charlie is rough. Charlie is round. Erin is blue. Erin is nice. Erin is red. Erin is not rough. Nice things are not furry. All nice, blue things are not furry. All furry, rough things are not round. Round, blue things are rough. If Charlie is round and Charlie is not nice then Charlie is blue. If something is nice and not round then it is red. If something is red and not blue then it is kind. If something is red and not furry then it is not kind.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is not nice.
("Anne" "is" "nice" "-")
Anne is red.
("Anne" "is" "red" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is not round.
("Anne" "is" "round" "-")
Charlie is not furry.
("Charlie" "is" "furry" "-")
Charlie is not nice.
("Charlie" "is" "nice" "-")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is not rough.
("Erin" "is" "rough" "-")
Nice things are not furry.
((("something" "is" "nice" "+")) -> ("something" "is" "furry" "-"))
All nice, blue things are not furry.
((("something" "is" "nice" "+") ("something" "is" "blue" "+")) -> ("something" "is" "furry" "-"))
All furry, rough things are not round.
((("something" "is" "furry" "+") ("something" "is" "rough" "+")) -> ("something" "is" "round" "-"))
Round, blue things are rough.
((("something" "is" "round" "+") ("something" "is" "blue" "+")) -> ("something" "is" "rough" "+"))
If Charlie is round and Charlie is not nice then Charlie is blue.
((("Charlie" "is" "round" "+") ("Charlie" "is" "nice" "~")) -> ("Charlie" "is" "blue" "+"))
If something is nice and not round then it is red.
((("something" "is" "nice" "+") ("something" "is" "round" "~")) -> ("something" "is" "red" "+"))
If something is red and not blue then it is kind.
((("something" "is" "red" "+") ("something" "is" "blue" "~")) -> ("something" "is" "kind" "+"))
If something is red and not furry then it is not kind.
((("something" "is" "red" "+") ("something" "is" "furry" "~")) -> ("something" "is" "kind" "-"))
Erin is not rough.
True
1
proof
[(triple15)]
("Erin" "is" "rough" "-")
triple15
Anne is round.
False
1
inv-proof
[(triple7 OR ((triple2 triple6) -> rule3))]
("Anne" "is" "round" "+")
triple7
((triple2 triple6) -> (rule3 % int1))
Anne is not round.
("Anne" "is" "round" "-")
int1
Erin is not furry.
True
2
proof
[(((triple13) -> rule1) OR ((triple13 triple12) -> rule2))]
("Erin" "is" "furry" "-")
((triple13) -> (rule1 % int1))
Erin is not furry.
("Erin" "is" "furry" "-")
int1
((triple13 triple12) -> (rule2 % int1))
Erin is not furry.
("Erin" "is" "furry" "-")
int1
Erin is furry.
False
2
inv-proof
[(((triple13) -> rule1) OR ((triple13 triple12) -> rule2))]
("Erin" "is" "furry" "+")
((triple13) -> (rule1 % int1))
Erin is not furry.
("Erin" "is" "furry" "-")
int1
((triple13 triple12) -> (rule2 % int1))
Erin is not furry.
("Erin" "is" "furry" "-")
int1
Erin is not kind.
True
4
proof
[(((triple14 ((triple13) -> rule1)) -> rule8) OR ((triple14 ((triple13 triple12) -> rule2)) -> rule8))]
("Erin" "is" "kind" "-")
((triple14 ((triple13) -> (rule1 % int2))) -> (rule8 % int1))
Erin is not kind.
("Erin" "is" "kind" "-")
int1
Erin is not furry.
("Erin" "is" "furry" "-")
int2
((triple14 ((triple13 triple12) -> (rule2 % int2))) -> (rule8 % int1))
Erin is not kind.
("Erin" "is" "kind" "-")
int1
Erin is not furry.
("Erin" "is" "furry" "-")
int2
Erin is kind.
False
4
inv-proof
[(((triple14 ((triple13) -> rule1)) -> rule8) OR ((triple14 ((triple13 triple12) -> rule2)) -> rule8))]
("Erin" "is" "kind" "+")
((triple14 ((triple13) -> (rule1 % int2))) -> (rule8 % int1))
Erin is not kind.
("Erin" "is" "kind" "-")
int1
Erin is not furry.
("Erin" "is" "furry" "-")
int2
((triple14 ((triple13 triple12) -> (rule2 % int2))) -> (rule8 % int1))
Erin is not kind.
("Erin" "is" "kind" "-")
int1
Erin is not furry.
("Erin" "is" "furry" "-")
int2
Charlie is not red.
Unknown
inv-rconc
[@1: Charlie is red.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Charlie" "is" "red" "-")
Charlie is kind.
Unknown
rconc
[@1: Charlie is kind.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Charlie" "is" "kind" "+")
@0: Anne is blue.[(triple1)] Anne is furry.[(triple2)] Anne is kind.[(triple3)] Anne is not nice.[(triple4)] Anne is not round.[(triple7 OR ((triple2 triple6) -> rule3))] Anne is red.[(triple5)] Anne is rough.[(triple6)] Charlie is not furry.[(triple8)] Charlie is not nice.[(triple9)] Charlie is rough.[(triple10 OR ((triple11 ((triple11 triple9) -> rule5)) -> rule4))] Charlie is round.[(triple11)] Erin is blue.[(triple12)] Erin is nice.[(triple13)] Erin is not rough.[(triple15)] Erin is red.[(triple14)] @1: Charlie is blue.[(((triple11 triple9) -> rule5))] Erin is not furry.[(((triple13) -> rule1) OR ((triple13 triple12) -> rule2))] @2: Erin is not kind.[(((triple14 ((triple13) -> rule1)) -> rule8) OR ((triple14 ((triple13 triple12) -> rule2)) -> rule8))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is furry.
("Anne" "is" "furry" "+")
triple2
Anne is kind.
("Anne" "is" "kind" "+")
triple3
Anne is not nice.
("Anne" "is" "nice" "-")
triple4
Anne is not round.
("Anne" "is" "round" "-")
triple7
((triple2 triple6) -> (rule3 % int1))
Anne is not round.
("Anne" "is" "round" "-")
int1
Anne is red.
("Anne" "is" "red" "+")
triple5
Anne is rough.
("Anne" "is" "rough" "+")
triple6
Charlie is not furry.
("Charlie" "is" "furry" "-")
triple8
Charlie is not nice.
("Charlie" "is" "nice" "-")
triple9
Charlie is rough.
("Charlie" "is" "rough" "+")
triple10
((triple11 ((triple11 triple9) -> (rule5 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
triple11
Erin is blue.
("Erin" "is" "blue" "+")
triple12
Erin is nice.
("Erin" "is" "nice" "+")
triple13
Erin is not rough.
("Erin" "is" "rough" "-")
triple15
Erin is red.
("Erin" "is" "red" "+")
triple14
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple11 triple9) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Erin is not furry.
("Erin" "is" "furry" "-")
((triple13) -> (rule1 % int1))
Erin is not furry.
("Erin" "is" "furry" "-")
int1
((triple13 triple12) -> (rule2 % int1))
Erin is not furry.
("Erin" "is" "furry" "-")
int1
Erin is not kind.
("Erin" "is" "kind" "-")
((triple14 ((triple13) -> (rule1 % int2))) -> (rule8 % int1))
Erin is not kind.
("Erin" "is" "kind" "-")
int1
Erin is not furry.
("Erin" "is" "furry" "-")
int2
((triple14 ((triple13 triple12) -> (rule2 % int2))) -> (rule8 % int1))
Erin is not kind.
("Erin" "is" "kind" "-")
int1
Erin is not furry.
("Erin" "is" "furry" "-")
int2