Represent in first-order-logic the following sentence

32 Views Asked by At

I have the following sentence:

Everyone loves dogs or hates dogs

Note: love is not the negation of hate.

Is this the right representation?

$$\tag{1} \forall X.\forall Y. (LovesDog(X) \lor HatesDog(Y)) $$

1

There are 1 best solutions below

1
On

No, this is incorrect. For example, consider a world where there are two people, Alice and Bob, where: $$ Alice \mapsto lovesdog \quad bob \mapsto hatesdog $$. In this world, it is false that $\forall X, \forall Y, lovesdog(X) \lor hatesdog(Y)$. Consider the cases: \begin{align*} &X=alice, Y=bob: lovesdog(alice) \lor hatesdog(bob) &= true ~\lor~true = true \\ &X=alice, Y=alice: lovesdog(alice) \lor hatesdog(alice) &= true ~\lor~false = true \\ &X=bob, Y=bob: lovesdog(bob) \lor hatesdog(bob) &= true ~\lor~false = true \\ &X=bob, Y=alice: lovesdog(bob) \lor hatesdog(alice) &= false ~\lor~false = \mathbf{false} \\ \end{align*}

However, it is indeed true that in this world, everyone loves or hates dogs: alices loves dogs, and bob hates dogs.

The correct statement ought to be:

$$ \forall X, lovesdog(X) \lor hatesdog(X) $$ because this is saying "for every person $X$, they either loves dogs or hate them.

The reason your statement is wrong is that it is saying "for every pair of people (X, Y), X loves dogs or Y hates dogs", which is false as we showed.