Gary is kind. Gary is rough. Gary is young. All red, furry people are round. If Gary is kind then Gary is red. Red people are furry.
Gary is kind.
("Gary" "is" "kind" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is young.
("Gary" "is" "young" "+")
All red, furry people are round.
((("someone" "is" "red" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "round" "+"))
If Gary is kind then Gary is red.
((("Gary" "is" "kind" "+")) -> ("Gary" "is" "red" "+"))
Red people are furry.
((("someone" "is" "red" "+")) -> ("someone" "is" "furry" "+"))
Gary is rough.
True
1
proof
[(triple2)]
("Gary" "is" "rough" "+")
triple2
Gary is not kind.
False
1
inv-proof
[(triple1)]
("Gary" "is" "kind" "-")
triple1
Gary is red.
True
2
proof
[(((triple1) -> rule2))]
("Gary" "is" "red" "+")
((triple1) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is not red.
False
2
inv-proof
[(((triple1) -> rule2))]
("Gary" "is" "red" "-")
((triple1) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is furry.
True
3
proof
[(((((triple1) -> rule2)) -> rule3))]
("Gary" "is" "furry" "+")
((((triple1) -> (rule2 % int2))) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is not furry.
False
3
inv-proof
[(((((triple1) -> rule2)) -> rule3))]
("Gary" "is" "furry" "-")
((((triple1) -> (rule2 % int2))) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is round.
True
6
proof
[(((((triple1) -> rule2) ((((triple1) -> rule2)) -> rule3)) -> rule1))]
("Gary" "is" "round" "+")
((((triple1) -> (rule2 % int3)) ((((triple1) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is not round.
False
6
inv-proof
[(((((triple1) -> rule2) ((((triple1) -> rule2)) -> rule3)) -> rule1))]
("Gary" "is" "round" "-")
((((triple1) -> (rule2 % int3)) ((((triple1) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
@0: Gary is kind.[(triple1)] Gary is rough.[(triple2)] Gary is young.[(triple3)] @1: Gary is red.[(((triple1) -> rule2))] @2: Gary is furry.[(((((triple1) -> rule2)) -> rule3))] @3: Gary is round.[(((((triple1) -> rule2) ((((triple1) -> rule2)) -> rule3)) -> rule1))]
Gary is kind.
("Gary" "is" "kind" "+")
triple1
Gary is rough.
("Gary" "is" "rough" "+")
triple2
Gary is young.
("Gary" "is" "young" "+")
triple3
Gary is red.
("Gary" "is" "red" "+")
((triple1) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
((((triple1) -> (rule2 % int2))) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
((((triple1) -> (rule2 % int3)) ((((triple1) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3