-1

what is predicate logic of "cats have tails" or "if x is a cat then x has tail"

which one of the following is correct:

  1. cat(x) -> hastail(x)
  2. ∀x cat(x) -> hastail(x)

are both of them correct?

does both make same sense ?

if any of the above statement is wrong please explain it why.

mr_beginner
  • 145
  • 1
  • 9

1 Answers1

1

Consider:

hastail(x) -> x has a tail ; cat(x) -> x is a cat

Now, we want to say that if you pick a random element x, if he is a cat, he will definitely have a tail. In that case the quantifier is ∀ for all of the cats.

And the predicate will be: ∀x: cat(x) -> hastail(x)

Elad Aharon
  • 405
  • 2
  • 18
  • You have to specify the quantifier, I guess you tried to say that there is at least one cat with a tail in that case the right way will be: "∃x: cat(x) ∧ hastail(x)" – Elad Aharon Dec 02 '18 at 21:39
  • 2
    It's all depends on what you want to say, if your statemant points to every cat use "∀", if it's points only for some cats use " ∃". Anyway you must use quantifiers, if you don't use them your statemant is valid only for that specific x so what you wrote originally in 1st says: "for that specific x element, if it's a cat, it has a tail". – Elad Aharon Dec 02 '18 at 21:41