Bob is green. Bob is nice. Bob is quiet. Dave is big. Dave is furry. Dave is green. Dave is nice. Dave is quiet. Dave is rough. Dave is smart. Gary is big. Gary is green. Gary is nice. Gary is quiet. Gary is rough. Gary is smart. Rough, big things are smart. If something is quiet and big then it is furry. If Bob is big then Bob is rough. If something is rough then it is quiet. Nice things are big. Big things are quiet.
Bob is green.
("Bob" "is" "green" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Rough, big things are smart.
((("something" "is" "rough" "+") ("something" "is" "big" "+")) -> ("something" "is" "smart" "+"))
If something is quiet and big then it is furry.
((("something" "is" "quiet" "+") ("something" "is" "big" "+")) -> ("something" "is" "furry" "+"))
If Bob is big then Bob is rough.
((("Bob" "is" "big" "+")) -> ("Bob" "is" "rough" "+"))
If something is rough then it is quiet.
((("something" "is" "rough" "+")) -> ("something" "is" "quiet" "+"))
Nice things are big.
((("something" "is" "nice" "+")) -> ("something" "is" "big" "+"))
Big things are quiet.
((("something" "is" "big" "+")) -> ("something" "is" "quiet" "+"))
Gary is green.
True
1
proof
[(triple12)]
("Gary" "is" "green" "+")
triple12
Bob is not quiet.
False
1
inv-proof
[(triple3 OR ((((triple2) -> rule5)) -> rule6) OR ((((((triple2) -> rule5)) -> rule3)) -> rule4))]
("Bob" "is" "quiet" "-")
triple3
((((triple2) -> (rule5 % int2))) -> (rule6 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((((((triple2) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Gary is furry.
True
3
proof
[(((triple14 triple11) -> rule2) OR ((triple14 ((triple13) -> rule5)) -> rule2) OR ((((triple11) -> rule6) triple11) -> rule2) OR ((((triple15) -> rule4) triple11) -> rule2) OR ((((triple11) -> rule6) ((triple13) -> rule5)) -> rule2) OR ((((triple15) -> rule4) ((triple13) -> rule5)) -> rule2) OR ((((((triple13) -> rule5)) -> rule6) triple11) -> rule2) OR ((((((triple13) -> rule5)) -> rule6) ((triple13) -> rule5)) -> rule2))]
("Gary" "is" "furry" "+")
((triple14 triple11) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((triple14 ((triple13) -> (rule5 % int2))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((triple11) -> (rule6 % int2)) triple11) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
((((triple15) -> (rule4 % int2)) triple11) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
((((triple11) -> (rule6 % int3)) ((triple13) -> (rule5 % int2))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
((((triple15) -> (rule4 % int3)) ((triple13) -> (rule5 % int2))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
((((((triple13) -> (rule5 % int3))) -> (rule6 % int2)) triple11) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
((((((triple13) -> (rule5 % int3))) -> (rule6 % int2)) ((triple13) -> (rule5 % int3))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Bob is not big.
False
2
inv-proof
[(((triple2) -> rule5))]
("Bob" "is" "big" "-")
((triple2) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is furry.
True
4
proof
[(((triple3 ((triple2) -> rule5)) -> rule2) OR ((((((triple2) -> rule5)) -> rule6) ((triple2) -> rule5)) -> rule2) OR ((((((((triple2) -> rule5)) -> rule3)) -> rule4) ((triple2) -> rule5)) -> rule2))]
("Bob" "is" "furry" "+")
((triple3 ((triple2) -> (rule5 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((((((triple2) -> (rule5 % int3))) -> (rule6 % int2)) ((triple2) -> (rule5 % int3))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
((((((((triple2) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule4 % int2)) ((triple2) -> (rule5 % int4))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
Bob is not furry.
False
4
inv-proof
[(((triple3 ((triple2) -> rule5)) -> rule2) OR ((((((triple2) -> rule5)) -> rule6) ((triple2) -> rule5)) -> rule2) OR ((((((((triple2) -> rule5)) -> rule3)) -> rule4) ((triple2) -> rule5)) -> rule2))]
("Bob" "is" "furry" "-")
((triple3 ((triple2) -> (rule5 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((((((triple2) -> (rule5 % int3))) -> (rule6 % int2)) ((triple2) -> (rule5 % int3))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
((((((((triple2) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule4 % int2)) ((triple2) -> (rule5 % int4))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
Bob is smart.
True
6
proof
[(((((((triple2) -> rule5)) -> rule3) ((triple2) -> rule5)) -> rule1))]
("Bob" "is" "smart" "+")
((((((triple2) -> (rule5 % int3))) -> (rule3 % int2)) ((triple2) -> (rule5 % int3))) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is not smart.
False
6
inv-proof
[(((((((triple2) -> rule5)) -> rule3) ((triple2) -> rule5)) -> rule1))]
("Bob" "is" "smart" "-")
((((((triple2) -> (rule5 % int3))) -> (rule3 % int2)) ((triple2) -> (rule5 % int3))) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
@0: Bob is green.[(triple1)] Bob is nice.[(triple2)] Bob is quiet.[(triple3 OR ((((triple2) -> rule5)) -> rule6) OR ((((((triple2) -> rule5)) -> rule3)) -> rule4))] Dave is big.[(triple4 OR ((triple7) -> rule5))] Dave is furry.[(triple5 OR ((triple8 triple4) -> rule2) OR ((triple8 ((triple7) -> rule5)) -> rule2) OR ((((triple4) -> rule6) triple4) -> rule2) OR ((((triple9) -> rule4) triple4) -> rule2) OR ((((triple4) -> rule6) ((triple7) -> rule5)) -> rule2) OR ((((triple9) -> rule4) ((triple7) -> rule5)) -> rule2) OR ((((((triple7) -> rule5)) -> rule6) triple4) -> rule2) OR ((((((triple7) -> rule5)) -> rule6) ((triple7) -> rule5)) -> rule2))] Dave is green.[(triple6)] Dave is nice.[(triple7)] Dave is quiet.[(triple8 OR ((triple4) -> rule6) OR ((triple9) -> rule4) OR ((((triple7) -> rule5)) -> rule6))] Dave is rough.[(triple9)] Dave is smart.[(triple10 OR ((triple9 triple4) -> rule1) OR ((triple9 ((triple7) -> rule5)) -> rule1))] Gary is big.[(triple11 OR ((triple13) -> rule5))] Gary is green.[(triple12)] Gary is nice.[(triple13)] Gary is quiet.[(triple14 OR ((triple11) -> rule6) OR ((triple15) -> rule4) OR ((((triple13) -> rule5)) -> rule6))] Gary is rough.[(triple15)] Gary is smart.[(triple16 OR ((triple15 triple11) -> rule1) OR ((triple15 ((triple13) -> rule5)) -> rule1))] @1: Bob is big.[(((triple2) -> rule5))] Gary is furry.[(((triple14 triple11) -> rule2) OR ((triple14 ((triple13) -> rule5)) -> rule2) OR ((((triple11) -> rule6) triple11) -> rule2) OR ((((triple15) -> rule4) triple11) -> rule2) OR ((((triple11) -> rule6) ((triple13) -> rule5)) -> rule2) OR ((((triple15) -> rule4) ((triple13) -> rule5)) -> rule2) OR ((((((triple13) -> rule5)) -> rule6) triple11) -> rule2) OR ((((((triple13) -> rule5)) -> rule6) ((triple13) -> rule5)) -> rule2))] @2: Bob is furry.[(((triple3 ((triple2) -> rule5)) -> rule2) OR ((((((triple2) -> rule5)) -> rule6) ((triple2) -> rule5)) -> rule2) OR ((((((((triple2) -> rule5)) -> rule3)) -> rule4) ((triple2) -> rule5)) -> rule2))] Bob is rough.[(((((triple2) -> rule5)) -> rule3))] @3: Bob is smart.[(((((((triple2) -> rule5)) -> rule3) ((triple2) -> rule5)) -> rule1))]
Bob is green.
("Bob" "is" "green" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
((((triple2) -> (rule5 % int2))) -> (rule6 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((((((triple2) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Dave is big.
("Dave" "is" "big" "+")
triple4
((triple7) -> (rule5 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
triple5
((triple8 triple4) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple8 ((triple7) -> (rule5 % int2))) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
((((triple4) -> (rule6 % int2)) triple4) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
((((triple9) -> (rule4 % int2)) triple4) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
((((triple4) -> (rule6 % int3)) ((triple7) -> (rule5 % int2))) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
((((triple9) -> (rule4 % int3)) ((triple7) -> (rule5 % int2))) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
((((((triple7) -> (rule5 % int3))) -> (rule6 % int2)) triple4) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
((((((triple7) -> (rule5 % int3))) -> (rule6 % int2)) ((triple7) -> (rule5 % int3))) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
triple6
Dave is nice.
("Dave" "is" "nice" "+")
triple7
Dave is quiet.
("Dave" "is" "quiet" "+")
triple8
((triple4) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((triple9) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((((triple7) -> (rule5 % int2))) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
triple9
Dave is smart.
("Dave" "is" "smart" "+")
triple10
((triple9 triple4) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
((triple9 ((triple7) -> (rule5 % int2))) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
triple11
((triple13) -> (rule5 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
triple12
Gary is nice.
("Gary" "is" "nice" "+")
triple13
Gary is quiet.
("Gary" "is" "quiet" "+")
triple14
((triple11) -> (rule6 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((triple15) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple13) -> (rule5 % int2))) -> (rule6 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
triple15
Gary is smart.
("Gary" "is" "smart" "+")
triple16
((triple15 triple11) -> (rule1 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
((triple15 ((triple13) -> (rule5 % int2))) -> (rule1 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
((triple2) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
((triple14 triple11) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((triple14 ((triple13) -> (rule5 % int2))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((triple11) -> (rule6 % int2)) triple11) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
((((triple15) -> (rule4 % int2)) triple11) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
((((triple11) -> (rule6 % int3)) ((triple13) -> (rule5 % int2))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
((((triple15) -> (rule4 % int3)) ((triple13) -> (rule5 % int2))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
((((((triple13) -> (rule5 % int3))) -> (rule6 % int2)) triple11) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
((((((triple13) -> (rule5 % int3))) -> (rule6 % int2)) ((triple13) -> (rule5 % int3))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
((triple3 ((triple2) -> (rule5 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((((((triple2) -> (rule5 % int3))) -> (rule6 % int2)) ((triple2) -> (rule5 % int3))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
((((((((triple2) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule4 % int2)) ((triple2) -> (rule5 % int4))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
Bob is rough.
("Bob" "is" "rough" "+")
((((triple2) -> (rule5 % int2))) -> (rule3 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
((((((triple2) -> (rule5 % int3))) -> (rule3 % int2)) ((triple2) -> (rule5 % int3))) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3