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