Anne is smart. Dave is not furry. Erin is rough. Smart things are not nice. Smart things are big. Blue, smart things are furry. If something is rough and not nice then it is not furry. Big, smart things are furry. If something is furry and blue then it is white. All blue things are white. If something is furry and smart then it is not rough.
Anne is smart.
("Anne" "is" "smart" "+")
Dave is not furry.
("Dave" "is" "furry" "-")
Erin is rough.
("Erin" "is" "rough" "+")
Smart things are not nice.
((("something" "is" "smart" "+")) -> ("something" "is" "nice" "-"))
Smart things are big.
((("something" "is" "smart" "+")) -> ("something" "is" "big" "+"))
Blue, smart things are furry.
((("something" "is" "blue" "+") ("something" "is" "smart" "+")) -> ("something" "is" "furry" "+"))
If something is rough and not nice then it is not furry.
((("something" "is" "rough" "+") ("something" "is" "nice" "~")) -> ("something" "is" "furry" "-"))
Big, smart things are furry.
((("something" "is" "big" "+") ("something" "is" "smart" "+")) -> ("something" "is" "furry" "+"))
If something is furry and blue then it is white.
((("something" "is" "furry" "+") ("something" "is" "blue" "+")) -> ("something" "is" "white" "+"))
All blue things are white.
((("something" "is" "blue" "+")) -> ("something" "is" "white" "+"))
If something is furry and smart then it is not rough.
((("something" "is" "furry" "+") ("something" "is" "smart" "+")) -> ("something" "is" "rough" "-"))
Anne is smart.
True
1
proof
[(triple1)]
("Anne" "is" "smart" "+")
triple1
Anne is not smart.
False
1
inv-proof
[(triple1)]
("Anne" "is" "smart" "-")
triple1
Anne is not nice.
True
2
proof
[(((triple1) -> rule1))]
("Anne" "is" "nice" "-")
((triple1) -> (rule1 % int1))
Anne is not nice.
("Anne" "is" "nice" "-")
int1
Anne is nice.
False
2
inv-proof
[(((triple1) -> rule1))]
("Anne" "is" "nice" "+")
((triple1) -> (rule1 % int1))
Anne is not nice.
("Anne" "is" "nice" "-")
int1
Anne is furry.
True
4
proof
[(((((triple1) -> rule2) triple1) -> rule5))]
("Anne" "is" "furry" "+")
((((triple1) -> (rule2 % int2)) triple1) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is not furry.
False
4
inv-proof
[(((((triple1) -> rule2) triple1) -> rule5))]
("Anne" "is" "furry" "-")
((((triple1) -> (rule2 % int2)) triple1) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Erin is not furry.
Unknown
inv-rconc
[@1: Erin is furry.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Erin" "is" "furry" "-")
Erin is big.
Unknown
rconc
[@1: Erin is big.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "big" "+")
Dave is not big.
Unknown
inv-rconc
[@1: Dave is big.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Dave" "is" "big" "-")
Dave is rough.
Unknown
random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "+")
Dave is not nice.
Unknown
inv-random
[@0: Dave is nice.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "nice" "-")
Erin is nice.
Unknown
random
[@0: Erin is nice.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "nice" "+")
@0: Anne is smart.[(triple1)] Dave is not furry.[(triple2)] Erin is rough.[(triple3)] @1: Anne is big.[(((triple1) -> rule2))] Anne is not nice.[(((triple1) -> rule1))] @2: Anne is furry.[(((((triple1) -> rule2) triple1) -> rule5))] @3: Anne is not rough.[(((((((triple1) -> rule2) triple1) -> rule5) triple1) -> rule8))]
Anne is smart.
("Anne" "is" "smart" "+")
triple1
Dave is not furry.
("Dave" "is" "furry" "-")
triple2
Erin is rough.
("Erin" "is" "rough" "+")
triple3
Anne is big.
("Anne" "is" "big" "+")
((triple1) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is not nice.
("Anne" "is" "nice" "-")
((triple1) -> (rule1 % int1))
Anne is not nice.
("Anne" "is" "nice" "-")
int1
Anne is furry.
("Anne" "is" "furry" "+")
((((triple1) -> (rule2 % int2)) triple1) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is not rough.
("Anne" "is" "rough" "-")
((((((triple1) -> (rule2 % int3)) triple1) -> (rule5 % int2)) triple1) -> (rule8 % int1))
Anne is not rough.
("Anne" "is" "rough" "-")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3