Consider a language of predicate logic with a constant symbol $mcdonald$, with unary predicate symbols $cow$, $farmer$ and $old$, and with a binary predicate symbol $owns$.
Am I correct in my translations of the following sentences into predicate logic with equality, using only the above predicate and constant symbols?
a) McDonald is an old farmer.
My attempt: $farmer(mcdonald) \land old(mcdonald)$
b) All farmers are old.
My attempt: $\forall x (farmer(x) \implies old(x)) $
c) There are no old cows.
My attempt: $\neg \exists x ( cow(x) \land old(x)) $
d) Every farmer owns a cow.
My attempt: $ \forall x(farmer(x) \implies \exists y (cow(y) \land owns(x,y))) $
e) Old farmers only own old cows.
My attempt: $ \forall x(old(x) \land farmer(x) \implies \exists y (cow(y) \land old(y) \land owns(x,y))) $
f) Some old farmers own more than one cow.
My attempt: $\exists x \exists y \exists z(farmer(x) \land cow(y) \land cow(z) \land owns(x,y) \land owns(x,z) \land y \ne z) $
a) through d) are correct!
e) is not right: your statement ends up saying that every old farmer owns an old cow, but that does not rule out that an old farmer can also own a cow that is not old. You need to say that if an old farmer owns any cows, then it is an old cow. (At least, I am guessing that that was intended ... The sentence is a bit ambiguous .. It could also mean: if an old farmer owns anything at all, then it is an old cow ... But I think the first interpretation makes a bit more sense). So:
$\forall x ((farmer(x) \land old(x)) \Rightarrow \forall y ((cow(y) \land owns(x,y)) \Rightarrow old(y)))$
Also, add $old(x)$ to f) ... Otherwise correct.