First order logic difference bettwen using exists and for all

62 Views Asked by At

I am trying to write the following statements in first-order logic. I have been given the functions: DirectorOf(A, B), IsMovie(A), and Equals(A, B):

1) All movies have an director.

2) No movies were directed by Mark.


Here is my attempt at converting the statements:

1) $ \forall \text{b}, \exists \text{a} ~ \text{(IsMovie(b)} \land \text{DirectorOf(b, a))} $

2) $ \neg \exists \text{b} ~ \text{(isMovie(b)} \land \text{DirectorOf(b, `Mark'))} $

Am I missing anything?

Thanks a lot for the help.

2

There are 2 best solutions below

8
On BEST ANSWER

(2) is correct, (1) should be:

$$∀b(IsMovie(b) → ∃a[DirectorOf(b, a)])$$

(The square brackets instead of parentheses are for readability.)

Also, there's no need to put quotation marks around the name "Mark" in (2).

1
On

Convert via $\exists x$ equivalent to $\neg\forall x \neg$ resp. $\forall x$ equivalent to $\neg\exists x\neg$.