Bob is nice. Charlie is nice. Harry is blue. White things are furry. If Charlie is white then Charlie is blue. All blue, cold things are nice. If something is white and smart then it is furry. If Bob is blue then Bob is nice. Cold, furry things are nice. Furry things are nice. All blue, kind things are nice.
Bob is nice.
("Bob" "is" "nice" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Harry is blue.
("Harry" "is" "blue" "+")
White things are furry.
((("something" "is" "white" "+")) -> ("something" "is" "furry" "+"))
If Charlie is white then Charlie is blue.
((("Charlie" "is" "white" "+")) -> ("Charlie" "is" "blue" "+"))
All blue, cold things are nice.
((("something" "is" "blue" "+") ("something" "is" "cold" "+")) -> ("something" "is" "nice" "+"))
If something is white and smart then it is furry.
((("something" "is" "white" "+") ("something" "is" "smart" "+")) -> ("something" "is" "furry" "+"))
If Bob is blue then Bob is nice.
((("Bob" "is" "blue" "+")) -> ("Bob" "is" "nice" "+"))
Cold, furry things are nice.
((("something" "is" "cold" "+") ("something" "is" "furry" "+")) -> ("something" "is" "nice" "+"))
Furry things are nice.
((("something" "is" "furry" "+")) -> ("something" "is" "nice" "+"))
All blue, kind things are nice.
((("something" "is" "blue" "+") ("something" "is" "kind" "+")) -> ("something" "is" "nice" "+"))
Charlie is nice.
True
1
proof
[(triple2)]
("Charlie" "is" "nice" "+")
triple2
Harry is not blue.
False
1
inv-proof
[(triple3)]
("Harry" "is" "blue" "-")
triple3
Charlie is not furry.
Unknown
inv-rconc
[@1: Charlie is furry.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Charlie" "is" "furry" "-")
Charlie is white.
Unknown
random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "+")
@0: Bob is nice.[(triple1)] Charlie is nice.[(triple2)] Harry is blue.[(triple3)]
Bob is nice.
("Bob" "is" "nice" "+")
triple1
Charlie is nice.
("Charlie" "is" "nice" "+")
triple2
Harry is blue.
("Harry" "is" "blue" "+")
triple3