Bob is big. Bob is cold. Bob is white. Dave is nice. Erin is red. Erin is smart. Fiona is nice. If something is red and smart then it is furry. Smart things are big. If something is red and white then it is smart. All red, furry things are smart. If something is furry then it is white. All smart, white things are big.
Bob is big.
("Bob" "is" "big" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is white.
("Bob" "is" "white" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
If something is red and smart then it is furry.
((("something" "is" "red" "+") ("something" "is" "smart" "+")) -> ("something" "is" "furry" "+"))
Smart things are big.
((("something" "is" "smart" "+")) -> ("something" "is" "big" "+"))
If something is red and white then it is smart.
((("something" "is" "red" "+") ("something" "is" "white" "+")) -> ("something" "is" "smart" "+"))
All red, furry things are smart.
((("something" "is" "red" "+") ("something" "is" "furry" "+")) -> ("something" "is" "smart" "+"))
If something is furry then it is white.
((("something" "is" "furry" "+")) -> ("something" "is" "white" "+"))
All smart, white things are big.
((("something" "is" "smart" "+") ("something" "is" "white" "+")) -> ("something" "is" "big" "+"))
Erin is smart.
True
1
proof
[(triple6)]
("Erin" "is" "smart" "+")
triple6
Bob is not big.
False
1
inv-proof
[(triple1)]
("Bob" "is" "big" "-")
triple1
Dave is not big.
Unknown
inv-rconc
[@2: Dave is big.[CWA. Example of deepest failure = (rule2 <- rule3 <- FAIL)]]
("Dave" "is" "big" "-")
Dave is cold.
Unknown
random
[@0: Dave is cold.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "cold" "+")
@0: Bob is big.[(triple1)] Bob is cold.[(triple2)] Bob is white.[(triple3)] Dave is nice.[(triple4)] Erin is red.[(triple5)] Erin is smart.[(triple6)] Fiona is nice.[(triple7)] @1: Erin is big.[(((triple6) -> rule2) OR ((triple6 ((((triple5 triple6) -> rule1)) -> rule5)) -> rule6))] Erin is furry.[(((triple5 triple6) -> rule1))] @2: Erin is white.[(((((triple5 triple6) -> rule1)) -> rule5))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is cold.
("Bob" "is" "cold" "+")
triple2
Bob is white.
("Bob" "is" "white" "+")
triple3
Dave is nice.
("Dave" "is" "nice" "+")
triple4
Erin is red.
("Erin" "is" "red" "+")
triple5
Erin is smart.
("Erin" "is" "smart" "+")
triple6
Fiona is nice.
("Fiona" "is" "nice" "+")
triple7
Erin is big.
("Erin" "is" "big" "+")
((triple6) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((triple6 ((((triple5 triple6) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
((triple5 triple6) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
((((triple5 triple6) -> (rule1 % int2))) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2