Anne is cold. Anne is furry. Anne is kind. Anne is rough. Anne is round. Anne is smart. Anne is young. Bob is cold. Bob is furry. Bob is kind. Bob is rough. Bob is round. Bob is smart. Bob is young. Kind, round things are cold. If something is young then it is furry. All smart things are rough. Round things are furry. Kind, furry things are young. If Anne is furry and Anne is round then Anne is kind.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is young.
("Anne" "is" "young" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is young.
("Bob" "is" "young" "+")
Kind, round things are cold.
((("something" "is" "kind" "+") ("something" "is" "round" "+")) -> ("something" "is" "cold" "+"))
If something is young then it is furry.
((("something" "is" "young" "+")) -> ("something" "is" "furry" "+"))
All smart things are rough.
((("something" "is" "smart" "+")) -> ("something" "is" "rough" "+"))
Round things are furry.
((("something" "is" "round" "+")) -> ("something" "is" "furry" "+"))
Kind, furry things are young.
((("something" "is" "kind" "+") ("something" "is" "furry" "+")) -> ("something" "is" "young" "+"))
If Anne is furry and Anne is round then Anne is kind.
((("Anne" "is" "furry" "+") ("Anne" "is" "round" "+")) -> ("Anne" "is" "kind" "+"))
Anne is kind.
True
1
proof
[(triple3 OR ((triple2 triple5) -> rule6) OR ((((triple5) -> rule4) triple5) -> rule6) OR ((((triple7) -> rule2) triple5) -> rule6))]
("Anne" "is" "kind" "+")
triple3
((triple2 triple5) -> (rule6 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((((triple5) -> (rule4 % int2)) triple5) -> (rule6 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
((((triple7) -> (rule2 % int2)) triple5) -> (rule6 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is not kind.
False
1
inv-proof
[(triple3 OR ((triple2 triple5) -> rule6) OR ((((triple5) -> rule4) triple5) -> rule6) OR ((((triple7) -> rule2) triple5) -> rule6))]
("Anne" "is" "kind" "-")
triple3
((triple2 triple5) -> (rule6 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((((triple5) -> (rule4 % int2)) triple5) -> (rule6 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
((((triple7) -> (rule2 % int2)) triple5) -> (rule6 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
@0: Anne is cold.[(triple1 OR ((triple3 triple5) -> rule1) OR ((((triple2 triple5) -> rule6) triple5) -> rule1) OR ((((((triple5) -> rule4) triple5) -> rule6) triple5) -> rule1) OR ((((((triple7) -> rule2) triple5) -> rule6) triple5) -> rule1))] Anne is furry.[(triple2 OR ((triple5) -> rule4) OR ((triple7) -> rule2))] Anne is kind.[(triple3 OR ((triple2 triple5) -> rule6) OR ((((triple5) -> rule4) triple5) -> rule6) OR ((((triple7) -> rule2) triple5) -> rule6))] Anne is rough.[(triple4 OR ((triple6) -> rule3))] Anne is round.[(triple5)] Anne is smart.[(triple6)] Anne is young.[(triple7 OR ((triple3 triple2) -> rule5) OR ((triple3 ((triple5) -> rule4)) -> rule5) OR ((((triple2 triple5) -> rule6) triple2) -> rule5) OR ((((triple2 triple5) -> rule6) ((triple5) -> rule4)) -> rule5) OR ((((((triple5) -> rule4) triple5) -> rule6) triple2) -> rule5) OR ((((((triple5) -> rule4) triple5) -> rule6) ((triple5) -> rule4)) -> rule5))] Bob is cold.[(triple8 OR ((triple10 triple12) -> rule1))] Bob is furry.[(triple9 OR ((triple12) -> rule4) OR ((triple14) -> rule2))] Bob is kind.[(triple10)] Bob is rough.[(triple11 OR ((triple13) -> rule3))] Bob is round.[(triple12)] Bob is smart.[(triple13)] Bob is young.[(triple14 OR ((triple10 triple9) -> rule5) OR ((triple10 ((triple12) -> rule4)) -> rule5))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
((triple3 triple5) -> (rule1 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
((((triple2 triple5) -> (rule6 % int2)) triple5) -> (rule1 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
((((((triple5) -> (rule4 % int3)) triple5) -> (rule6 % int2)) triple5) -> (rule1 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
((((((triple7) -> (rule2 % int3)) triple5) -> (rule6 % int2)) triple5) -> (rule1 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
triple2
((triple5) -> (rule4 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((triple7) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
triple3
((triple2 triple5) -> (rule6 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((((triple5) -> (rule4 % int2)) triple5) -> (rule6 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
((((triple7) -> (rule2 % int2)) triple5) -> (rule6 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
triple4
((triple6) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
triple5
Anne is smart.
("Anne" "is" "smart" "+")
triple6
Anne is young.
("Anne" "is" "young" "+")
triple7
((triple3 triple2) -> (rule5 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
((triple3 ((triple5) -> (rule4 % int2))) -> (rule5 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
((((triple2 triple5) -> (rule6 % int2)) triple2) -> (rule5 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
((((triple2 triple5) -> (rule6 % int3)) ((triple5) -> (rule4 % int2))) -> (rule5 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
((((((triple5) -> (rule4 % int3)) triple5) -> (rule6 % int2)) triple2) -> (rule5 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
((((((triple5) -> (rule4 % int3)) triple5) -> (rule6 % int2)) ((triple5) -> (rule4 % int3))) -> (rule5 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
triple8
((triple10 triple12) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
triple9
((triple12) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((triple14) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
triple10
Bob is rough.
("Bob" "is" "rough" "+")
triple11
((triple13) -> (rule3 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
triple12
Bob is smart.
("Bob" "is" "smart" "+")
triple13
Bob is young.
("Bob" "is" "young" "+")
triple14
((triple10 triple9) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((triple10 ((triple12) -> (rule4 % int2))) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2