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