Charlie is cold. Charlie is rough. Charlie is round. Charlie is white. Gary is cold. Gary is furry. Gary is red. Gary is round. Gary is smart. Gary is white. If someone is white and red then they are smart. If Charlie is white then Charlie is red. If someone is furry then they are cold. Rough, cold people are red. If someone is smart and white then they are furry. If someone is furry and white then they are red.
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Gary is white.
("Gary" "is" "white" "+")
If someone is white and red then they are smart.
((("someone" "is" "white" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "smart" "+"))
If Charlie is white then Charlie is red.
((("Charlie" "is" "white" "+")) -> ("Charlie" "is" "red" "+"))
If someone is furry then they are cold.
((("someone" "is" "furry" "+")) -> ("someone" "is" "cold" "+"))
Rough, cold people are red.
((("someone" "is" "rough" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "red" "+"))
If someone is smart and white then they are furry.
((("someone" "is" "smart" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "furry" "+"))
If someone is furry and white then they are red.
((("someone" "is" "furry" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "red" "+"))
Charlie is cold.
True
1
proof
[(triple1 OR ((((((triple4 ((triple4) -> rule2)) -> rule1) triple4) -> rule5)) -> rule3))]
("Charlie" "is" "cold" "+")
triple1
((((((triple4 ((triple4) -> (rule2 % int4))) -> (rule1 % int3)) triple4) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Gary is not furry.
False
1
inv-proof
[(triple6 OR ((triple9 triple10) -> rule5) OR ((((triple10 triple7) -> rule1) triple10) -> rule5))]
("Gary" "is" "furry" "-")
triple6
((triple9 triple10) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((((triple10 triple7) -> (rule1 % int2)) triple10) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Charlie is red.
True
2
proof
[(((triple4) -> rule2) OR ((triple2 triple1) -> rule4))]
("Charlie" "is" "red" "+")
((triple4) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple2 triple1) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is not red.
False
2
inv-proof
[(((triple4) -> rule2) OR ((triple2 triple1) -> rule4))]
("Charlie" "is" "red" "-")
((triple4) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple2 triple1) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is smart.
True
4
proof
[(((triple4 ((triple4) -> rule2)) -> rule1) OR ((triple4 ((triple2 triple1) -> rule4)) -> rule1))]
("Charlie" "is" "smart" "+")
((triple4 ((triple4) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((triple4 ((triple2 triple1) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is not smart.
False
4
inv-proof
[(((triple4 ((triple4) -> rule2)) -> rule1) OR ((triple4 ((triple2 triple1) -> rule4)) -> rule1))]
("Charlie" "is" "smart" "-")
((triple4 ((triple4) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((triple4 ((triple2 triple1) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is furry.
True
6
proof
[(((((triple4 ((triple4) -> rule2)) -> rule1) triple4) -> rule5) OR ((((triple4 ((triple2 triple1) -> rule4)) -> rule1) triple4) -> rule5))]
("Charlie" "is" "furry" "+")
((((triple4 ((triple4) -> (rule2 % int3))) -> (rule1 % int2)) triple4) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((triple4 ((triple2 triple1) -> (rule4 % int3))) -> (rule1 % int2)) triple4) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is not furry.
False
6
inv-proof
[(((((triple4 ((triple4) -> rule2)) -> rule1) triple4) -> rule5) OR ((((triple4 ((triple2 triple1) -> rule4)) -> rule1) triple4) -> rule5))]
("Charlie" "is" "furry" "-")
((((triple4 ((triple4) -> (rule2 % int3))) -> (rule1 % int2)) triple4) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((triple4 ((triple2 triple1) -> (rule4 % int3))) -> (rule1 % int2)) triple4) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
@0: Charlie is cold.[(triple1 OR ((((((triple4 ((triple4) -> rule2)) -> rule1) triple4) -> rule5)) -> rule3))] Charlie is rough.[(triple2)] Charlie is round.[(triple3)] Charlie is white.[(triple4)] Gary is cold.[(triple5 OR ((triple6) -> rule3) OR ((((triple9 triple10) -> rule5)) -> rule3) OR ((((((triple10 triple7) -> rule1) triple10) -> rule5)) -> rule3))] Gary is furry.[(triple6 OR ((triple9 triple10) -> rule5) OR ((((triple10 triple7) -> rule1) triple10) -> rule5))] Gary is red.[(triple7 OR ((triple6 triple10) -> rule6) OR ((((triple9 triple10) -> rule5) triple10) -> rule6))] Gary is round.[(triple8)] Gary is smart.[(triple9 OR ((triple10 triple7) -> rule1) OR ((triple10 ((triple6 triple10) -> rule6)) -> rule1))] Gary is white.[(triple10)] @1: Charlie is red.[(((triple4) -> rule2) OR ((triple2 triple1) -> rule4))] @2: Charlie is smart.[(((triple4 ((triple4) -> rule2)) -> rule1) OR ((triple4 ((triple2 triple1) -> rule4)) -> rule1))] @3: Charlie is furry.[(((((triple4 ((triple4) -> rule2)) -> rule1) triple4) -> rule5) OR ((((triple4 ((triple2 triple1) -> rule4)) -> rule1) triple4) -> rule5))]
Charlie is cold.
("Charlie" "is" "cold" "+")
triple1
((((((triple4 ((triple4) -> (rule2 % int4))) -> (rule1 % int3)) triple4) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is rough.
("Charlie" "is" "rough" "+")
triple2
Charlie is round.
("Charlie" "is" "round" "+")
triple3
Charlie is white.
("Charlie" "is" "white" "+")
triple4
Gary is cold.
("Gary" "is" "cold" "+")
triple5
((triple6) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
((((triple9 triple10) -> (rule5 % int2))) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((((((triple10 triple7) -> (rule1 % int3)) triple10) -> (rule5 % int2))) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
triple6
((triple9 triple10) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((((triple10 triple7) -> (rule1 % int2)) triple10) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
triple7
((triple6 triple10) -> (rule6 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((((triple9 triple10) -> (rule5 % int2)) triple10) -> (rule6 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
triple8
Gary is smart.
("Gary" "is" "smart" "+")
triple9
((triple10 triple7) -> (rule1 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
((triple10 ((triple6 triple10) -> (rule6 % int2))) -> (rule1 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
triple10
Charlie is red.
("Charlie" "is" "red" "+")
((triple4) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple2 triple1) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
((triple4 ((triple4) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((triple4 ((triple2 triple1) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
((((triple4 ((triple4) -> (rule2 % int3))) -> (rule1 % int2)) triple4) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((triple4 ((triple2 triple1) -> (rule4 % int3))) -> (rule1 % int2)) triple4) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3