Is this the correct way to translate “no two robots love exactly the same set of cats.” to first-order logic?
$$\forall r_1 \forall c (\text{Robot}(r) \land \text{Cat}(c) \land \text{Loves}(r, c)) \rightarrow \\ \forall r_2 (\text{Robot}(r_2) \land r_1 \ne r_2 \rightarrow \lnot \text{Loves}(r_2, c))$$
Edit: revised answer based on Owen Biesel's feedback.
∀c ∈ C. (Cat(c) →
∀r. ∀s ∈ ℘(C). (Robot(r) ∧ Loves(r, s) →
∀x. (Robot(x) ∧ x ≠ r → ¬Loves(x, s))
)
)
Edit 2: clarify what ℘(C) means.
If C is a set, then ℘(C) is the power set of C.
Edit 3: One more try
∀r. ∀x. (x ≠ r ∧ Robot(r) ∧ Robot(x) →
∃c. (Cat(c) ∧ Loves(r, c) ∧ ¬Loves(x, c))
)
Edit 4:
∀r1. ∀r2. ∃c1. (r1 ≠ r2 ∧ Robot(r1) ∧ Robot(r2) ∧ Cat(c1) ∧ Loves(r1, c1) ∧ Loves(r2, c1)) →
∃c2. (c1 ≠ c2 ∧ Cat(c2) ∧
((Loves(r1, c2) ∧ ¬Loves(r2, c2)) ∨ (Loves(r2, c2) ∧ ¬Loves(r2, c2)))
)
)