Anne is big. Anne is furry. Anne is kind. Anne is quiet. Anne is red. Anne is round. Anne is white. Bob is big. Bob is furry. Bob is kind. Bob is quiet. Bob is white. If someone is furry then they are round. Round, quiet people are red. If someone is red and white then they are quiet.
Anne is big.
("Anne" "is" "big" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is white.
("Anne" "is" "white" "+")
Bob is big.
("Bob" "is" "big" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is white.
("Bob" "is" "white" "+")
If someone is furry then they are round.
((("someone" "is" "furry" "+")) -> ("someone" "is" "round" "+"))
Round, quiet people are red.
((("someone" "is" "round" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "red" "+"))
If someone is red and white then they are quiet.
((("someone" "is" "red" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "quiet" "+"))
Anne is white.
True
1
proof
[(triple7)]
("Anne" "is" "white" "+")
triple7
Bob is not quiet.
False
1
inv-proof
[(triple11)]
("Bob" "is" "quiet" "-")
triple11
Bob is round.
True
2
proof
[(((triple9) -> rule1))]
("Bob" "is" "round" "+")
((triple9) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is not round.
False
2
inv-proof
[(((triple9) -> rule1))]
("Bob" "is" "round" "-")
((triple9) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is red.
True
4
proof
[(((((triple9) -> rule1) triple11) -> rule2))]
("Bob" "is" "red" "+")
((((triple9) -> (rule1 % int2)) triple11) -> (rule2 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is not red.
False
4
inv-proof
[(((((triple9) -> rule1) triple11) -> rule2))]
("Bob" "is" "red" "-")
((((triple9) -> (rule1 % int2)) triple11) -> (rule2 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
@0: Anne is big.[(triple1)] Anne is furry.[(triple2)] Anne is kind.[(triple3)] Anne is quiet.[(triple4 OR ((triple5 triple7) -> rule3))] Anne is red.[(triple5 OR ((triple6 triple4) -> rule2) OR ((((triple2) -> rule1) triple4) -> rule2))] Anne is round.[(triple6 OR ((triple2) -> rule1))] Anne is white.[(triple7)] Bob is big.[(triple8)] Bob is furry.[(triple9)] Bob is kind.[(triple10)] Bob is quiet.[(triple11)] Bob is white.[(triple12)] @1: Bob is round.[(((triple9) -> rule1))] @2: Bob is red.[(((((triple9) -> rule1) triple11) -> rule2))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is furry.
("Anne" "is" "furry" "+")
triple2
Anne is kind.
("Anne" "is" "kind" "+")
triple3
Anne is quiet.
("Anne" "is" "quiet" "+")
triple4
((triple5 triple7) -> (rule3 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
triple5
((triple6 triple4) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((((triple2) -> (rule1 % int2)) triple4) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
triple6
((triple2) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
triple7
Bob is big.
("Bob" "is" "big" "+")
triple8
Bob is furry.
("Bob" "is" "furry" "+")
triple9
Bob is kind.
("Bob" "is" "kind" "+")
triple10
Bob is quiet.
("Bob" "is" "quiet" "+")
triple11
Bob is white.
("Bob" "is" "white" "+")
triple12
Bob is round.
("Bob" "is" "round" "+")
((triple9) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
((((triple9) -> (rule1 % int2)) triple11) -> (rule2 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2