Dave is cold. Dave is furry. Dave is kind. Dave is rough. Dave is round. Dave is smart. Dave is young. If Dave is kind and Dave is furry then Dave is rough. If someone is cold and not young then they are kind. All kind people are smart.
Dave is cold.
("Dave" "is" "cold" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Dave is young.
("Dave" "is" "young" "+")
If Dave is kind and Dave is furry then Dave is rough.
((("Dave" "is" "kind" "+") ("Dave" "is" "furry" "+")) -> ("Dave" "is" "rough" "+"))
If someone is cold and not young then they are kind.
((("someone" "is" "cold" "+") ("someone" "is" "young" "~")) -> ("someone" "is" "kind" "+"))
All kind people are smart.
((("someone" "is" "kind" "+")) -> ("someone" "is" "smart" "+"))
Dave is kind.
True
1
proof
[(triple3)]
("Dave" "is" "kind" "+")
triple3
Dave is not cold.
False
1
inv-proof
[(triple1)]
("Dave" "is" "cold" "-")
triple1
@0: Dave is cold.[(triple1)] Dave is furry.[(triple2)] Dave is kind.[(triple3)] Dave is rough.[(triple4 OR ((triple3 triple2) -> rule1))] Dave is round.[(triple5)] Dave is smart.[(triple6 OR ((triple3) -> rule3))] Dave is young.[(triple7)]
Dave is cold.
("Dave" "is" "cold" "+")
triple1
Dave is furry.
("Dave" "is" "furry" "+")
triple2
Dave is kind.
("Dave" "is" "kind" "+")
triple3
Dave is rough.
("Dave" "is" "rough" "+")
triple4
((triple3 triple2) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
triple5
Dave is smart.
("Dave" "is" "smart" "+")
triple6
((triple3) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
triple7