Charlie is big. Charlie is nice. Charlie is smart. Charlie is young. Erin is big. Erin is blue. Erin is cold. Erin is furry. Erin is smart. Erin is young. Fiona is big. Fiona is blue. Fiona is cold. Fiona is furry. Fiona is smart. Fiona is young. If Fiona is smart then Fiona is furry. Blue, big people are young. All smart, nice people are blue. Young, blue people are big. All blue people are cold. If someone is cold then they are nice. All nice people are blue. If someone is furry and big then they are blue.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Erin is young.
("Erin" "is" "young" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is young.
("Fiona" "is" "young" "+")
If Fiona is smart then Fiona is furry.
((("Fiona" "is" "smart" "+")) -> ("Fiona" "is" "furry" "+"))
Blue, big people are young.
((("someone" "is" "blue" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "young" "+"))
All smart, nice people are blue.
((("someone" "is" "smart" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "blue" "+"))
Young, blue people are big.
((("someone" "is" "young" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "big" "+"))
All blue people are cold.
((("someone" "is" "blue" "+")) -> ("someone" "is" "cold" "+"))
If someone is cold then they are nice.
((("someone" "is" "cold" "+")) -> ("someone" "is" "nice" "+"))
All nice people are blue.
((("someone" "is" "nice" "+")) -> ("someone" "is" "blue" "+"))
If someone is furry and big then they are blue.
((("someone" "is" "furry" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "blue" "+"))
Erin is big.
True
1
proof
[(triple5 OR ((triple10 triple6) -> rule4) OR ((triple10 ((((triple7) -> rule6)) -> rule7)) -> rule4) OR ((triple10 ((triple9 ((triple7) -> rule6)) -> rule3)) -> rule4))]
("Erin" "is" "big" "+")
triple5
((triple10 triple6) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((triple10 ((((triple7) -> (rule6 % int3))) -> (rule7 % int2))) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
((triple10 ((triple9 ((triple7) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Charlie is not big.
False
1
inv-proof
[(triple1 OR ((triple4 ((triple2) -> rule7)) -> rule4) OR ((triple4 ((triple3 triple2) -> rule3)) -> rule4))]
("Charlie" "is" "big" "-")
triple1
((triple4 ((triple2) -> (rule7 % int2))) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((triple4 ((triple3 triple2) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Erin is nice.
True
2
proof
[(((triple7) -> rule6) OR ((((triple6) -> rule5)) -> rule6) OR ((((((triple8 triple5) -> rule8)) -> rule5)) -> rule6))]
("Erin" "is" "nice" "+")
((triple7) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((((triple6) -> (rule5 % int2))) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((((triple8 triple5) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Charlie is not blue.
False
2
inv-proof
[(((triple2) -> rule7) OR ((triple3 triple2) -> rule3))]
("Charlie" "is" "blue" "-")
((triple2) -> (rule7 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((triple3 triple2) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is cold.
True
3
proof
[(((((triple2) -> rule7)) -> rule5) OR ((((triple3 triple2) -> rule3)) -> rule5))]
("Charlie" "is" "cold" "+")
((((triple2) -> (rule7 % int2))) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((triple3 triple2) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is not cold.
False
3
inv-proof
[(((((triple2) -> rule7)) -> rule5) OR ((((triple3 triple2) -> rule3)) -> rule5))]
("Charlie" "is" "cold" "-")
((((triple2) -> (rule7 % int2))) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((triple3 triple2) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
@0: Charlie is big.[(triple1 OR ((triple4 ((triple2) -> rule7)) -> rule4) OR ((triple4 ((triple3 triple2) -> rule3)) -> rule4))] Charlie is nice.[(triple2)] Charlie is smart.[(triple3)] Charlie is young.[(triple4 OR ((((triple2) -> rule7) triple1) -> rule2) OR ((((triple3 triple2) -> rule3) triple1) -> rule2))] Erin is big.[(triple5 OR ((triple10 triple6) -> rule4) OR ((triple10 ((((triple7) -> rule6)) -> rule7)) -> rule4) OR ((triple10 ((triple9 ((triple7) -> rule6)) -> rule3)) -> rule4))] Erin is blue.[(triple6 OR ((triple8 triple5) -> rule8) OR ((((triple7) -> rule6)) -> rule7) OR ((triple9 ((triple7) -> rule6)) -> rule3))] Erin is cold.[(triple7 OR ((triple6) -> rule5) OR ((((triple8 triple5) -> rule8)) -> rule5))] Erin is furry.[(triple8)] Erin is smart.[(triple9)] Erin is young.[(triple10 OR ((triple6 triple5) -> rule2) OR ((((triple8 triple5) -> rule8) triple5) -> rule2) OR ((((((triple7) -> rule6)) -> rule7) triple5) -> rule2) OR ((((triple9 ((triple7) -> rule6)) -> rule3) triple5) -> rule2))] Fiona is big.[(triple11 OR ((triple16 triple12) -> rule4) OR ((triple16 ((((triple13) -> rule6)) -> rule7)) -> rule4) OR ((triple16 ((triple15 ((triple13) -> rule6)) -> rule3)) -> rule4))] Fiona is blue.[(triple12 OR ((triple14 triple11) -> rule8) OR ((((triple13) -> rule6)) -> rule7) OR ((triple15 ((triple13) -> rule6)) -> rule3) OR ((((triple15) -> rule1) triple11) -> rule8))] Fiona is cold.[(triple13 OR ((triple12) -> rule5) OR ((((triple14 triple11) -> rule8)) -> rule5) OR ((((((triple15) -> rule1) triple11) -> rule8)) -> rule5))] Fiona is furry.[(triple14 OR ((triple15) -> rule1))] Fiona is smart.[(triple15)] Fiona is young.[(triple16 OR ((triple12 triple11) -> rule2) OR ((((triple14 triple11) -> rule8) triple11) -> rule2) OR ((((((triple13) -> rule6)) -> rule7) triple11) -> rule2) OR ((((triple15 ((triple13) -> rule6)) -> rule3) triple11) -> rule2) OR ((((((triple15) -> rule1) triple11) -> rule8) triple11) -> rule2))] @1: Charlie is blue.[(((triple2) -> rule7) OR ((triple3 triple2) -> rule3))] Erin is nice.[(((triple7) -> rule6) OR ((((triple6) -> rule5)) -> rule6) OR ((((((triple8 triple5) -> rule8)) -> rule5)) -> rule6))] Fiona is nice.[(((triple13) -> rule6) OR ((((triple12) -> rule5)) -> rule6) OR ((((((triple14 triple11) -> rule8)) -> rule5)) -> rule6) OR ((((((((triple15) -> rule1) triple11) -> rule8)) -> rule5)) -> rule6))] @2: Charlie is cold.[(((((triple2) -> rule7)) -> rule5) OR ((((triple3 triple2) -> rule3)) -> rule5))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
((triple4 ((triple2) -> (rule7 % int2))) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((triple4 ((triple3 triple2) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
triple2
Charlie is smart.
("Charlie" "is" "smart" "+")
triple3
Charlie is young.
("Charlie" "is" "young" "+")
triple4
((((triple2) -> (rule7 % int2)) triple1) -> (rule2 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((triple3 triple2) -> (rule3 % int2)) triple1) -> (rule2 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
triple5
((triple10 triple6) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((triple10 ((((triple7) -> (rule6 % int3))) -> (rule7 % int2))) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
((triple10 ((triple9 ((triple7) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
triple6
((triple8 triple5) -> (rule8 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((((triple7) -> (rule6 % int2))) -> (rule7 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
((triple9 ((triple7) -> (rule6 % int2))) -> (rule3 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
triple7
((triple6) -> (rule5 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((((triple8 triple5) -> (rule8 % int2))) -> (rule5 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
triple8
Erin is smart.
("Erin" "is" "smart" "+")
triple9
Erin is young.
("Erin" "is" "young" "+")
triple10
((triple6 triple5) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((((triple8 triple5) -> (rule8 % int2)) triple5) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((((triple7) -> (rule6 % int3))) -> (rule7 % int2)) triple5) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
((((triple9 ((triple7) -> (rule6 % int3))) -> (rule3 % int2)) triple5) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Fiona is big.
("Fiona" "is" "big" "+")
triple11
((triple16 triple12) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((triple16 ((((triple13) -> (rule6 % int3))) -> (rule7 % int2))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((triple16 ((triple15 ((triple13) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
triple12
((triple14 triple11) -> (rule8 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((((triple13) -> (rule6 % int2))) -> (rule7 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((triple15 ((triple13) -> (rule6 % int2))) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple15) -> (rule1 % int2)) triple11) -> (rule8 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
triple13
((triple12) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((((triple14 triple11) -> (rule8 % int2))) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((((triple15) -> (rule1 % int3)) triple11) -> (rule8 % int2))) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
triple14
((triple15) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
triple15
Fiona is young.
("Fiona" "is" "young" "+")
triple16
((triple12 triple11) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((((triple14 triple11) -> (rule8 % int2)) triple11) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((((triple13) -> (rule6 % int3))) -> (rule7 % int2)) triple11) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((triple15 ((triple13) -> (rule6 % int3))) -> (rule3 % int2)) triple11) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((((triple15) -> (rule1 % int3)) triple11) -> (rule8 % int2)) triple11) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple2) -> (rule7 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((triple3 triple2) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
((triple7) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((((triple6) -> (rule5 % int2))) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((((triple8 triple5) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple13) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((((triple12) -> (rule5 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((((triple14 triple11) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((((((((triple15) -> (rule1 % int4)) triple11) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
int4
Charlie is cold.
("Charlie" "is" "cold" "+")
((((triple2) -> (rule7 % int2))) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((triple3 triple2) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2