Anne is blue. Anne is kind. Erin is young. If someone is kind and nice then they are furry. Nice people are blue. Kind people are big. All young people are white. Young, kind people are nice. If someone is young and furry then they are nice.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Erin is young.
("Erin" "is" "young" "+")
If someone is kind and nice then they are furry.
((("someone" "is" "kind" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "furry" "+"))
Nice people are blue.
((("someone" "is" "nice" "+")) -> ("someone" "is" "blue" "+"))
Kind people are big.
((("someone" "is" "kind" "+")) -> ("someone" "is" "big" "+"))
All young people are white.
((("someone" "is" "young" "+")) -> ("someone" "is" "white" "+"))
Young, kind people are nice.
((("someone" "is" "young" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "nice" "+"))
If someone is young and furry then they are nice.
((("someone" "is" "young" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "nice" "+"))
Anne is blue.
True
1
proof
[(triple1)]
("Anne" "is" "blue" "+")
triple1
Erin is not young.
False
1
inv-proof
[(triple3)]
("Erin" "is" "young" "-")
triple3
Anne is not furry.
Unknown
inv-rconc
[@2: Anne is furry.[CWA. Example of deepest failure = (rule1 <- rule5 <- FAIL)]]
("Anne" "is" "furry" "-")
Erin is kind.
Unknown
random
[@0: Erin is kind.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "kind" "+")
@0: Anne is blue.[(triple1)] Anne is kind.[(triple2)] Erin is young.[(triple3)] @1: Anne is big.[(((triple2) -> rule3))] Erin is white.[(((triple3) -> rule4))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is kind.
("Anne" "is" "kind" "+")
triple2
Erin is young.
("Erin" "is" "young" "+")
triple3
Anne is big.
("Anne" "is" "big" "+")
((triple2) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
((triple3) -> (rule4 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1