Multiple uniqueness cases in first order logic

113 Views Asked by At

I'm having some trouble representing the following situation:

There are three persons of unique names: Lars, Kirk and James. Each person drinks a unique beverage: beer, vodka and whiskey. Each person drives unique cars (brand): Mercedes, BMW and Wolkswagen. It is known that:

  • James drinks whiskey
  • Kirk drives BMW
  • The man driving BMW drinks beer
  • The person who drives Mercedes also drinks vodka.

I think I can represent the situation as follows (correct me if I'm wrong):

  • $Whiskey(James)$
  • $BMW(Kirk)$
  • $\forall(x) BMW(x) \rightarrow Beer(x)$
  • $\forall(x) Mercedes(x) \rightarrow Vodka(x)$

It is stated that only one person can drive BMW (like the other cars as well). Do I have to specify uniqueness for all of the variables, that is for drinks and car brands like the following?

  • $\exists x (BMW(x) \wedge \neg \exists y (BMW(y) \wedge x \ne y)) $

Or is there a shorter approach to state the uniqueness of all these things?