Translating into Logical Statements

discrete mathematicslogic-translationquantifiers

I was giving the following sentence to translate into a logical statement.

“Everyone has exactly one best friend"

The way I set it up is by letting

 x = person
 y = # of best friends
 B(x,y) = x has exactly y best friends

So that:

 ∀x∃y(B(x, 1)

Would that be considered correct? The book provided me with a different answer that looks something like:

∀x∃y(B(x, y) ∧ ∀z((z ̸= y) → ¬B(x, z)))
where x,y,z are people and B(x,y)= y is the best friend of x

For the most part I understand how they arrived to that answer, however I feel like my answer could also be correct? I'm just worried because I have a midterm on this on Monday and I don't want the way I interpret the statements to screw me over. If my interpretation is wrong, is there any way/tips/tricks to ensure I get it right?

Best Answer

Your solution can work (though it would just be ∀x(B(x, 1)) ... but in order to work with it, you'd need some axioms about numbers.

This is why the provided solution is preferred. In fact, if you do a contraposition on the conditional, you get:

∀x∃y(B(x, y) ∧ ∀z( B(x, z)→ (z = y)))

and I think that one is really useful: once you know $y$ is the best friend of $x$, then anyone that is a best friend of $x$ must be $y$.

One small note: $B(x,y)$ is here to be interpreted as '$y$ is a best friend of $x$'

Related Question