Are the following two first-order logic statements correct?

320 Views Asked by At

I am doing questions to revise for an exam.
Here is the question:
Convert "Elder gods do not like Hello Kitty" to first-order logic.
Here is the answer they give:

   ∀x IsAnElderGod(x) ⇒ ¬Likes(x, HelloKitty)

...
And here is my answer:

∀x IsAnElderGod(x) ∧ doesNotLikeHelloKitty(x) 

Are they both correct? Do they both mean the same thing?
Thanks :D

1

There are 1 best solutions below

1
On BEST ANSWER

Here is a series of equivalence transformations that shows the given answer is different but equivalent forms. Yours is unfortunately not one of them:

    ∀x IsAnElderGod(x) => ¬Likes(x, HelloKitty)
<=>   {(P => Q) <=> (¬P ∨ Q)}
    ∀x ¬IsAnElderGod(x) ∨ ¬Likes(x, HelloKitty)
<=>   {De Morgan}
    ∀x ¬(IsAnElderGod(x) ∧ Likes(x, HelloKitty))
<=>   {Pull negation out}
    ∄x IsAnElderGod(x) ∧ Likes(x, HelloKitty)

The given answer could be verbalised as "For all x it is the case that, if x is an elder god, then it doesn't like Hello Kitty" (which, by the way, it totally understandable, even for mere mortals).

Your formula could be verbalised as "All x are elder gods and don't like Hello Kitty". That of course is a huge difference when compared to the given answer because it states that all elements of whatever set x ranges over (say, the set of ancient Greeks) are elder gods. The given answer only says that if there is an elder god amongst the ancient Greeks, then it dislikes Hello Kitty - but it does not guarantee that there actually exists an elder god at all.