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