Anne is red. Anne is round. Charlie is red. Charlie is round. Dave is furry. Dave is green. Dave is nice. If Anne is furry then Anne is green. If someone is round then they are cold. If Dave is red then Dave is green. Quiet people are red. All cold people are green. If someone is red and not cold then they are not nice. All furry, red people are not nice. If Anne is green and Anne is not cold then Anne is red.
Anne is red.
("Anne" "is" "red" "+")
Anne is round.
("Anne" "is" "round" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is nice.
("Dave" "is" "nice" "+")
If Anne is furry then Anne is green.
((("Anne" "is" "furry" "+")) -> ("Anne" "is" "green" "+"))
If someone is round then they are cold.
((("someone" "is" "round" "+")) -> ("someone" "is" "cold" "+"))
If Dave is red then Dave is green.
((("Dave" "is" "red" "+")) -> ("Dave" "is" "green" "+"))
Quiet people are red.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "red" "+"))
All cold people are green.
((("someone" "is" "cold" "+")) -> ("someone" "is" "green" "+"))
If someone is red and not cold then they are not nice.
((("someone" "is" "red" "+") ("someone" "is" "cold" "~")) -> ("someone" "is" "nice" "-"))
All furry, red people are not nice.
((("someone" "is" "furry" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "nice" "-"))
If Anne is green and Anne is not cold then Anne is red.
((("Anne" "is" "green" "+") ("Anne" "is" "cold" "~")) -> ("Anne" "is" "red" "+"))
Dave is green.
True
1
proof
[(triple6)]
("Dave" "is" "green" "+")
triple6
Charlie is not red.
False
1
inv-proof
[(triple3)]
("Charlie" "is" "red" "-")
triple3
Dave is not cold.
Unknown
inv-rconc
[@1: Dave is cold.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Dave" "is" "cold" "-")
Charlie is nice.
Unknown
random
[@0: Charlie is nice.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "nice" "+")
@0: Anne is red.[(triple1)] Anne is round.[(triple2)] Charlie is red.[(triple3)] Charlie is round.[(triple4)] Dave is furry.[(triple5)] Dave is green.[(triple6)] Dave is nice.[(triple7)] @1: Anne is cold.[(((triple2) -> rule2))] Charlie is cold.[(((triple4) -> rule2))] @2: Anne is green.[(((((triple2) -> rule2)) -> rule5))] Charlie is green.[(((((triple4) -> rule2)) -> rule5))]
Anne is red.
("Anne" "is" "red" "+")
triple1
Anne is round.
("Anne" "is" "round" "+")
triple2
Charlie is red.
("Charlie" "is" "red" "+")
triple3
Charlie is round.
("Charlie" "is" "round" "+")
triple4
Dave is furry.
("Dave" "is" "furry" "+")
triple5
Dave is green.
("Dave" "is" "green" "+")
triple6
Dave is nice.
("Dave" "is" "nice" "+")
triple7
Anne is cold.
("Anne" "is" "cold" "+")
((triple2) -> (rule2 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple4) -> (rule2 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
((((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
((((triple4) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2