Charlie is big. Charlie is cold. Charlie is furry. Charlie is green. Charlie is kind. Charlie is red. Charlie is rough. Rough things are big. All big things are rough. If something is big and furry then it is rough. If Charlie is rough and Charlie is red then Charlie is furry. If something is big and rough then it is cold. If something is rough then it is furry. If Charlie is cold then Charlie is furry. If Charlie is kind and Charlie is green then Charlie is cold.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Rough things are big.
((("something" "is" "rough" "+")) -> ("something" "is" "big" "+"))
All big things are rough.
((("something" "is" "big" "+")) -> ("something" "is" "rough" "+"))
If something is big and furry then it is rough.
((("something" "is" "big" "+") ("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
If Charlie is rough and Charlie is red then Charlie is furry.
((("Charlie" "is" "rough" "+") ("Charlie" "is" "red" "+")) -> ("Charlie" "is" "furry" "+"))
If something is big and rough then it is cold.
((("something" "is" "big" "+") ("something" "is" "rough" "+")) -> ("something" "is" "cold" "+"))
If something is rough then it is furry.
((("something" "is" "rough" "+")) -> ("something" "is" "furry" "+"))
If Charlie is cold then Charlie is furry.
((("Charlie" "is" "cold" "+")) -> ("Charlie" "is" "furry" "+"))
If Charlie is kind and Charlie is green then Charlie is cold.
((("Charlie" "is" "kind" "+") ("Charlie" "is" "green" "+")) -> ("Charlie" "is" "cold" "+"))
Charlie is green.
True
1
proof
[(triple4)]
("Charlie" "is" "green" "+")
triple4
Charlie is not furry.
False
1
inv-proof
[(triple3 OR ((triple2) -> rule7) OR ((triple7) -> rule6) OR ((triple7 triple6) -> rule4) OR ((((triple1) -> rule2)) -> rule6) OR ((((triple1 triple7) -> rule5)) -> rule7) OR ((((triple5 triple4) -> rule8)) -> rule7) OR ((((triple1) -> rule2) triple6) -> rule4) OR ((((triple1 ((triple1) -> rule2)) -> rule5)) -> rule7) OR ((((((triple7) -> rule1) triple7) -> rule5)) -> rule7) OR ((((((triple7) -> rule1) ((triple1) -> rule2)) -> rule5)) -> rule7))]
("Charlie" "is" "furry" "-")
triple3
((triple2) -> (rule7 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple7) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple7 triple6) -> (rule4 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((triple1) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((((triple1 triple7) -> (rule5 % int2))) -> (rule7 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
((((triple5 triple4) -> (rule8 % int2))) -> (rule7 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
((((triple1) -> (rule2 % int2)) triple6) -> (rule4 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((((triple1 ((triple1) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
((((((triple7) -> (rule1 % int3)) triple7) -> (rule5 % int2))) -> (rule7 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
((((((triple7) -> (rule1 % int4)) ((triple1) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
@0: Charlie is big.[(triple1 OR ((triple7) -> rule1))] Charlie is cold.[(triple2 OR ((triple1 triple7) -> rule5) OR ((triple5 triple4) -> rule8) OR ((triple1 ((triple1) -> rule2)) -> rule5) OR ((triple1 ((triple1 triple3) -> rule3)) -> rule5) OR ((((triple7) -> rule1) triple7) -> rule5) OR ((((triple7) -> rule1) ((triple1) -> rule2)) -> rule5) OR ((((triple7) -> rule1) ((triple1 triple3) -> rule3)) -> rule5))] Charlie is furry.[(triple3 OR ((triple2) -> rule7) OR ((triple7) -> rule6) OR ((triple7 triple6) -> rule4) OR ((((triple1) -> rule2)) -> rule6) OR ((((triple1 triple7) -> rule5)) -> rule7) OR ((((triple5 triple4) -> rule8)) -> rule7) OR ((((triple1) -> rule2) triple6) -> rule4) OR ((((triple1 ((triple1) -> rule2)) -> rule5)) -> rule7) OR ((((((triple7) -> rule1) triple7) -> rule5)) -> rule7) OR ((((((triple7) -> rule1) ((triple1) -> rule2)) -> rule5)) -> rule7))] Charlie is green.[(triple4)] Charlie is kind.[(triple5)] Charlie is red.[(triple6)] Charlie is rough.[(triple7 OR ((triple1) -> rule2) OR ((triple1 triple3) -> rule3) OR ((triple1 ((triple2) -> rule7)) -> rule3) OR ((triple1 ((((triple5 triple4) -> rule8)) -> rule7)) -> rule3))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
((triple7) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
triple2
((triple1 triple7) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
((triple5 triple4) -> (rule8 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
((triple1 ((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((triple1 ((triple1 triple3) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((((triple7) -> (rule1 % int2)) triple7) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((triple7) -> (rule1 % int3)) ((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
((((triple7) -> (rule1 % int3)) ((triple1 triple3) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is furry.
("Charlie" "is" "furry" "+")
triple3
((triple2) -> (rule7 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple7) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple7 triple6) -> (rule4 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((triple1) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((((triple1 triple7) -> (rule5 % int2))) -> (rule7 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
((((triple5 triple4) -> (rule8 % int2))) -> (rule7 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
((((triple1) -> (rule2 % int2)) triple6) -> (rule4 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((((triple1 ((triple1) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
((((((triple7) -> (rule1 % int3)) triple7) -> (rule5 % int2))) -> (rule7 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
((((((triple7) -> (rule1 % int4)) ((triple1) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
Charlie is green.
("Charlie" "is" "green" "+")
triple4
Charlie is kind.
("Charlie" "is" "kind" "+")
triple5
Charlie is red.
("Charlie" "is" "red" "+")
triple6
Charlie is rough.
("Charlie" "is" "rough" "+")
triple7
((triple1) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((triple1 triple3) -> (rule3 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((triple1 ((triple2) -> (rule7 % int2))) -> (rule3 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((triple1 ((((triple5 triple4) -> (rule8 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3