Charlie is big. Charlie is blue. Charlie is cold. Charlie is green. Charlie is nice. Charlie is red. Charlie is young. If Charlie is blue and Charlie is red then Charlie is young. Red, young people are nice. All nice people are blue. If someone is cold then they are blue. Red, nice people are blue. All young people are red. All cold, young people are nice. If someone is nice then they are cold.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is young.
("Charlie" "is" "young" "+")
If Charlie is blue and Charlie is red then Charlie is young.
((("Charlie" "is" "blue" "+") ("Charlie" "is" "red" "+")) -> ("Charlie" "is" "young" "+"))
Red, young people are nice.
((("someone" "is" "red" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "nice" "+"))
All nice people are blue.
((("someone" "is" "nice" "+")) -> ("someone" "is" "blue" "+"))
If someone is cold then they are blue.
((("someone" "is" "cold" "+")) -> ("someone" "is" "blue" "+"))
Red, nice people are blue.
((("someone" "is" "red" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "blue" "+"))
All young people are red.
((("someone" "is" "young" "+")) -> ("someone" "is" "red" "+"))
All cold, young people are nice.
((("someone" "is" "cold" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "nice" "+"))
If someone is nice then they are cold.
((("someone" "is" "nice" "+")) -> ("someone" "is" "cold" "+"))
Charlie is young.
True
1
proof
[(triple7 OR ((triple2 triple6) -> rule1) OR ((((triple3) -> rule4) triple6) -> rule1) OR ((((triple5) -> rule3) triple6) -> rule1) OR ((((triple6 triple5) -> rule5) triple6) -> rule1) OR ((((((triple5) -> rule8)) -> rule4) triple6) -> rule1))]
("Charlie" "is" "young" "+")
triple7
((triple2 triple6) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((triple3) -> (rule4 % int2)) triple6) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((triple5) -> (rule3 % int2)) triple6) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((triple6 triple5) -> (rule5 % int2)) triple6) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((((triple5) -> (rule8 % int3))) -> (rule4 % int2)) triple6) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is not red.
False
1
inv-proof
[(triple6 OR ((triple7) -> rule6))]
("Charlie" "is" "red" "-")
triple6
((triple7) -> (rule6 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
@0: Charlie is big.[(triple1)] Charlie is blue.[(triple2 OR ((triple3) -> rule4) OR ((triple5) -> rule3) OR ((triple6 triple5) -> rule5) OR ((((triple5) -> rule8)) -> rule4) OR ((((triple3 triple7) -> rule7)) -> rule3) OR ((((triple6 triple7) -> rule2)) -> rule3) OR ((triple6 ((triple3 triple7) -> rule7)) -> rule5) OR ((triple6 ((triple6 triple7) -> rule2)) -> rule5) OR ((((triple7) -> rule6) triple5) -> rule5) OR ((((triple7) -> rule6) ((triple3 triple7) -> rule7)) -> rule5) OR ((((triple7) -> rule6) ((triple6 triple7) -> rule2)) -> rule5) OR ((((((triple6 triple7) -> rule2)) -> rule8)) -> rule4) OR ((((((triple7) -> rule6) triple7) -> rule2)) -> rule3) OR ((triple6 ((((triple7) -> rule6) triple7) -> rule2)) -> rule5) OR ((((triple7) -> rule6) ((((triple7) -> rule6) triple7) -> rule2)) -> rule5) OR ((((((((triple7) -> rule6) triple7) -> rule2)) -> rule8)) -> rule4))] Charlie is cold.[(triple3 OR ((triple5) -> rule8) OR ((((triple6 triple7) -> rule2)) -> rule8) OR ((((triple6 ((triple2 triple6) -> rule1)) -> rule2)) -> rule8) OR ((((((triple7) -> rule6) triple7) -> rule2)) -> rule8) OR ((((((triple7) -> rule6) ((triple2 triple6) -> rule1)) -> rule2)) -> rule8))] Charlie is green.[(triple4)] Charlie is nice.[(triple5 OR ((triple3 triple7) -> rule7) OR ((triple6 triple7) -> rule2) OR ((triple3 ((triple2 triple6) -> rule1)) -> rule7) OR ((triple6 ((triple2 triple6) -> rule1)) -> rule2) OR ((((triple7) -> rule6) triple7) -> rule2) OR ((((triple7) -> rule6) ((triple2 triple6) -> rule1)) -> rule2) OR ((triple3 ((((triple3) -> rule4) triple6) -> rule1)) -> rule7) OR ((triple6 ((((triple3) -> rule4) triple6) -> rule1)) -> rule2) OR ((((triple7) -> rule6) ((((triple3) -> rule4) triple6) -> rule1)) -> rule2))] Charlie is red.[(triple6 OR ((triple7) -> rule6))] Charlie is young.[(triple7 OR ((triple2 triple6) -> rule1) OR ((((triple3) -> rule4) triple6) -> rule1) OR ((((triple5) -> rule3) triple6) -> rule1) OR ((((triple6 triple5) -> rule5) triple6) -> rule1) OR ((((((triple5) -> rule8)) -> rule4) triple6) -> rule1))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
((triple3) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((triple5) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((triple6 triple5) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((((triple5) -> (rule8 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
((((triple3 triple7) -> (rule7 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((((triple6 triple7) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((triple6 ((triple3 triple7) -> (rule7 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((triple6 ((triple6 triple7) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((((triple7) -> (rule6 % int2)) triple5) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((((triple7) -> (rule6 % int3)) ((triple3 triple7) -> (rule7 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((triple7) -> (rule6 % int3)) ((triple6 triple7) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((((triple6 triple7) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
((((((triple7) -> (rule6 % int3)) triple7) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((triple6 ((((triple7) -> (rule6 % int3)) triple7) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((triple7) -> (rule6 % int3)) ((((triple7) -> (rule6 % int3)) triple7) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((((((triple7) -> (rule6 % int4)) triple7) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is cold.
("Charlie" "is" "cold" "+")
triple3
((triple5) -> (rule8 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
((((triple6 triple7) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((((triple6 ((triple2 triple6) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
((((((triple7) -> (rule6 % int3)) triple7) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((((((triple7) -> (rule6 % int4)) ((triple2 triple6) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is green.
("Charlie" "is" "green" "+")
triple4
Charlie is nice.
("Charlie" "is" "nice" "+")
triple5
((triple3 triple7) -> (rule7 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((triple6 triple7) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((triple3 ((triple2 triple6) -> (rule1 % int2))) -> (rule7 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((triple6 ((triple2 triple6) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((triple7) -> (rule6 % int2)) triple7) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((((triple7) -> (rule6 % int3)) ((triple2 triple6) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((triple3 ((((triple3) -> (rule4 % int3)) triple6) -> (rule1 % int2))) -> (rule7 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
((triple6 ((((triple3) -> (rule4 % int3)) triple6) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
((((triple7) -> (rule6 % int4)) ((((triple3) -> (rule4 % int3)) triple6) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is red.
("Charlie" "is" "red" "+")
triple6
((triple7) -> (rule6 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
triple7
((triple2 triple6) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((triple3) -> (rule4 % int2)) triple6) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((triple5) -> (rule3 % int2)) triple6) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((triple6 triple5) -> (rule5 % int2)) triple6) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((((triple5) -> (rule8 % int3))) -> (rule4 % int2)) triple6) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3