Good morning all, please help me in translating in FOL this sentence

"Between all the animals, Paul loves all tigers and no lions"

Which one is correct?

1) $\forall x$ Animal(x) $\Rightarrow$ (Loves(Paul,x)$\Rightarrow$($\neg$ Lion(x) $\land$ Tiger(x))

2)$\forall x$ Animal(x) $\Rightarrow$ ((Lion(x) $\Rightarrow$ $\neg$Loves(Paul,x)) $\land$(Tiger(x) $\Rightarrow$ Loves(Paul,x))

3)$\forall x$ (Animal(x) $\Rightarrow$ (Tiger(x) $\Rightarrow$ Loves(Paul,x))

I would think that is the second one but i rode somewhere that this form where predicates are replicated twice negated is not so good. So for exclusion it might be the 1).

Actually the first one use Loves as premise, instead the second one use it as conclusion !

Am i right?



1 Answer 1


You're right that the second option is the best representation of the English sentence. There's nothing wrong with mentioning a predicate twice. (One could argue that it is more elegant if you can find a way to mention it only once, but there doesn't seem to be any way to do this here).

The first one would be true even if Paul loves nothing (not even the tigers), and therefore does not represent your goal sentence.

The last one would be true even if Paul loves everything, including the lions.

  • $\begingroup$ Thanks. Why you say that 1) is true even if x is whatever animal? Because the Loves predicate is before the control? I mean, love must be always a conclusion in order to be sure that x is not a Lion or a Tiger? $\endgroup$ Commented Oct 1, 2017 at 10:55
  • $\begingroup$ @ZhaledAsufian: If $\mathit{Loves}(\cdots)$ is always false, then $\mathit{Loves}(\cdots)\Rightarrow\cdots$ is always true, and then $\cdots\Rightarrow(\mathit{Loves}(\cdots)\Rightarrow\cdots)$ is always true too. Check the truth table for $\Rightarrow$. $\endgroup$ Commented Oct 1, 2017 at 12:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .