Gary is big. Gary is quiet. Gary is rough. If Gary is round then Gary is quiet. If someone is smart then they are round. Kind, young people are rough. If Gary is big then Gary is rough. All big people are smart. If someone is young then they are kind. If someone is rough and big then they are quiet. If Gary is big and Gary is smart then Gary is young.
Gary is big.
("Gary" "is" "big" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is rough.
("Gary" "is" "rough" "+")
If Gary is round then Gary is quiet.
((("Gary" "is" "round" "+")) -> ("Gary" "is" "quiet" "+"))
If someone is smart then they are round.
((("someone" "is" "smart" "+")) -> ("someone" "is" "round" "+"))
Kind, young people are rough.
((("someone" "is" "kind" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "rough" "+"))
If Gary is big then Gary is rough.
((("Gary" "is" "big" "+")) -> ("Gary" "is" "rough" "+"))
All big people are smart.
((("someone" "is" "big" "+")) -> ("someone" "is" "smart" "+"))
If someone is young then they are kind.
((("someone" "is" "young" "+")) -> ("someone" "is" "kind" "+"))
If someone is rough and big then they are quiet.
((("someone" "is" "rough" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "quiet" "+"))
If Gary is big and Gary is smart then Gary is young.
((("Gary" "is" "big" "+") ("Gary" "is" "smart" "+")) -> ("Gary" "is" "young" "+"))
Gary is rough.
True
1
proof
[(triple3 OR ((triple1) -> rule4) OR ((((((triple1 ((triple1) -> rule5)) -> rule8)) -> rule6) ((triple1 ((triple1) -> rule5)) -> rule8)) -> rule3))]
("Gary" "is" "rough" "+")
triple3
((triple1) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((((((triple1 ((triple1) -> (rule5 % int4))) -> (rule8 % int3))) -> (rule6 % int2)) ((triple1 ((triple1) -> (rule5 % int4))) -> (rule8 % int3))) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
Gary is not quiet.
False
1
inv-proof
[(triple2 OR ((triple3 triple1) -> rule7) OR ((((triple1) -> rule4) triple1) -> rule7) OR ((((((triple1) -> rule5)) -> rule2)) -> rule1) OR ((((((((triple1 ((triple1) -> rule5)) -> rule8)) -> rule6) ((triple1 ((triple1) -> rule5)) -> rule8)) -> rule3) triple1) -> rule7))]
("Gary" "is" "quiet" "-")
triple2
((triple3 triple1) -> (rule7 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple1) -> (rule4 % int2)) triple1) -> (rule7 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((((((triple1) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((((((triple1 ((triple1) -> (rule5 % int5))) -> (rule8 % int4))) -> (rule6 % int3)) ((triple1 ((triple1) -> (rule5 % int5))) -> (rule8 % int4))) -> (rule3 % int2)) triple1) -> (rule7 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is smart.
("Gary" "is" "smart" "+")
int5
Gary is smart.
True
2
proof
[(((triple1) -> rule5))]
("Gary" "is" "smart" "+")
((triple1) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is not smart.
False
2
inv-proof
[(((triple1) -> rule5))]
("Gary" "is" "smart" "-")
((triple1) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is round.
True
3
proof
[(((((triple1) -> rule5)) -> rule2))]
("Gary" "is" "round" "+")
((((triple1) -> (rule5 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is not young.
False
4
inv-proof
[(((triple1 ((triple1) -> rule5)) -> rule8))]
("Gary" "is" "young" "-")
((triple1 ((triple1) -> (rule5 % int2))) -> (rule8 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
@0: Gary is big.[(triple1)] Gary is quiet.[(triple2 OR ((triple3 triple1) -> rule7) OR ((((triple1) -> rule4) triple1) -> rule7) OR ((((((triple1) -> rule5)) -> rule2)) -> rule1) OR ((((((((triple1 ((triple1) -> rule5)) -> rule8)) -> rule6) ((triple1 ((triple1) -> rule5)) -> rule8)) -> rule3) triple1) -> rule7))] Gary is rough.[(triple3 OR ((triple1) -> rule4) OR ((((((triple1 ((triple1) -> rule5)) -> rule8)) -> rule6) ((triple1 ((triple1) -> rule5)) -> rule8)) -> rule3))] @1: Gary is smart.[(((triple1) -> rule5))] @2: Gary is round.[(((((triple1) -> rule5)) -> rule2))] Gary is young.[(((triple1 ((triple1) -> rule5)) -> rule8))] @3: Gary is kind.[(((((triple1 ((triple1) -> rule5)) -> rule8)) -> rule6))]
Gary is big.
("Gary" "is" "big" "+")
triple1
Gary is quiet.
("Gary" "is" "quiet" "+")
triple2
((triple3 triple1) -> (rule7 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple1) -> (rule4 % int2)) triple1) -> (rule7 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((((((triple1) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((((((triple1 ((triple1) -> (rule5 % int5))) -> (rule8 % int4))) -> (rule6 % int3)) ((triple1 ((triple1) -> (rule5 % int5))) -> (rule8 % int4))) -> (rule3 % int2)) triple1) -> (rule7 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is smart.
("Gary" "is" "smart" "+")
int5
Gary is rough.
("Gary" "is" "rough" "+")
triple3
((triple1) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((((((triple1 ((triple1) -> (rule5 % int4))) -> (rule8 % int3))) -> (rule6 % int2)) ((triple1 ((triple1) -> (rule5 % int4))) -> (rule8 % int3))) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
Gary is smart.
("Gary" "is" "smart" "+")
((triple1) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
((((triple1) -> (rule5 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
((triple1 ((triple1) -> (rule5 % int2))) -> (rule8 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
((((triple1 ((triple1) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule6 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3