Bob is big. Bob is green. Bob is kind. Bob is smart. Bob is white. Bob is young. Charlie is big. Charlie is green. Gary is green. Gary is rough. Gary is smart. Gary is white. Smart, rough people are kind. Green, young people are big. All green people are young. If someone is young then they are smart. All young people are rough. If someone is kind then they are young.
Bob is big.
("Bob" "is" "big" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Gary is white.
("Gary" "is" "white" "+")
Smart, rough people are kind.
((("someone" "is" "smart" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "kind" "+"))
Green, young people are big.
((("someone" "is" "green" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "big" "+"))
All green people are young.
((("someone" "is" "green" "+")) -> ("someone" "is" "young" "+"))
If someone is young then they are smart.
((("someone" "is" "young" "+")) -> ("someone" "is" "smart" "+"))
All young people are rough.
((("someone" "is" "young" "+")) -> ("someone" "is" "rough" "+"))
If someone is kind then they are young.
((("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
Gary is smart.
True
1
proof
[(triple11 OR ((((triple9) -> rule3)) -> rule4))]
("Gary" "is" "smart" "+")
triple11
((((triple9) -> (rule3 % int2))) -> (rule4 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Bob is not white.
False
1
inv-proof
[(triple5)]
("Bob" "is" "white" "-")
triple5
Gary is young.
True
2
proof
[(((triple9) -> rule3) OR ((((triple11 triple10) -> rule1)) -> rule6))]
("Gary" "is" "young" "+")
((triple9) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
((((triple11 triple10) -> (rule1 % int2))) -> (rule6 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is not kind.
False
3
inv-proof
[(((triple11 triple10) -> rule1) OR ((triple11 ((((triple9) -> rule3)) -> rule5)) -> rule1) OR ((((((triple9) -> rule3)) -> rule4) triple10) -> rule1) OR ((((((triple9) -> rule3)) -> rule4) ((((triple9) -> rule3)) -> rule5)) -> rule1))]
("Gary" "is" "kind" "-")
((triple11 triple10) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((triple11 ((((triple9) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
((((((triple9) -> (rule3 % int3))) -> (rule4 % int2)) triple10) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
((((((triple9) -> (rule3 % int4))) -> (rule4 % int3)) ((((triple9) -> (rule3 % int4))) -> (rule5 % int2))) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Charlie is smart.
True
3
proof
[(((((triple8) -> rule3)) -> rule4))]
("Charlie" "is" "smart" "+")
((((triple8) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Gary is not big.
False
4
inv-proof
[(((triple9 ((triple9) -> rule3)) -> rule2) OR ((triple9 ((((triple11 triple10) -> rule1)) -> rule6)) -> rule2))]
("Gary" "is" "big" "-")
((triple9 ((triple9) -> (rule3 % int2))) -> (rule2 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((triple9 ((((triple11 triple10) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Charlie is kind.
True
7
proof
[(((((((triple8) -> rule3)) -> rule4) ((((triple8) -> rule3)) -> rule5)) -> rule1))]
("Charlie" "is" "kind" "+")
((((((triple8) -> (rule3 % int4))) -> (rule4 % int3)) ((((triple8) -> (rule3 % int4))) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
Charlie is not kind.
False
7
inv-proof
[(((((((triple8) -> rule3)) -> rule4) ((((triple8) -> rule3)) -> rule5)) -> rule1))]
("Charlie" "is" "kind" "-")
((((((triple8) -> (rule3 % int4))) -> (rule4 % int3)) ((((triple8) -> (rule3 % int4))) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
@0: Bob is big.[(triple1 OR ((triple2 triple6) -> rule2) OR ((triple2 ((triple2) -> rule3)) -> rule2) OR ((triple2 ((triple3) -> rule6)) -> rule2))] Bob is green.[(triple2)] Bob is kind.[(triple3 OR ((triple4 ((triple6) -> rule5)) -> rule1) OR ((((triple6) -> rule4) ((triple6) -> rule5)) -> rule1) OR ((triple4 ((((triple2) -> rule3)) -> rule5)) -> rule1) OR ((((triple6) -> rule4) ((((triple2) -> rule3)) -> rule5)) -> rule1) OR ((((((triple2) -> rule3)) -> rule4) ((triple6) -> rule5)) -> rule1) OR ((((((triple2) -> rule3)) -> rule4) ((((triple2) -> rule3)) -> rule5)) -> rule1))] Bob is smart.[(triple4 OR ((triple6) -> rule4) OR ((((triple2) -> rule3)) -> rule4) OR ((((triple3) -> rule6)) -> rule4))] Bob is white.[(triple5)] Bob is young.[(triple6 OR ((triple2) -> rule3) OR ((triple3) -> rule6))] Charlie is big.[(triple7 OR ((triple8 ((triple8) -> rule3)) -> rule2))] Charlie is green.[(triple8)] Gary is green.[(triple9)] Gary is rough.[(triple10 OR ((((triple9) -> rule3)) -> rule5))] Gary is smart.[(triple11 OR ((((triple9) -> rule3)) -> rule4))] Gary is white.[(triple12)] @1: Bob is rough.[(((triple6) -> rule5) OR ((((triple2) -> rule3)) -> rule5) OR ((((triple3) -> rule6)) -> rule5))] Charlie is young.[(((triple8) -> rule3))] Gary is kind.[(((triple11 triple10) -> rule1) OR ((triple11 ((((triple9) -> rule3)) -> rule5)) -> rule1) OR ((((((triple9) -> rule3)) -> rule4) triple10) -> rule1) OR ((((((triple9) -> rule3)) -> rule4) ((((triple9) -> rule3)) -> rule5)) -> rule1))] Gary is young.[(((triple9) -> rule3) OR ((((triple11 triple10) -> rule1)) -> rule6))] @2: Charlie is rough.[(((((triple8) -> rule3)) -> rule5))] Charlie is smart.[(((((triple8) -> rule3)) -> rule4))] Gary is big.[(((triple9 ((triple9) -> rule3)) -> rule2) OR ((triple9 ((((triple11 triple10) -> rule1)) -> rule6)) -> rule2))] @3: Charlie is kind.[(((((((triple8) -> rule3)) -> rule4) ((((triple8) -> rule3)) -> rule5)) -> rule1))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple2 triple6) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple2 ((triple2) -> (rule3 % int2))) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((triple2 ((triple3) -> (rule6 % int2))) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
triple2
Bob is kind.
("Bob" "is" "kind" "+")
triple3
((triple4 ((triple6) -> (rule5 % int2))) -> (rule1 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
((((triple6) -> (rule4 % int3)) ((triple6) -> (rule5 % int2))) -> (rule1 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((triple4 ((((triple2) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
((((triple6) -> (rule4 % int4)) ((((triple2) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((((((triple2) -> (rule3 % int4))) -> (rule4 % int3)) ((triple6) -> (rule5 % int2))) -> (rule1 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
((((((triple2) -> (rule3 % int4))) -> (rule4 % int3)) ((((triple2) -> (rule3 % int4))) -> (rule5 % int2))) -> (rule1 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
Bob is smart.
("Bob" "is" "smart" "+")
triple4
((triple6) -> (rule4 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
((((triple2) -> (rule3 % int2))) -> (rule4 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple3) -> (rule6 % int2))) -> (rule4 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
triple5
Bob is young.
("Bob" "is" "young" "+")
triple6
((triple2) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((triple3) -> (rule6 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
triple7
((triple8 ((triple8) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
triple8
Gary is green.
("Gary" "is" "green" "+")
triple9
Gary is rough.
("Gary" "is" "rough" "+")
triple10
((((triple9) -> (rule3 % int2))) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
triple11
((((triple9) -> (rule3 % int2))) -> (rule4 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
triple12
Bob is rough.
("Bob" "is" "rough" "+")
((triple6) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((((triple2) -> (rule3 % int2))) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple3) -> (rule6 % int2))) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
((triple8) -> (rule3 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
((triple11 triple10) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((triple11 ((((triple9) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
((((((triple9) -> (rule3 % int3))) -> (rule4 % int2)) triple10) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
((((((triple9) -> (rule3 % int4))) -> (rule4 % int3)) ((((triple9) -> (rule3 % int4))) -> (rule5 % int2))) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is young.
("Gary" "is" "young" "+")
((triple9) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
((((triple11 triple10) -> (rule1 % int2))) -> (rule6 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
((((triple8) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
((((triple8) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
((triple9 ((triple9) -> (rule3 % int2))) -> (rule2 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((triple9 ((((triple11 triple10) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
((((((triple8) -> (rule3 % int4))) -> (rule4 % int3)) ((((triple8) -> (rule3 % int4))) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4