Bob is big. Bob is blue. Bob is cold. Bob is quiet. Bob is red. Bob is round. Bob is smart. All quiet things are cold. Blue things are round. All quiet things are cold. If something is big then it is blue. Big things are blue. If Bob is round and Bob is cold then Bob is blue.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
All quiet things are cold.
((("something" "is" "quiet" "+")) -> ("something" "is" "cold" "+"))
Blue things are round.
((("something" "is" "blue" "+")) -> ("something" "is" "round" "+"))
All quiet things are cold.
((("something" "is" "quiet" "+")) -> ("something" "is" "cold" "+"))
If something is big then it is blue.
((("something" "is" "big" "+")) -> ("something" "is" "blue" "+"))
Big things are blue.
((("something" "is" "big" "+")) -> ("something" "is" "blue" "+"))
If Bob is round and Bob is cold then Bob is blue.
((("Bob" "is" "round" "+") ("Bob" "is" "cold" "+")) -> ("Bob" "is" "blue" "+"))
Bob is smart.
True
1
proof
[(triple7)]
("Bob" "is" "smart" "+")
triple7
Bob is not big.
False
1
inv-proof
[(triple1)]
("Bob" "is" "big" "-")
triple1
@0: Bob is big.[(triple1)] Bob is blue.[(triple2 OR ((triple1) -> rule4) OR ((triple1) -> rule5) OR ((triple6 triple3) -> rule6) OR ((triple6 ((triple4) -> rule1)) -> rule6) OR ((triple6 ((triple4) -> rule3)) -> rule6))] Bob is cold.[(triple3 OR ((triple4) -> rule1) OR ((triple4) -> rule3))] Bob is quiet.[(triple4)] Bob is red.[(triple5)] Bob is round.[(triple6 OR ((triple2) -> rule2) OR ((((triple1) -> rule4)) -> rule2) OR ((((triple1) -> rule5)) -> rule2))] Bob is smart.[(triple7)]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
((triple1) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple1) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple6 triple3) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple6 ((triple4) -> (rule1 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((triple6 ((triple4) -> (rule3 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
triple3
((triple4) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((triple4) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
Bob is red.
("Bob" "is" "red" "+")
triple5
Bob is round.
("Bob" "is" "round" "+")
triple6
((triple2) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((triple1) -> (rule5 % int2))) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
triple7