Hi! Need help for writing a predicate logic statement

64 Views Asked by At

Question to write three predicate logic statements according to the claim below:

  1. All tigers are liked by some lion. My answer: ∀x, ∃y s.t Tiger(x) ^ Lion(y) -> Likes(x, y)

  2. No lion likes a herbivore. My answer: ∀x, Lion(x) -> ~ Likes(herbivore)

  3. Therefore, no tiger is a herbivore. My answer: ∀x, Tiger(x) ^ ~Herbivore(x)

Firstly, I'm not sure if I'm allowed to create a "Likes()" function, and secondly not sure if "Likes(herbivore)" is allowed as well

I'm really bad at discrete math so hoping if someone could tell me if I'm wrong anywhere :)

Could I also get help in writing a proof for the claim? Thank you!

If it's not too much trouble, solutions with explanations would be great as I always find it hard to understand without solutions for comparison :/

1

There are 1 best solutions below

4
On BEST ANSWER
  1. All tigers are liked by some lion. My answer: $∀x, ∃y: Tiger(x) \land Lion(y)\implies Likes(x, y)$

Wrong. The original sentence, "All tigers are liked by some lion", would be false in a world where no lions existed. Your formulation of the sentence would also be true in a world where no lions existed, since $Tiger(x)\land Lion(y)$ would always be false. Instead of $\implies$, try writing some other logical operator.


  1. No lion likes a herbivore. My answer: $∀x, Lion(x)\implies\neg Likes(herbivore)$

This is not OK, because the predicate $Likes$ is a predicate with two arguments, not just one. Also, herbivore is a predicate, so it should be $Likes(\_\_, herbivore(\_))$ with something written on the lines.


Therefore, no tiger is a herbivore. My answer: $∀x, Tiger(x) \land \neg Herbivore(x)$

Your answer reads as follows:

All things are tigers and not herbivores.

I trust you understand this is different from the intended meaning.