[Math] First Order Logic Question – “All cats either love or hate dogs.”

first-order-logiclogicnotation

Given the following set of predicates:

$$\{cat(x), dog(x), love(x, y), hate(x, y)\}$$

How would you transform the following English statement into First Order Logic…

Statement: "All cats either love or hate dogs."

I came up with two possible ways to represent the statement, I am leaning towards the first, but I can also see the second being correct. Can someone give me some reasoning why one would be more correct than the other?

$$ \forall x \forall y (cat(x) \implies dog(y) \land [love(x, y) \lor hate(x, y)]) $$

$$ \forall x \forall y (cat(x) \land dog(y) \implies [love(x,y) \lor hate(x,y)])$$

Best Answer

Neither of your suggestions captures the meaning I get from the original sentence.

However, the second one is the most wrong. It will be true as soon as there exists anything that is not a dog. Namely, no matter what $x$ is, you can choose the non-dog to be $y$, and then ${\rm cat}(x)\land{\rm dog}(y)$ will be false, which automatically makes the entire implication true.

The first one is better, but what it says is that every cat either loves or hates some dog. I would understand the sentence in the problem as saying that every cat belongs to one of two types: those that hate all dogs, and those that love all dogs. And that's not what your suggestion expresses.

Related Question