Anne is kind. Anne is quiet. Anne is red. Charlie is furry. Charlie is kind. Dave is red. Gary is blue. Gary is furry. Gary is green. Gary is kind. Gary is nice. Gary is red. All nice things are green. If something is green then it is kind. If Gary is quiet then Gary is furry. If Anne is nice and Anne is furry then Anne is kind. All red, green things are nice. If something is kind and not nice then it is blue. All red, quiet things are blue. If Charlie is not kind then Charlie is furry.
Anne is kind.
("Anne" "is" "kind" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is red.
("Anne" "is" "red" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Dave is red.
("Dave" "is" "red" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is red.
("Gary" "is" "red" "+")
All nice things are green.
((("something" "is" "nice" "+")) -> ("something" "is" "green" "+"))
If something is green then it is kind.
((("something" "is" "green" "+")) -> ("something" "is" "kind" "+"))
If Gary is quiet then Gary is furry.
((("Gary" "is" "quiet" "+")) -> ("Gary" "is" "furry" "+"))
If Anne is nice and Anne is furry then Anne is kind.
((("Anne" "is" "nice" "+") ("Anne" "is" "furry" "+")) -> ("Anne" "is" "kind" "+"))
All red, green things are nice.
((("something" "is" "red" "+") ("something" "is" "green" "+")) -> ("something" "is" "nice" "+"))
If something is kind and not nice then it is blue.
((("something" "is" "kind" "+") ("something" "is" "nice" "~")) -> ("something" "is" "blue" "+"))
All red, quiet things are blue.
((("something" "is" "red" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "blue" "+"))
If Charlie is not kind then Charlie is furry.
((("Charlie" "is" "kind" "~")) -> ("Charlie" "is" "furry" "+"))
Charlie is furry.
True
1
proof
[(triple4)]
("Charlie" "is" "furry" "+")
triple4
Gary is not green.
False
1
inv-proof
[(triple9 OR ((triple11) -> rule1))]
("Gary" "is" "green" "-")
triple9
((triple11) -> (rule1 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Anne is blue.
True
3
proof
[(((triple3 triple2) -> rule7))]
("Anne" "is" "blue" "+")
((triple3 triple2) -> (rule7 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is not blue.
False
3
inv-proof
[(((triple3 triple2) -> rule7))]
("Anne" "is" "blue" "-")
((triple3 triple2) -> (rule7 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Dave is not nice.
Unknown
inv-rconc
[@2: Dave is nice.[CWA. Example of deepest failure = (rule5 <- rule1 <- FAIL)]]
("Dave" "is" "nice" "-")
Charlie is nice.
Unknown
rconc
[@1: Charlie is nice.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Charlie" "is" "nice" "+")
Dave is not furry.
Unknown
inv-random
[@0: Dave is furry.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "furry" "-")
Charlie is quiet.
Unknown
random
[@0: Charlie is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "quiet" "+")
@0: Anne is kind.[(triple1)] Anne is quiet.[(triple2)] Anne is red.[(triple3)] Charlie is furry.[(triple4)] Charlie is kind.[(triple5)] Dave is red.[(triple6)] Gary is blue.[(triple7)] Gary is furry.[(triple8)] Gary is green.[(triple9 OR ((triple11) -> rule1))] Gary is kind.[(triple10 OR ((triple9) -> rule2) OR ((((triple11) -> rule1)) -> rule2))] Gary is nice.[(triple11 OR ((triple12 triple9) -> rule5))] Gary is red.[(triple12)] @1: Anne is blue.[(((triple3 triple2) -> rule7))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Anne is quiet.
("Anne" "is" "quiet" "+")
triple2
Anne is red.
("Anne" "is" "red" "+")
triple3
Charlie is furry.
("Charlie" "is" "furry" "+")
triple4
Charlie is kind.
("Charlie" "is" "kind" "+")
triple5
Dave is red.
("Dave" "is" "red" "+")
triple6
Gary is blue.
("Gary" "is" "blue" "+")
triple7
Gary is furry.
("Gary" "is" "furry" "+")
triple8
Gary is green.
("Gary" "is" "green" "+")
triple9
((triple11) -> (rule1 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
triple10
((triple9) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((((triple11) -> (rule1 % int2))) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
triple11
((triple12 triple9) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
triple12
Anne is blue.
("Anne" "is" "blue" "+")
((triple3 triple2) -> (rule7 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1