# Checking translations of predicate logic

Let Dx = "x is a detective", U12 = "1 is the uncle of 2", and appropriate lowercase letters for names.

1. If there are any detectives, John is the only detective.
2. No detective is John's uncle.

My attempts:

1. ∃x(Dx ∧ (Dj ∧ ∀y (Dy → y=j)) ∧ x=y). I know this isn't correct, because it doesn't take the if/then form. But my thought process is the following, which seems to capture what the sentence is saying? There is at least one x such that: (i) x is a detective, (ii) John is a detective, and for all y, if y is a detective, y is John, and (iii) x is y (and thus is John). Am I at least on the right track here?

2. ¬∃x (Dx ∧ Uxj). I'm thinking: There is no x such that x is a detective and x is the uncle of John.

• #2 looks right. For #1, why isn't "∀y (Dy → y=j)" sufficient as a translation? I don't see why you need all the other stuff nested around it, and this version allows for the possibility that there are no detectives, or that there is one detective and that detective is John (and it seems to me that it forbids more than one detective, because j refers to a unique singular object in this domain of discourse, so there can't be multiple distinct objects, say a pair of them labeled a and b, with the property that a=j and b=j) Commented Jul 22, 2021 at 4:11
• @Hypnosifl "For all persons: if that person is a detective, then that person is John" is exactly that "If a person is a detective, then John is the only detective." Commented Jul 22, 2021 at 4:53
• Thanks for replying, Hypnosifl, and for further clarifying, Graham. For #1, I got thrown off by the "any" and the if/then form, and thought the translation would need to have two parts while trying to keep the ∧ for the ∃x. Commented Jul 22, 2021 at 7:30

∃x(Dx ∧ (Dj ∧ ∀y (Dy → y=j)) ∧ x=y). I know this isn't correct,

Indeed, it is not. You want the existence to be the antecedent of the conditional, with the consequent being the declaration that John is a detective and that if anybody is a detective then they are John. There is no need to attempt to link the existential' and the universal's variable.

(∃x Dx) → (Dj ∧ ∀y (Dy → y=j))

This will satisfied should there be no detectives, or else should John be the one and only detective.

This is now correct, but inelegant.

As Hypnosifl commented, this is equivalent to saying "For anybody: if they are a detective, then they are John."

∀y (Dy → y=j)

This is satisfied should there be no detectives, or should every detective be the one and only John. As required.

¬∃x (Dx ∧ Uxj). I'm thinking: There is no x such that x is a detective and x is the uncle of John.

Correct. Nobody is a detective and John's uncle.