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