Bob is furry. Bob is green. Bob is rough. Dave is furry. Dave is not green. Dave is rough. Dave is smart. If someone is rough then they are furry. Kind people are not furry. Round, rough people are smart. If Bob is smart then Bob is round. All nice people are rough. All nice people are rough. Nice, round people are green. All rough, furry people are not nice.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is not green.
("Dave" "is" "green" "-")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is smart.
("Dave" "is" "smart" "+")
If someone is rough then they are furry.
((("someone" "is" "rough" "+")) -> ("someone" "is" "furry" "+"))
Kind people are not furry.
((("someone" "is" "kind" "+")) -> ("someone" "is" "furry" "-"))
Round, rough people are smart.
((("someone" "is" "round" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "smart" "+"))
If Bob is smart then Bob is round.
((("Bob" "is" "smart" "+")) -> ("Bob" "is" "round" "+"))
All nice people are rough.
((("someone" "is" "nice" "+")) -> ("someone" "is" "rough" "+"))
All nice people are rough.
((("someone" "is" "nice" "+")) -> ("someone" "is" "rough" "+"))
Nice, round people are green.
((("someone" "is" "nice" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "green" "+"))
All rough, furry people are not nice.
((("someone" "is" "rough" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "nice" "-"))
Dave is not green.
True
1
proof
[(triple5)]
("Dave" "is" "green" "-")
triple5
Bob is not green.
False
1
inv-proof
[(triple2)]
("Bob" "is" "green" "-")
triple2
Bob is not nice.
True
3
proof
[(((triple3 triple1) -> rule8) OR ((triple3 ((triple3) -> rule1)) -> rule8))]
("Bob" "is" "nice" "-")
((triple3 triple1) -> (rule8 % int1))
Bob is not nice.
("Bob" "is" "nice" "-")
int1
((triple3 ((triple3) -> (rule1 % int2))) -> (rule8 % int1))
Bob is not nice.
("Bob" "is" "nice" "-")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is nice.
False
3
inv-proof
[(((triple3 triple1) -> rule8) OR ((triple3 ((triple3) -> rule1)) -> rule8))]
("Bob" "is" "nice" "+")
((triple3 triple1) -> (rule8 % int1))
Bob is not nice.
("Bob" "is" "nice" "-")
int1
((triple3 ((triple3) -> (rule1 % int2))) -> (rule8 % int1))
Bob is not nice.
("Bob" "is" "nice" "-")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is not round.
Unknown
inv-rconc
[@2: Bob is round.[CWA. Example of deepest failure = (rule4 <- rule3 <- FAIL)]]
("Bob" "is" "round" "-")
Bob is smart.
Unknown
rconc
[@2: Bob is smart.[CWA. Example of deepest failure = (rule3 <- rule4 <- FAIL)]]
("Bob" "is" "smart" "+")
Dave is not round.
Unknown
inv-random
[@0: Dave is round.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "round" "-")
Dave is kind.
Unknown
random
[@0: Dave is kind.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "kind" "+")
@0: Bob is furry.[(triple1 OR ((triple3) -> rule1))] Bob is green.[(triple2)] Bob is rough.[(triple3)] Dave is furry.[(triple4 OR ((triple6) -> rule1))] Dave is not green.[(triple5)] Dave is rough.[(triple6)] Dave is smart.[(triple7)] @1: Bob is not nice.[(((triple3 triple1) -> rule8) OR ((triple3 ((triple3) -> rule1)) -> rule8))] Dave is not nice.[(((triple6 triple4) -> rule8) OR ((triple6 ((triple6) -> rule1)) -> rule8))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
((triple3) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
triple2
Bob is rough.
("Bob" "is" "rough" "+")
triple3
Dave is furry.
("Dave" "is" "furry" "+")
triple4
((triple6) -> (rule1 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is not green.
("Dave" "is" "green" "-")
triple5
Dave is rough.
("Dave" "is" "rough" "+")
triple6
Dave is smart.
("Dave" "is" "smart" "+")
triple7
Bob is not nice.
("Bob" "is" "nice" "-")
((triple3 triple1) -> (rule8 % int1))
Bob is not nice.
("Bob" "is" "nice" "-")
int1
((triple3 ((triple3) -> (rule1 % int2))) -> (rule8 % int1))
Bob is not nice.
("Bob" "is" "nice" "-")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Dave is not nice.
("Dave" "is" "nice" "-")
((triple6 triple4) -> (rule8 % int1))
Dave is not nice.
("Dave" "is" "nice" "-")
int1
((triple6 ((triple6) -> (rule1 % int2))) -> (rule8 % int1))
Dave is not nice.
("Dave" "is" "nice" "-")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2