Assuming the statements "If Alice owns a cat, she doesn't own a dog".
Would the following translation be fine?
O(A,C) IMPLY NOT O(A,D)
Where O(X,Y) implies X owns Y, A = Alice, C = Cat, D = Dog?
The answer from the book wants the predicates to be A(X), C(X), D(X), and the statement to begin with "For all X such that O(A(X), C(X)"... But I'm not sure about this. Alice is one person, so the phrase "For all X such that X is Alice" wouldn't make much sense, wouldn't it be possible to define Alice as "A"?
It would be fine, I think, to use $A$ as a constant (I'll use $a$). And we can certainly use $O(x, y)$ to mean that $x$ owns $y$. But we do need additional predicates $C(x)\;:$"x is a cat" and $\;D(x)\;:\;$ "x is a dog" because we are not naming some particular cat or dog.
And we need to variables over which we need to quantify and about which we want to predicate.
$$\forall x((C(x) \land O(a, x))\rightarrow \lnot \exists y(D(y) \land O(a,y)))$$