How to convert following statement into predicate logic?

1)"Only dogs are mammals"
2)"Any dog is a mammal"

Is there a difference between "Any dog is a mammal" and "All dogs are mammals" fro the view point of first order logic?

  • 1
    $\begingroup$ "Only dogs are mammals" becomes "every mammal is a dog." $\endgroup$ Apr 14 '14 at 14:13

The first is claiming that of all possible things or creatures, only dogs are mammals (I.e., anything other than a dog is not a mammal. I.e. all mammals are dogs.)

The second is indeed equivalent to "All dogs are mammals": i.e. "Considering all creatures, if any of them is a dog, then it is a mammal."

The second (unlike the first) does NOT rule out the fact that there may be non-dog creatures that are also mammals.

  • $\begingroup$ So here are my answers. Am I correct? 1)∀x (mammmal(x) -> dog(x) ) 2)∀x (dog(x) -> mammal(x) ) $\endgroup$ Apr 14 '14 at 14:20
  • $\begingroup$ Yes, that's correct! $\endgroup$
    – amWhy
    Apr 14 '14 at 14:22
  • 2
    $\begingroup$ One has to be careful with "any". In ordinary mathematical English, it can sometimes mean "some" and sometimes mean "all". See math.stackexchange.com/a/509828/630 and the comments below it for some examples. $\endgroup$ Apr 14 '14 at 19:13
  • $\begingroup$ E.g. "My plan will handle animals in the zoo that are not striped. So if no animal in the zoo is striped, I am fine. But if any animal in the zoo is striped, my plan will fail." - in this sentence, "any animal in the zoo" is an existential quantifier, not a universal quantifier. $\endgroup$ Apr 14 '14 at 19:15
  • $\begingroup$ Good points, @CarlMummert. Thanks for pointing out the caution (and knowledge of context) needed when handling "any". $\endgroup$
    – amWhy
    Apr 14 '14 at 19:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.