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