Anne is furry. Anne is green. Anne is not kind. Anne is quiet. Bob is big. Bob is not furry. Bob is not nice. Bob is red. Erin is kind. Erin is nice. Erin is quiet. Fiona is big. Fiona is furry. Fiona is kind. Fiona is quiet. Fiona is red. Kind people are green. If Bob is nice then Bob is kind. If Fiona is furry then Fiona is red. If someone is furry and not kind then they are red. If someone is green and red then they are big. If Fiona is red and Fiona is green then Fiona is nice.
Anne is furry.
("Anne" "is" "furry" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is not kind.
("Anne" "is" "kind" "-")
Anne is quiet.
("Anne" "is" "quiet" "+")
Bob is big.
("Bob" "is" "big" "+")
Bob is not furry.
("Bob" "is" "furry" "-")
Bob is not nice.
("Bob" "is" "nice" "-")
Bob is red.
("Bob" "is" "red" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Kind people are green.
((("someone" "is" "kind" "+")) -> ("someone" "is" "green" "+"))
If Bob is nice then Bob is kind.
((("Bob" "is" "nice" "+")) -> ("Bob" "is" "kind" "+"))
If Fiona is furry then Fiona is red.
((("Fiona" "is" "furry" "+")) -> ("Fiona" "is" "red" "+"))
If someone is furry and not kind then they are red.
((("someone" "is" "furry" "+") ("someone" "is" "kind" "~")) -> ("someone" "is" "red" "+"))
If someone is green and red then they are big.
((("someone" "is" "green" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "big" "+"))
If Fiona is red and Fiona is green then Fiona is nice.
((("Fiona" "is" "red" "+") ("Fiona" "is" "green" "+")) -> ("Fiona" "is" "nice" "+"))
Erin is kind.
True
1
proof
[(triple9)]
("Erin" "is" "kind" "+")
triple9
Fiona is not quiet.
False
1
inv-proof
[(triple15)]
("Fiona" "is" "quiet" "-")
triple15
Fiona is green.
True
2
proof
[(((triple14) -> rule1))]
("Fiona" "is" "green" "+")
((triple14) -> (rule1 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is not green.
False
2
inv-proof
[(((triple14) -> rule1))]
("Fiona" "is" "green" "-")
((triple14) -> (rule1 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Anne is big.
True
5
proof
[(((triple2 ((triple1 triple3) -> rule4)) -> rule5))]
("Anne" "is" "big" "+")
((triple2 ((triple1 triple3) -> (rule4 % int2))) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Fiona is not nice.
False
4
inv-proof
[(((triple16 ((triple14) -> rule1)) -> rule6) OR ((((triple13) -> rule3) ((triple14) -> rule1)) -> rule6))]
("Fiona" "is" "nice" "-")
((triple16 ((triple14) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
((((triple13) -> (rule3 % int3)) ((triple14) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Bob is not kind.
Unknown
inv-rconc
[@1: Bob is kind.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "kind" "-")
Erin is big.
Unknown
rconc
[@2: Erin is big.[CWA. Example of deepest failure = (rule5 <- rule4 <- FAIL)]]
("Erin" "is" "big" "+")
Bob is not green.
Unknown
inv-rconc
[@2: Bob is green.[CWA. Example of deepest failure = (rule1 <- rule2 <- FAIL)]]
("Bob" "is" "green" "-")
Bob is quiet.
Unknown
random
[@0: Bob is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "quiet" "+")
Erin is not furry.
Unknown
inv-random
[@0: Erin is furry.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "furry" "-")
Anne is nice.
Unknown
random
[@0: Anne is nice.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "nice" "+")
@0: Anne is furry.[(triple1)] Anne is green.[(triple2)] Anne is not kind.[(triple3)] Anne is quiet.[(triple4)] Bob is big.[(triple5)] Bob is not furry.[(triple6)] Bob is not nice.[(triple7)] Bob is red.[(triple8)] Erin is kind.[(triple9)] Erin is nice.[(triple10)] Erin is quiet.[(triple11)] Fiona is big.[(triple12 OR ((((triple14) -> rule1) triple16) -> rule5) OR ((((triple14) -> rule1) ((triple13) -> rule3)) -> rule5))] Fiona is furry.[(triple13)] Fiona is kind.[(triple14)] Fiona is quiet.[(triple15)] Fiona is red.[(triple16 OR ((triple13) -> rule3))] @1: Anne is red.[(((triple1 triple3) -> rule4))] Erin is green.[(((triple9) -> rule1))] Fiona is green.[(((triple14) -> rule1))] @2: Anne is big.[(((triple2 ((triple1 triple3) -> rule4)) -> rule5))] Fiona is nice.[(((triple16 ((triple14) -> rule1)) -> rule6) OR ((((triple13) -> rule3) ((triple14) -> rule1)) -> rule6))]
Anne is furry.
("Anne" "is" "furry" "+")
triple1
Anne is green.
("Anne" "is" "green" "+")
triple2
Anne is not kind.
("Anne" "is" "kind" "-")
triple3
Anne is quiet.
("Anne" "is" "quiet" "+")
triple4
Bob is big.
("Bob" "is" "big" "+")
triple5
Bob is not furry.
("Bob" "is" "furry" "-")
triple6
Bob is not nice.
("Bob" "is" "nice" "-")
triple7
Bob is red.
("Bob" "is" "red" "+")
triple8
Erin is kind.
("Erin" "is" "kind" "+")
triple9
Erin is nice.
("Erin" "is" "nice" "+")
triple10
Erin is quiet.
("Erin" "is" "quiet" "+")
triple11
Fiona is big.
("Fiona" "is" "big" "+")
triple12
((((triple14) -> (rule1 % int2)) triple16) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
((((triple14) -> (rule1 % int3)) ((triple13) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
triple13
Fiona is kind.
("Fiona" "is" "kind" "+")
triple14
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple15
Fiona is red.
("Fiona" "is" "red" "+")
triple16
((triple13) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
((triple1 triple3) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
((triple9) -> (rule1 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
((triple14) -> (rule1 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
((triple2 ((triple1 triple3) -> (rule4 % int2))) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple16 ((triple14) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
((((triple13) -> (rule3 % int3)) ((triple14) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3