Dave is round. Erin is round. Gary is big. If something is furry and not cold then it is blue. Round things are blue. If Erin is cold then Erin is blue. All blue things are nice. If something is blue and rough then it is not nice. If something is rough and furry then it is big. Round, furry things are rough. If something is big then it is not rough.
Dave is round.
("Dave" "is" "round" "+")
Erin is round.
("Erin" "is" "round" "+")
Gary is big.
("Gary" "is" "big" "+")
If something is furry and not cold then it is blue.
((("something" "is" "furry" "+") ("something" "is" "cold" "~")) -> ("something" "is" "blue" "+"))
Round things are blue.
((("something" "is" "round" "+")) -> ("something" "is" "blue" "+"))
If Erin is cold then Erin is blue.
((("Erin" "is" "cold" "+")) -> ("Erin" "is" "blue" "+"))
All blue things are nice.
((("something" "is" "blue" "+")) -> ("something" "is" "nice" "+"))
If something is blue and rough then it is not nice.
((("something" "is" "blue" "+") ("something" "is" "rough" "+")) -> ("something" "is" "nice" "-"))
If something is rough and furry then it is big.
((("something" "is" "rough" "+") ("something" "is" "furry" "+")) -> ("something" "is" "big" "+"))
Round, furry things are rough.
((("something" "is" "round" "+") ("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
If something is big then it is not rough.
((("something" "is" "big" "+")) -> ("something" "is" "rough" "-"))
Gary is big.
True
1
proof
[(triple3)]
("Gary" "is" "big" "+")
triple3
Dave is not round.
False
1
inv-proof
[(triple1)]
("Dave" "is" "round" "-")
triple1
Dave is blue.
True
2
proof
[(((triple1) -> rule2))]
("Dave" "is" "blue" "+")
((triple1) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Erin is not blue.
False
2
inv-proof
[(((triple2) -> rule2))]
("Erin" "is" "blue" "-")
((triple2) -> (rule2 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Dave is nice.
True
3
proof
[(((((triple1) -> rule2)) -> rule4))]
("Dave" "is" "nice" "+")
((((triple1) -> (rule2 % int2))) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is not nice.
False
3
inv-proof
[(((((triple1) -> rule2)) -> rule4))]
("Dave" "is" "nice" "-")
((((triple1) -> (rule2 % int2))) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is not big.
Unknown
inv-rconc
[@1: Dave is big.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Dave" "is" "big" "-")
Gary is nice.
Unknown
rconc
[@2: Gary is nice.[CWA. Example of deepest failure = (rule4 <- rule1 <- FAIL)]]
("Gary" "is" "nice" "+")
Gary is not blue.
Unknown
inv-rconc
[@1: Gary is blue.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Gary" "is" "blue" "-")
Dave is furry.
Unknown
random
[@0: Dave is furry.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "furry" "+")
Gary is not cold.
Unknown
inv-random
[@0: Gary is cold.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "cold" "-")
Dave is cold.
Unknown
random
[@0: Dave is cold.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "cold" "+")
@0: Dave is round.[(triple1)] Erin is round.[(triple2)] Gary is big.[(triple3)] @1: Dave is blue.[(((triple1) -> rule2))] Erin is blue.[(((triple2) -> rule2))] Gary is not rough.[(((triple3) -> rule8))] @2: Dave is nice.[(((((triple1) -> rule2)) -> rule4))] Erin is nice.[(((((triple2) -> rule2)) -> rule4))]
Dave is round.
("Dave" "is" "round" "+")
triple1
Erin is round.
("Erin" "is" "round" "+")
triple2
Gary is big.
("Gary" "is" "big" "+")
triple3
Dave is blue.
("Dave" "is" "blue" "+")
((triple1) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
((triple2) -> (rule2 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Gary is not rough.
("Gary" "is" "rough" "-")
((triple3) -> (rule8 % int1))
Gary is not rough.
("Gary" "is" "rough" "-")
int1
Dave is nice.
("Dave" "is" "nice" "+")
((((triple1) -> (rule2 % int2))) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
((((triple2) -> (rule2 % int2))) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2