Bob is big. Bob is cold. Bob is furry. Bob is nice. Bob is rough. Bob is round. Bob is white. Harry is big. Harry is cold. Harry is furry. Harry is nice. Harry is rough. Harry is round. Harry is white. Nice, white people are cold. If someone is round then they are rough. Furry, white people are round.
Bob is big.
("Bob" "is" "big" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is white.
("Bob" "is" "white" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is white.
("Harry" "is" "white" "+")
Nice, white people are cold.
((("someone" "is" "nice" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "cold" "+"))
If someone is round then they are rough.
((("someone" "is" "round" "+")) -> ("someone" "is" "rough" "+"))
Furry, white people are round.
((("someone" "is" "furry" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "round" "+"))
Harry is round.
True
1
proof
[(triple13 OR ((triple10 triple14) -> rule3))]
("Harry" "is" "round" "+")
triple13
((triple10 triple14) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is not round.
False
1
inv-proof
[(triple13 OR ((triple10 triple14) -> rule3))]
("Harry" "is" "round" "-")
triple13
((triple10 triple14) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
@0: Bob is big.[(triple1)] Bob is cold.[(triple2 OR ((triple4 triple7) -> rule1))] Bob is furry.[(triple3)] Bob is nice.[(triple4)] Bob is rough.[(triple5 OR ((triple6) -> rule2) OR ((((triple3 triple7) -> rule3)) -> rule2))] Bob is round.[(triple6 OR ((triple3 triple7) -> rule3))] Bob is white.[(triple7)] Harry is big.[(triple8)] Harry is cold.[(triple9 OR ((triple11 triple14) -> rule1))] Harry is furry.[(triple10)] Harry is nice.[(triple11)] Harry is rough.[(triple12 OR ((triple13) -> rule2) OR ((((triple10 triple14) -> rule3)) -> rule2))] Harry is round.[(triple13 OR ((triple10 triple14) -> rule3))] Harry is white.[(triple14)]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is cold.
("Bob" "is" "cold" "+")
triple2
((triple4 triple7) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
triple3
Bob is nice.
("Bob" "is" "nice" "+")
triple4
Bob is rough.
("Bob" "is" "rough" "+")
triple5
((triple6) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((((triple3 triple7) -> (rule3 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
triple6
((triple3 triple7) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
triple7
Harry is big.
("Harry" "is" "big" "+")
triple8
Harry is cold.
("Harry" "is" "cold" "+")
triple9
((triple11 triple14) -> (rule1 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
triple10
Harry is nice.
("Harry" "is" "nice" "+")
triple11
Harry is rough.
("Harry" "is" "rough" "+")
triple12
((triple13) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((((triple10 triple14) -> (rule3 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
triple13
((triple10 triple14) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
triple14