Bob is not cold. Fiona is furry. Fiona is not nice. If someone is nice and furry then they are blue. If someone is green then they are not blue. Furry people are not cold. All cold, nice people are green. If someone is furry then they are green. If someone is furry and not white then they are not round. If Bob is not nice then Bob is furry. If Fiona is nice and Fiona is blue then Fiona is green.
Bob is not cold.
("Bob" "is" "cold" "-")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is not nice.
("Fiona" "is" "nice" "-")
If someone is nice and furry then they are blue.
((("someone" "is" "nice" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "blue" "+"))
If someone is green then they are not blue.
((("someone" "is" "green" "+")) -> ("someone" "is" "blue" "-"))
Furry people are not cold.
((("someone" "is" "furry" "+")) -> ("someone" "is" "cold" "-"))
All cold, nice people are green.
((("someone" "is" "cold" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "green" "+"))
If someone is furry then they are green.
((("someone" "is" "furry" "+")) -> ("someone" "is" "green" "+"))
If someone is furry and not white then they are not round.
((("someone" "is" "furry" "+") ("someone" "is" "white" "~")) -> ("someone" "is" "round" "-"))
If Bob is not nice then Bob is furry.
((("Bob" "is" "nice" "~")) -> ("Bob" "is" "furry" "+"))
If Fiona is nice and Fiona is blue then Fiona is green.
((("Fiona" "is" "nice" "+") ("Fiona" "is" "blue" "+")) -> ("Fiona" "is" "green" "+"))
Fiona is furry.
True
1
proof
[(triple2)]
("Fiona" "is" "furry" "+")
triple2
Fiona is nice.
False
1
inv-proof
[(triple3)]
("Fiona" "is" "nice" "+")
triple3
Bob is not furry.
Unknown
inv-rconc
[@1: Bob is furry.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Bob" "is" "furry" "-")
Bob is white.
Unknown
random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "+")
@0: Bob is not cold.[(triple1)] Fiona is furry.[(triple2)] Fiona is not nice.[(triple3)] @1: Fiona is green.[(((triple2) -> rule5))] Fiona is not cold.[(((triple2) -> rule3))] @2: Fiona is not blue.[(((((triple2) -> rule5)) -> rule2))]
Bob is not cold.
("Bob" "is" "cold" "-")
triple1
Fiona is furry.
("Fiona" "is" "furry" "+")
triple2
Fiona is not nice.
("Fiona" "is" "nice" "-")
triple3
Fiona is green.
("Fiona" "is" "green" "+")
((triple2) -> (rule5 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is not cold.
("Fiona" "is" "cold" "-")
((triple2) -> (rule3 % int1))
Fiona is not cold.
("Fiona" "is" "cold" "-")
int1
Fiona is not blue.
("Fiona" "is" "blue" "-")
((((triple2) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2