Bob is furry. Bob is quiet. Dave is nice. Dave is not round. Erin is nice. Gary is furry. Gary is not red. If Bob is furry and Bob is red then Bob is quiet. If someone is nice and not round then they are smart. All smart people are furry. All nice, smart people are furry. If someone is quiet and not red then they are furry. If Erin is nice then Erin is not smart.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is not round.
("Dave" "is" "round" "-")
Erin is nice.
("Erin" "is" "nice" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is not red.
("Gary" "is" "red" "-")
If Bob is furry and Bob is red then Bob is quiet.
((("Bob" "is" "furry" "+") ("Bob" "is" "red" "+")) -> ("Bob" "is" "quiet" "+"))
If someone is nice and not round then they are smart.
((("someone" "is" "nice" "+") ("someone" "is" "round" "~")) -> ("someone" "is" "smart" "+"))
All smart people are furry.
((("someone" "is" "smart" "+")) -> ("someone" "is" "furry" "+"))
All nice, smart people are furry.
((("someone" "is" "nice" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "furry" "+"))
If someone is quiet and not red then they are furry.
((("someone" "is" "quiet" "+") ("someone" "is" "red" "~")) -> ("someone" "is" "furry" "+"))
If Erin is nice then Erin is not smart.
((("Erin" "is" "nice" "+")) -> ("Erin" "is" "smart" "-"))
Bob is furry.
True
1
proof
[(triple1)]
("Bob" "is" "furry" "+")
triple1
Bob is not furry.
False
1
inv-proof
[(triple1)]
("Bob" "is" "furry" "-")
triple1
Bob is not smart.
Unknown
inv-rconc
[@1: Bob is smart.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "smart" "-")
Bob is big.
Unknown
random
[@0: Bob is big.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "big" "+")
@0: Bob is furry.[(triple1)] Bob is quiet.[(triple2)] Dave is nice.[(triple3)] Dave is not round.[(triple4)] Erin is nice.[(triple5)] Gary is furry.[(triple6)] Gary is not red.[(triple7)] @1: Dave is smart.[(((triple3 triple4) -> rule2))] Erin is not smart.[(((triple5) -> rule6))] @2: Dave is furry.[(((((triple3 triple4) -> rule2)) -> rule3) OR ((triple3 ((triple3 triple4) -> rule2)) -> rule4))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Bob is quiet.
("Bob" "is" "quiet" "+")
triple2
Dave is nice.
("Dave" "is" "nice" "+")
triple3
Dave is not round.
("Dave" "is" "round" "-")
triple4
Erin is nice.
("Erin" "is" "nice" "+")
triple5
Gary is furry.
("Gary" "is" "furry" "+")
triple6
Gary is not red.
("Gary" "is" "red" "-")
triple7
Dave is smart.
("Dave" "is" "smart" "+")
((triple3 triple4) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Erin is not smart.
("Erin" "is" "smart" "-")
((triple5) -> (rule6 % int1))
Erin is not smart.
("Erin" "is" "smart" "-")
int1
Dave is furry.
("Dave" "is" "furry" "+")
((((triple3 triple4) -> (rule2 % int2))) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
((triple3 ((triple3 triple4) -> (rule2 % int2))) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2