Harry is cold. Harry is furry. Harry is kind. Harry is nice. Harry is red. Harry is round. Harry is white. Cold things are round. If something is nice and not kind then it is cold. If Harry is round and Harry is white then Harry is cold. If Harry is not kind and Harry is not nice then Harry is cold. All nice things are white. Cold things are white. If something is round and not kind then it is white. If something is white and not round then it is red.
Harry is cold.
("Harry" "is" "cold" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is white.
("Harry" "is" "white" "+")
Cold things are round.
((("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
If something is nice and not kind then it is cold.
((("something" "is" "nice" "+") ("something" "is" "kind" "~")) -> ("something" "is" "cold" "+"))
If Harry is round and Harry is white then Harry is cold.
((("Harry" "is" "round" "+") ("Harry" "is" "white" "+")) -> ("Harry" "is" "cold" "+"))
If Harry is not kind and Harry is not nice then Harry is cold.
((("Harry" "is" "kind" "~") ("Harry" "is" "nice" "~")) -> ("Harry" "is" "cold" "+"))
All nice things are white.
((("something" "is" "nice" "+")) -> ("something" "is" "white" "+"))
Cold things are white.
((("something" "is" "cold" "+")) -> ("something" "is" "white" "+"))
If something is round and not kind then it is white.
((("something" "is" "round" "+") ("something" "is" "kind" "~")) -> ("something" "is" "white" "+"))
If something is white and not round then it is red.
((("something" "is" "white" "+") ("something" "is" "round" "~")) -> ("something" "is" "red" "+"))
Harry is cold.
True
1
proof
[(triple1 OR ((triple6 triple7) -> rule3) OR ((triple6 ((triple4) -> rule5)) -> rule3))]
("Harry" "is" "cold" "+")
triple1
((triple6 triple7) -> (rule3 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
((triple6 ((triple4) -> (rule5 % int2))) -> (rule3 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is not furry.
False
1
inv-proof
[(triple2)]
("Harry" "is" "furry" "-")
triple2
@0: Harry is cold.[(triple1 OR ((triple6 triple7) -> rule3) OR ((triple6 ((triple4) -> rule5)) -> rule3))] Harry is furry.[(triple2)] Harry is kind.[(triple3)] Harry is nice.[(triple4)] Harry is red.[(triple5)] Harry is round.[(triple6 OR ((triple1) -> rule1))] Harry is white.[(triple7 OR ((triple1) -> rule6) OR ((triple4) -> rule5))]
Harry is cold.
("Harry" "is" "cold" "+")
triple1
((triple6 triple7) -> (rule3 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
((triple6 ((triple4) -> (rule5 % int2))) -> (rule3 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
triple2
Harry is kind.
("Harry" "is" "kind" "+")
triple3
Harry is nice.
("Harry" "is" "nice" "+")
triple4
Harry is red.
("Harry" "is" "red" "+")
triple5
Harry is round.
("Harry" "is" "round" "+")
triple6
((triple1) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
triple7
((triple1) -> (rule6 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
((triple4) -> (rule5 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1