Charlie is big. Charlie is blue. Charlie is cold. Charlie is furry. Charlie is green. Charlie is nice. Charlie is smart. Dave is big. Dave is blue. Dave is cold. Dave is green. Dave is smart. If Dave is furry then Dave is nice. Cold things are nice. If something is blue and furry then it is smart. If Dave is big and Dave is nice then Dave is furry. Big, nice things are green. If something is big then it is cold.
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 green.
("Charlie" "is" "green" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is smart.
("Dave" "is" "smart" "+")
If Dave is furry then Dave is nice.
((("Dave" "is" "furry" "+")) -> ("Dave" "is" "nice" "+"))
Cold things are nice.
((("something" "is" "cold" "+")) -> ("something" "is" "nice" "+"))
If something is blue and furry then it is smart.
((("something" "is" "blue" "+") ("something" "is" "furry" "+")) -> ("something" "is" "smart" "+"))
If Dave is big and Dave is nice then Dave is furry.
((("Dave" "is" "big" "+") ("Dave" "is" "nice" "+")) -> ("Dave" "is" "furry" "+"))
Big, nice things are green.
((("something" "is" "big" "+") ("something" "is" "nice" "+")) -> ("something" "is" "green" "+"))
If something is big then it is cold.
((("something" "is" "big" "+")) -> ("something" "is" "cold" "+"))
Charlie is furry.
True
1
proof
[(triple4)]
("Charlie" "is" "furry" "+")
triple4
Charlie is not big.
False
1
inv-proof
[(triple1)]
("Charlie" "is" "big" "-")
triple1
Dave is nice.
True
2
proof
[(((triple10) -> rule2) OR ((((triple8) -> rule6)) -> rule2))]
("Dave" "is" "nice" "+")
((triple10) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((((triple8) -> (rule6 % int2))) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is not nice.
False
2
inv-proof
[(((triple10) -> rule2) OR ((((triple8) -> rule6)) -> rule2))]
("Dave" "is" "nice" "-")
((triple10) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((((triple8) -> (rule6 % int2))) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is furry.
True
4
proof
[(((triple8 ((triple10) -> rule2)) -> rule4) OR ((triple8 ((((triple8) -> rule6)) -> rule2)) -> rule4))]
("Dave" "is" "furry" "+")
((triple8 ((triple10) -> (rule2 % int2))) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
((triple8 ((((triple8) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is not furry.
False
4
inv-proof
[(((triple8 ((triple10) -> rule2)) -> rule4) OR ((triple8 ((((triple8) -> rule6)) -> rule2)) -> rule4))]
("Dave" "is" "furry" "-")
((triple8 ((triple10) -> (rule2 % int2))) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
((triple8 ((((triple8) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
@0: Charlie is big.[(triple1)] Charlie is blue.[(triple2)] Charlie is cold.[(triple3 OR ((triple1) -> rule6))] Charlie is furry.[(triple4)] Charlie is green.[(triple5 OR ((triple1 triple6) -> rule5) OR ((triple1 ((triple3) -> rule2)) -> rule5) OR ((triple1 ((((triple1) -> rule6)) -> rule2)) -> rule5))] Charlie is nice.[(triple6 OR ((triple3) -> rule2) OR ((((triple1) -> rule6)) -> rule2))] Charlie is smart.[(triple7 OR ((triple2 triple4) -> rule3))] Dave is big.[(triple8)] Dave is blue.[(triple9)] Dave is cold.[(triple10 OR ((triple8) -> rule6))] Dave is green.[(triple11 OR ((triple8 ((triple10) -> rule2)) -> rule5) OR ((triple8 ((((triple8) -> rule6)) -> rule2)) -> rule5))] Dave is smart.[(triple12 OR ((triple9 ((triple8 ((triple10) -> rule2)) -> rule4)) -> rule3) OR ((triple9 ((triple8 ((((triple8) -> rule6)) -> rule2)) -> rule4)) -> rule3))] @1: Dave is nice.[(((triple10) -> rule2) OR ((((triple8) -> rule6)) -> rule2))] @2: Dave is furry.[(((triple8 ((triple10) -> rule2)) -> rule4) OR ((triple8 ((((triple8) -> rule6)) -> rule2)) -> rule4))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
Charlie is cold.
("Charlie" "is" "cold" "+")
triple3
((triple1) -> (rule6 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple4
Charlie is green.
("Charlie" "is" "green" "+")
triple5
((triple1 triple6) -> (rule5 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
((triple1 ((triple3) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((triple1 ((((triple1) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
triple6
((triple3) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((((triple1) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
triple7
((triple2 triple4) -> (rule3 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
triple8
Dave is blue.
("Dave" "is" "blue" "+")
triple9
Dave is cold.
("Dave" "is" "cold" "+")
triple10
((triple8) -> (rule6 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
triple11
((triple8 ((triple10) -> (rule2 % int2))) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
((triple8 ((((triple8) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
triple12
((triple9 ((triple8 ((triple10) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
((triple9 ((triple8 ((((triple8) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is nice.
("Dave" "is" "nice" "+")
((triple10) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((((triple8) -> (rule6 % int2))) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
((triple8 ((triple10) -> (rule2 % int2))) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
((triple8 ((((triple8) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3