Anne is round. Dave is smart. Gary is blue. If something is round then it is smart. If something is round then it is not rough. Round, smart things are not furry. If Anne is cold and Anne is blue then Anne is not round. If Dave is furry and Dave is cold then Dave is rough. If Dave is quiet then Dave is blue.
Anne is round.
("Anne" "is" "round" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Gary is blue.
("Gary" "is" "blue" "+")
If something is round then it is smart.
((("something" "is" "round" "+")) -> ("something" "is" "smart" "+"))
If something is round then it is not rough.
((("something" "is" "round" "+")) -> ("something" "is" "rough" "-"))
Round, smart things are not furry.
((("something" "is" "round" "+") ("something" "is" "smart" "+")) -> ("something" "is" "furry" "-"))
If Anne is cold and Anne is blue then Anne is not round.
((("Anne" "is" "cold" "+") ("Anne" "is" "blue" "+")) -> ("Anne" "is" "round" "-"))
If Dave is furry and Dave is cold then Dave is rough.
((("Dave" "is" "furry" "+") ("Dave" "is" "cold" "+")) -> ("Dave" "is" "rough" "+"))
If Dave is quiet then Dave is blue.
((("Dave" "is" "quiet" "+")) -> ("Dave" "is" "blue" "+"))
Gary is blue.
True
1
proof
[(triple3)]
("Gary" "is" "blue" "+")
triple3
Gary is not blue.
False
1
inv-proof
[(triple3)]
("Gary" "is" "blue" "-")
triple3
Dave is not rough.
Unknown
inv-rconc
[@1: Dave is rough.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Dave" "is" "rough" "-")
Gary is furry.
Unknown
random
[@0: Gary is furry.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "furry" "+")
@0: Anne is round.[(triple1)] Dave is smart.[(triple2)] Gary is blue.[(triple3)] @1: Anne is not rough.[(((triple1) -> rule2))] Anne is smart.[(((triple1) -> rule1))] @2: Anne is not furry.[(((triple1 ((triple1) -> rule1)) -> rule3))]
Anne is round.
("Anne" "is" "round" "+")
triple1
Dave is smart.
("Dave" "is" "smart" "+")
triple2
Gary is blue.
("Gary" "is" "blue" "+")
triple3
Anne is not rough.
("Anne" "is" "rough" "-")
((triple1) -> (rule2 % int1))
Anne is not rough.
("Anne" "is" "rough" "-")
int1
Anne is smart.
("Anne" "is" "smart" "+")
((triple1) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is not furry.
("Anne" "is" "furry" "-")
((triple1 ((triple1) -> (rule1 % int2))) -> (rule3 % int1))
Anne is not furry.
("Anne" "is" "furry" "-")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2