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