Bob is furry. Erin is red. Fiona is rough. Harry is cold. If someone is furry then they are cold. If Bob is red and Bob is nice then Bob is cold. White, furry people are nice. If Fiona is cold and Fiona is furry then Fiona is red. White, nice people are red. If someone is nice then they are furry.
Bob is furry.
("Bob" "is" "furry" "+")
Erin is red.
("Erin" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Harry is cold.
("Harry" "is" "cold" "+")
If someone is furry then they are cold.
((("someone" "is" "furry" "+")) -> ("someone" "is" "cold" "+"))
If Bob is red and Bob is nice then Bob is cold.
((("Bob" "is" "red" "+") ("Bob" "is" "nice" "+")) -> ("Bob" "is" "cold" "+"))
White, furry people are nice.
((("someone" "is" "white" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "nice" "+"))
If Fiona is cold and Fiona is furry then Fiona is red.
((("Fiona" "is" "cold" "+") ("Fiona" "is" "furry" "+")) -> ("Fiona" "is" "red" "+"))
White, nice people are red.
((("someone" "is" "white" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "red" "+"))
If someone is nice then they are furry.
((("someone" "is" "nice" "+")) -> ("someone" "is" "furry" "+"))
Bob is furry.
True
1
proof
[(triple1)]
("Bob" "is" "furry" "+")
triple1
Fiona is not rough.
False
1
inv-proof
[(triple3)]
("Fiona" "is" "rough" "-")
triple3
Harry is not nice.
Unknown
inv-rconc
[@1: Harry is nice.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Harry" "is" "nice" "-")
Erin is rough.
Unknown
random
[@0: Erin is rough.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "rough" "+")
@0: Bob is furry.[(triple1)] Erin is red.[(triple2)] Fiona is rough.[(triple3)] Harry is cold.[(triple4)] @1: Bob is cold.[(((triple1) -> rule1))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Erin is red.
("Erin" "is" "red" "+")
triple2
Fiona is rough.
("Fiona" "is" "rough" "+")
triple3
Harry is cold.
("Harry" "is" "cold" "+")
triple4
Bob is cold.
("Bob" "is" "cold" "+")
((triple1) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1