1
votes

I am undecided when to use universal quantifier or existential quantifier. Here is my example: Anyone passing his history exams and winning the lottery is happy. In first order logic : ∀x Pass(x,history) ^ win(x,lottery) -> happy(x) or ∃x Pass(x, history) ^ win(x,lottery) -> happy(x) I would like to know if the logic is correct.

2

2 Answers

4
votes

You should understand that both existential and universal quantifiers are complements of each other (similar to plus/minus and multiplication/division). Any can be achieved by negating the other one.

Anyone passing his history exams and winning the lottery is happy.

The answers would be:

  1. ∀x {Pass(x,history) ^ win(x,lottery) -> happy(x)} Read as: For all x, if x passes history and x wins lottery, then x is happy.
  2. ~∃x {Pass(x, history) ^ win(x,lottery) -> ~happy(x)} Read as: It is not the case (or it is impossible) that if a person passes history and wins lottery, then he is not happy.
3
votes

The existential quantifier would mean that "there is a person, X, such that ...", not "any person, X, such that".

Not sure why you have a "prolog" tag. But the corresponding clause in Prolog would be:

happy(X) :- pass(X, history), win(X, lottery).