Bob is big. Bob is blue. Bob is cold. Bob is kind. Bob is red. Bob is round. Bob is smart. Charlie is big. Charlie is blue. Charlie is cold. Charlie is kind. Charlie is red. Charlie is round. Charlie is smart. If Charlie is cold then Charlie is blue. If someone is smart then they are blue. Cold people are big. Smart people are kind. If someone is smart then they are round. If someone is big and cold then they are smart.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
If Charlie is cold then Charlie is blue.
((("Charlie" "is" "cold" "+")) -> ("Charlie" "is" "blue" "+"))
If someone is smart then they are blue.
((("someone" "is" "smart" "+")) -> ("someone" "is" "blue" "+"))
Cold people are big.
((("someone" "is" "cold" "+")) -> ("someone" "is" "big" "+"))
Smart people are kind.
((("someone" "is" "smart" "+")) -> ("someone" "is" "kind" "+"))
If someone is smart then they are round.
((("someone" "is" "smart" "+")) -> ("someone" "is" "round" "+"))
If someone is big and cold then they are smart.
((("someone" "is" "big" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "smart" "+"))
Bob is cold.
True
1
proof
[(triple3)]
("Bob" "is" "cold" "+")
triple3
Bob is not kind.
False
1
inv-proof
[(triple4 OR ((triple7) -> rule4) OR ((((triple1 triple3) -> rule6)) -> rule4) OR ((((((triple3) -> rule3) triple3) -> rule6)) -> rule4))]
("Bob" "is" "kind" "-")
triple4
((triple7) -> (rule4 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
((((triple1 triple3) -> (rule6 % int2))) -> (rule4 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((((triple3) -> (rule3 % int3)) triple3) -> (rule6 % int2))) -> (rule4 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
@0: Bob is big.[(triple1 OR ((triple3) -> rule3))] Bob is blue.[(triple2 OR ((triple7) -> rule2) OR ((((triple1 triple3) -> rule6)) -> rule2) OR ((((((triple3) -> rule3) triple3) -> rule6)) -> rule2))] Bob is cold.[(triple3)] Bob is kind.[(triple4 OR ((triple7) -> rule4) OR ((((triple1 triple3) -> rule6)) -> rule4) OR ((((((triple3) -> rule3) triple3) -> rule6)) -> rule4))] Bob is red.[(triple5)] Bob is round.[(triple6 OR ((triple7) -> rule5) OR ((((triple1 triple3) -> rule6)) -> rule5) OR ((((((triple3) -> rule3) triple3) -> rule6)) -> rule5))] Bob is smart.[(triple7 OR ((triple1 triple3) -> rule6) OR ((((triple3) -> rule3) triple3) -> rule6))] Charlie is big.[(triple8 OR ((triple10) -> rule3))] Charlie is blue.[(triple9 OR ((triple10) -> rule1) OR ((triple14) -> rule2) OR ((((triple8 triple10) -> rule6)) -> rule2) OR ((((((triple10) -> rule3) triple10) -> rule6)) -> rule2))] Charlie is cold.[(triple10)] Charlie is kind.[(triple11 OR ((triple14) -> rule4) OR ((((triple8 triple10) -> rule6)) -> rule4) OR ((((((triple10) -> rule3) triple10) -> rule6)) -> rule4))] Charlie is red.[(triple12)] Charlie is round.[(triple13 OR ((triple14) -> rule5) OR ((((triple8 triple10) -> rule6)) -> rule5) OR ((((((triple10) -> rule3) triple10) -> rule6)) -> rule5))] Charlie is smart.[(triple14 OR ((triple8 triple10) -> rule6) OR ((((triple10) -> rule3) triple10) -> rule6))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple3) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
((triple7) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple1 triple3) -> (rule6 % int2))) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((((triple3) -> (rule3 % int3)) triple3) -> (rule6 % int2))) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
triple3
Bob is kind.
("Bob" "is" "kind" "+")
triple4
((triple7) -> (rule4 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
((((triple1 triple3) -> (rule6 % int2))) -> (rule4 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((((triple3) -> (rule3 % int3)) triple3) -> (rule6 % int2))) -> (rule4 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
triple5
Bob is round.
("Bob" "is" "round" "+")
triple6
((triple7) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((((triple1 triple3) -> (rule6 % int2))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((((triple3) -> (rule3 % int3)) triple3) -> (rule6 % int2))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
triple7
((triple1 triple3) -> (rule6 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
((((triple3) -> (rule3 % int2)) triple3) -> (rule6 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
triple8
((triple10) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple9
((triple10) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((triple14) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((((triple8 triple10) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
((((((triple10) -> (rule3 % int3)) triple10) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
triple10
Charlie is kind.
("Charlie" "is" "kind" "+")
triple11
((triple14) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((((triple8 triple10) -> (rule6 % int2))) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
((((((triple10) -> (rule3 % int3)) triple10) -> (rule6 % int2))) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
triple12
Charlie is round.
("Charlie" "is" "round" "+")
triple13
((triple14) -> (rule5 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((((triple8 triple10) -> (rule6 % int2))) -> (rule5 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
((((((triple10) -> (rule3 % int3)) triple10) -> (rule6 % int2))) -> (rule5 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is smart.
("Charlie" "is" "smart" "+")
triple14
((triple8 triple10) -> (rule6 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
((((triple10) -> (rule3 % int2)) triple10) -> (rule6 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2