Anne is big. Anne is blue. Anne is furry. Anne is nice. Anne is red. Anne is rough. Anne is round. Gary is big. Gary is blue. Gary is nice. Gary is red. Gary is rough. All round, rough things are furry. Red, nice things are furry. If something is round then it is blue. If something is nice then it is furry. All blue, furry things are round. All red things are big.
Anne is big.
("Anne" "is" "big" "+")
Anne is blue.
("Anne" "is" "blue" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is round.
("Anne" "is" "round" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is rough.
("Gary" "is" "rough" "+")
All round, rough things are furry.
((("something" "is" "round" "+") ("something" "is" "rough" "+")) -> ("something" "is" "furry" "+"))
Red, nice things are furry.
((("something" "is" "red" "+") ("something" "is" "nice" "+")) -> ("something" "is" "furry" "+"))
If something is round then it is blue.
((("something" "is" "round" "+")) -> ("something" "is" "blue" "+"))
If something is nice then it is furry.
((("something" "is" "nice" "+")) -> ("something" "is" "furry" "+"))
All blue, furry things are round.
((("something" "is" "blue" "+") ("something" "is" "furry" "+")) -> ("something" "is" "round" "+"))
All red things are big.
((("something" "is" "red" "+")) -> ("something" "is" "big" "+"))
Anne is rough.
True
1
proof
[(triple6)]
("Anne" "is" "rough" "+")
triple6
Anne is not red.
False
1
inv-proof
[(triple5)]
("Anne" "is" "red" "-")
triple5
Gary is furry.
True
2
proof
[(((triple10) -> rule4) OR ((triple11 triple10) -> rule2))]
("Gary" "is" "furry" "+")
((triple10) -> (rule4 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((triple11 triple10) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is not furry.
False
2
inv-proof
[(((triple10) -> rule4) OR ((triple11 triple10) -> rule2))]
("Gary" "is" "furry" "-")
((triple10) -> (rule4 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((triple11 triple10) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
@0: Anne is big.[(triple1 OR ((triple5) -> rule6))] Anne is blue.[(triple2 OR ((triple7) -> rule3))] Anne is furry.[(triple3 OR ((triple4) -> rule4) OR ((triple5 triple4) -> rule2) OR ((triple7 triple6) -> rule1))] Anne is nice.[(triple4)] Anne is red.[(triple5)] Anne is rough.[(triple6)] Anne is round.[(triple7 OR ((triple2 triple3) -> rule5) OR ((triple2 ((triple4) -> rule4)) -> rule5) OR ((triple2 ((triple5 triple4) -> rule2)) -> rule5))] Gary is big.[(triple8 OR ((triple11) -> rule6))] Gary is blue.[(triple9)] Gary is nice.[(triple10)] Gary is red.[(triple11)] Gary is rough.[(triple12)] @1: Gary is furry.[(((triple10) -> rule4) OR ((triple11 triple10) -> rule2))] @2: Gary is round.[(((triple9 ((triple10) -> rule4)) -> rule5) OR ((triple9 ((triple11 triple10) -> rule2)) -> rule5))]
Anne is big.
("Anne" "is" "big" "+")
triple1
((triple5) -> (rule6 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
triple2
((triple7) -> (rule3 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
triple3
((triple4) -> (rule4 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((triple5 triple4) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((triple7 triple6) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
triple4
Anne is red.
("Anne" "is" "red" "+")
triple5
Anne is rough.
("Anne" "is" "rough" "+")
triple6
Anne is round.
("Anne" "is" "round" "+")
triple7
((triple2 triple3) -> (rule5 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((triple2 ((triple4) -> (rule4 % int2))) -> (rule5 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
((triple2 ((triple5 triple4) -> (rule2 % int2))) -> (rule5 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
triple8
((triple11) -> (rule6 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
triple9
Gary is nice.
("Gary" "is" "nice" "+")
triple10
Gary is red.
("Gary" "is" "red" "+")
triple11
Gary is rough.
("Gary" "is" "rough" "+")
triple12
Gary is furry.
("Gary" "is" "furry" "+")
((triple10) -> (rule4 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((triple11 triple10) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
((triple9 ((triple10) -> (rule4 % int2))) -> (rule5 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((triple9 ((triple11 triple10) -> (rule2 % int2))) -> (rule5 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2