# Help with converting sentences into predicate logic

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)$

$\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.