Bob is big. Bob is blue. Bob is furry. Bob is green. Bob is smart. Dave is big. Dave is furry. Dave is rough. Dave is smart. Harry is rough. All nice, green people are furry. Big, green people are furry. All furry people are nice. If someone is green then they are big. If Harry is green and Harry is not nice then Harry is not rough. If someone is blue and not furry then they are rough.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Harry is rough.
("Harry" "is" "rough" "+")
All nice, green people are furry.
((("someone" "is" "nice" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "furry" "+"))
Big, green people are furry.
((("someone" "is" "big" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "furry" "+"))
All furry people are nice.
((("someone" "is" "furry" "+")) -> ("someone" "is" "nice" "+"))
If someone is green then they are big.
((("someone" "is" "green" "+")) -> ("someone" "is" "big" "+"))
If Harry is green and Harry is not nice then Harry is not rough.
((("Harry" "is" "green" "+") ("Harry" "is" "nice" "~")) -> ("Harry" "is" "rough" "-"))
If someone is blue and not furry then they are rough.
((("someone" "is" "blue" "+") ("someone" "is" "furry" "~")) -> ("someone" "is" "rough" "+"))
Dave is rough.
True
1
proof
[(triple8)]
("Dave" "is" "rough" "+")
triple8
Bob is not smart.
False
1
inv-proof
[(triple5)]
("Bob" "is" "smart" "-")
triple5
Dave is nice.
True
2
proof
[(((triple7) -> rule3))]
("Dave" "is" "nice" "+")
((triple7) -> (rule3 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is not nice.
False
2
inv-proof
[(((triple7) -> rule3))]
("Dave" "is" "nice" "-")
((triple7) -> (rule3 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Harry is not big.
Unknown
inv-rconc
[@1: Harry is big.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Harry" "is" "big" "-")
Harry is furry.
Unknown
rconc
[@1: Harry is furry.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Harry" "is" "furry" "+")
Harry is not smart.
Unknown
inv-random
[@0: Harry is smart.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "smart" "-")
Harry is blue.
Unknown
random
[@0: Harry is blue.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "blue" "+")
@0: Bob is big.[(triple1 OR ((triple4) -> rule4))] Bob is blue.[(triple2)] Bob is furry.[(triple3 OR ((triple1 triple4) -> rule2) OR ((((triple4) -> rule4) triple4) -> rule2))] Bob is green.[(triple4)] Bob is smart.[(triple5)] Dave is big.[(triple6)] Dave is furry.[(triple7)] Dave is rough.[(triple8)] Dave is smart.[(triple9)] Harry is rough.[(triple10)] @1: Bob is nice.[(((triple3) -> rule3) OR ((((triple1 triple4) -> rule2)) -> rule3) OR ((((((triple4) -> rule4) triple4) -> rule2)) -> rule3))] Dave is nice.[(((triple7) -> rule3))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple4) -> (rule4 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
Bob is furry.
("Bob" "is" "furry" "+")
triple3
((triple1 triple4) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((((triple4) -> (rule4 % int2)) triple4) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
triple4
Bob is smart.
("Bob" "is" "smart" "+")
triple5
Dave is big.
("Dave" "is" "big" "+")
triple6
Dave is furry.
("Dave" "is" "furry" "+")
triple7
Dave is rough.
("Dave" "is" "rough" "+")
triple8
Dave is smart.
("Dave" "is" "smart" "+")
triple9
Harry is rough.
("Harry" "is" "rough" "+")
triple10
Bob is nice.
("Bob" "is" "nice" "+")
((triple3) -> (rule3 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
((((triple1 triple4) -> (rule2 % int2))) -> (rule3 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
((((((triple4) -> (rule4 % int3)) triple4) -> (rule2 % int2))) -> (rule3 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
((triple7) -> (rule3 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1