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.