Anne is blue. Fiona is blue. Gary is white. If something is white and furry then it is young. All white, young things are red. All blue things are rough. If Fiona is white and Fiona is furry then Fiona is blue. Young things are white. If something is green and white then it is red.
Anne is blue.
("Anne" "is" "blue" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Gary is white.
("Gary" "is" "white" "+")
If something is white and furry then it is young.
((("something" "is" "white" "+") ("something" "is" "furry" "+")) -> ("something" "is" "young" "+"))
All white, young things are red.
((("something" "is" "white" "+") ("something" "is" "young" "+")) -> ("something" "is" "red" "+"))
All blue things are rough.
((("something" "is" "blue" "+")) -> ("something" "is" "rough" "+"))
If Fiona is white and Fiona is furry then Fiona is blue.
((("Fiona" "is" "white" "+") ("Fiona" "is" "furry" "+")) -> ("Fiona" "is" "blue" "+"))
Young things are white.
((("something" "is" "young" "+")) -> ("something" "is" "white" "+"))
If something is green and white then it is red.
((("something" "is" "green" "+") ("something" "is" "white" "+")) -> ("something" "is" "red" "+"))
Gary is white.
True
1
proof
[(triple3)]
("Gary" "is" "white" "+")
triple3
Gary is not white.
False
1
inv-proof
[(triple3)]
("Gary" "is" "white" "-")
triple3
Fiona is not white.
Unknown
inv-rconc
[@2: Fiona is white.[CWA. Example of deepest failure = (rule5 <- rule1 <- FAIL)]]
("Fiona" "is" "white" "-")
Fiona is green.
Unknown
random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "+")
@0: Anne is blue.[(triple1)] Fiona is blue.[(triple2)] Gary is white.[(triple3)] @1: Anne is rough.[(((triple1) -> rule3))] Fiona is rough.[(((triple2) -> rule3))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Fiona is blue.
("Fiona" "is" "blue" "+")
triple2
Gary is white.
("Gary" "is" "white" "+")
triple3
Anne is rough.
("Anne" "is" "rough" "+")
((triple1) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple2) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1