Source: p. 69. How to Prove It by Daniel Velleman. I already read 1,2, 3, 4, 5, 6, 7, 8, 9, 10, 11 & 12.

$\exists \, x \, \in \, \emptyset : P(x) \tag{1}$ will be false no matter what the statement $P(x)$ is. There can be nothing in $\emptyset$ that, when plugged in for $x$, makes $P(x)$ come out true, because there is nothing in $\emptyset$ at all! It may not be so clear whether $\forall \, x \, \in \,\emptyset : P(x) $ should be considered true or false ...

I then paused reading to conjecture the truth value of: $2. \; \forall \, x \, \in \,\emptyset : P(x). $

$\boxed{\text{Conjecture :}}$ Because $\emptyset$ contains nothing, ergo $x \, \in \,\emptyset$ is false $ \implies \forall \, x \, \in \,\emptyset $ is false.
Since the Truth Value of $P(x)$ is unknown, ergo 2 is false. $\blacksquare$

Then I continued reading and was stupefied to learn that 2 is true:

After expanding the abbreviation of the quantifiers, $\forall \, x \, \in \,\emptyset : P(x) \quad \equiv \quad \forall \, x \, \left[\, x \, \in \,\emptyset \Longrightarrow P(x)\right]. \tag{*}$
Now according to the truth table for the conditional connective, the only way this can be false is if there is some value of $x$ such that $x \, \in \,\emptyset $ is true but $P(x)$ is false. But there is no such value of $x$, simply because there isn’t a value of $x $ for which $x \, \in \,\emptyset $ is true.
Thus, (*) is (vacuously) true.

Though I understand this proof and the Principle of Explosion, I still do not understand why my intuition failed. How can I correct my intuition?

Supplement to mercio's Answer

I understand $\forall x \in \emptyset,P(x). \; \stackrel{dfn}{\equiv} \; \forall x, \color{#B22222}{x\in \emptyset}\implies P(x). \quad \equiv \; \forall x,\color{#B22222}{false}\implies P(x)$.

Consider $3. \forall\;\bbox[5px,border:2px solid #32CD32]{\, \color{#B22222}{\underbrace{{x\in\emptyset}}_{false}} \;,P(x)} \;$. 3. Is 3 vacuously true because the green box is vacuously true?

I consider the green box above a statement, because though the comma is not a Logical Connective,

$ \forall \; \color{#B22222}{\underbrace{{x\in\emptyset}}_{false}} \; \;P(x) \quad \equiv \quad \forall \; \color{#B22222}{\underbrace{{x\in\emptyset}}_{false}} \; \color{#0073CF}{\huge{,}} \;P(x) \quad \equiv \quad \forall \; \color{#B22222}{\underbrace{{x\in\emptyset}}_{false}} \; \color{#0073CF}{{\huge{\text{,}}} \text{we have that}} \; P(x). \tag{**}$

  • 1
    $\begingroup$ @LePresentiment There's a typo in the gray box. It should be $\forall x(x\in \varnothing\implies P(x))$ on the right of $\equiv$. Regarding question 2, $\exists x\in \varnothing (P(x))$ is short for $\exists x(x\in \varnothing \land P(x))$. Knowing this I suppose the answer to 2 is evident. $\endgroup$
    – Git Gud
    Aug 28, 2013 at 9:10
  • 1
    $\begingroup$ I don't understand where $A$ comes from. The formula $\exists x\in X(P(x))$ is just short for $\exists x(x\in X\land P(x))$. Does this help? $\endgroup$
    – Git Gud
    Aug 28, 2013 at 9:36
  • 1
    $\begingroup$ @LePressentiment Ohh, I get it now. You don't need to have bounds on the quantification. The quantifiers range over all the universe and that's OK. It's probably safe to assume that the universe is the class of all sets, but this is several orders of magnitude above what is intended with that book, with regards to detail. Can you go on thinking it's just the universe of all things? $\endgroup$
    – Git Gud
    Aug 28, 2013 at 9:44
  • 1
    $\begingroup$ @LePressentiment (in which $U$ is the universe and $A$ is a set). Because $\in$ is a symbol which is used only in relations betweens sets and since $U$ isn't a set, you can't use $x\in U$ formally. But of course, informally, you can think about elements belonging to the universe. As I said before this is several orders of detail-magnitude above what is intended with that book. And all I said above is about 'regular' mathematics. It could very well be that sometimes the universe is a set and you can talk about $x\in U$, (but this wouldn't be in $\sf ZFC$). $\endgroup$
    – Git Gud
    Aug 29, 2013 at 8:08
  • 1
    $\begingroup$ @LePressentiment All in all, you just don't need to write $x\in U$ because if the universe is whatever it is, then by definition the quantification is already bounded by it. $\endgroup$
    – Git Gud
    Aug 29, 2013 at 8:29

4 Answers 4


You are right when you say that $\forall x$, the statement $x \in \emptyset$ is false. This means that $\forall x, \neg (x \in \emptyset)$, which is equivalent to $\forall x, x \notin \emptyset$. Perfectly true.

Then you say "the statement $\forall x \in \emptyset$ is false". $\forall x \in \emptyset$ is NOT a statement, it's an incomplete sentence. Either you write "$\forall x, P(x)$", either you write "$\forall x \in X, P(x)$", which is a shorthand for "$\forall x, (x \in X \implies P(x))$". "$\forall x \in \emptyset$" is not a statement. It can't be true or false.

$\forall x \in \emptyset, P(x)$ is a shorthand for $\forall x, (x \in \emptyset \implies P(x))$, which is equivalent (since $x \in \emptyset$ is always false) to $\forall x, ~\textrm{false} \implies P(x)$. After looking at the truth table for $\implies$, this is equivalent to $\forall x, ~\textrm{true}$ (whatever $P(x)$ may be), which is $\textrm{true}\;.$

If you want to disprove $\forall x \in \emptyset, P(x)$ you have to show me an $x \in \emptyset$ such that $P(x)$ is false. Well you will never find an $x \in \emptyset$.

  • 3
    $\begingroup$ @LePressentiment : your green box doesn't mean anything. The comma is not a connective like $\land$ or $\lor$, it is an integral part of the quantification "$\forall x \in \emptyset,$" or "$\forall x,$". What you are doing is like analyzing a sentence by splitting it into small chunks and in doing so, splitting a word in two. It looks like you will get horribly confused with $\exists x \in \emptyset, P(x)$ because there seem to be the same "green box" there even though its meaning (if any) is completely different. $\endgroup$
    – mercio
    Sep 2, 2013 at 10:21
  • $\begingroup$ @LePressentiment : the $\in$ in the "$\forall x \in XA, $" is just notation. the $x \in AX$ is just notation. You can't replace it with $false$. When writing a $\forall$ in everyday mathematics, if you don't write "$\forall x \in X, something$" for some name $x$ and some set $A$, you are writing nonsense. In first-order logic, $\in$ may not even be part of the language, so there we write $\forall x, something$. Notice that in any case, there is never any way someone can read $\forall false, something$ and give it any meaning. $\endgroup$
    – mercio
    Sep 8, 2013 at 7:47
  • $\begingroup$ and as I said, you cannot replace $\exists x \in \emptyset, P(x)$ with $\exists false, P(x)$ and conclude that it is true because this is just nonsense. The translation of $\exists x \in X, P(x)$ in first-order logic is $\forall x, (x \in X \land P(x))$. If you don't want to use that, then you have a problem. A proof of a $\exists x \in A, P(x)$ usually starts by pointing out some element $x \in A$, then you set out to prove $P(x)$ for this particular element. When $A = \emptyset$ you will never be able to point out an element $x \in A$, so you can't even complete the first step. $\endgroup$
    – mercio
    Sep 8, 2013 at 7:52
  • $\begingroup$ Many thanks again. I now see that the red part by itself doesn't make sense. You wrote "if you don't write "$∀x∈X,$ something" for some name $x$ and some set $A$, you are writing nonsense." Thus, discounting all the $\color{#B22222}{\text{red falses}}$ in my 2nd supplementary, could you please expound on equations $(*)$ and $(**)$? Is the blue what you weighed in on and what I have? $\endgroup$
    – NNOX Apps
    Sep 9, 2013 at 3:52
  • 3
    $\begingroup$ May I please ask if you could kindly respond to my comment on Sep 9? $\endgroup$
    – NNOX Apps
    Oct 3, 2013 at 11:06

IMO, it's our grasp of natural language that leads us astray here. Natural language is not about explicitly expressing precise ideas; there is a lot of ambiguity and implicit inference involved.

In particular, one doesn't speak about "all of something" unless there is (possibly hypothetically) actually something to speak about.

As you are trained to make this inference, when you hear "$\forall x \in \varnothing:P$", you mentally add the implicit hypothesis "$\exists x \in \varnothing$", which is where your intuition goes awry.



  1. Intuitively think of $\forall x \in A: Qx$ as being true by default unless it finds a counter example of the opposite. Since there is nothing to "search through" since $A = \emptyset$, then it never changed its truth value from the default. So its vacuously true.
  2. Intuitively think of $\exists x \in A: Qx$ as being false by default unless it finds some example of $Qx$ (or an argument for $Qx$). If there is nothing to "search through" since $A = \emptyset$, then it never changed its default truth value. So its vacuously false.

In first order predicate logic (FOL) is a way to express statements about mathematical objects where these statements are taken seriously as mathematical objects in their own right. A development of FOL can be seen in these notes and thats the language I will use here. When speaking formally about mathematics (in classical FOL) we have a language $L$ and an L-structure $\mathcal B = (B; (R^B)_{R \in L^r}, (F^B)_{F \in L^f})$ which is essentially the universe where all L-sentences, L-formulas, L-terms that we express will take a meaning/interpretation/semantics (truth-falsehood), the (L-)structure that gives semantics to mathematical words (L-sentences,L-formulas,L-terms). Think of it as the set and relations/functions where things take meaning. When we say informally:

$$ \forall x \in A: Qx$$

since $\in A$ has no meaning in FOL we have to give it meaning some other way. My favorite way is to simply define the set with some L-formula that evaluates to true or false depending on the element it takes (assuming the set is definable of course). So $A = \varphi^{A} = \{ b : \mathcal B \models \varphi^{A}(\underline b)\}$ where $\underline b$ is the name for object $b \in B$. Intuitively we are just saying in the model $\mathcal B$ (i.e. the current structure that gives meaning and truth values to stuff) "extracts" the things that have the property "we want" from the greater universe/L-structure in consideration. This set is empty when $\mathcal B \models \varphi^A(\underline b)$ is always false. Thus with this language in mind we get:

$$ \sigma = \forall x (\varphi^{\mathcal A}(x) \to Qx)$$

where $\forall x$ always goes through all elements in the L-structure. Intuitively you can think of this sentence being true until it finds a counter example i.e. an $x \in B$ with the property $ \varphi^A(x) \land Qx$. Now we can even define $x \in A$ to just be a shorthand for $\varphi^A(x)$ though I can imagine this would be discouraged as it would make it seem $x \in A$ is part of FOL language when its not (I'm guilty of this sin in the privacy of my own scratch work). If the set $A$ is enumerable you can even imagine that the way to compute the above L-sentence is by checking all elements in $A$ (the universe) one by one until a counter example is found. Sort of like $\sigma = \sigma \land (\varphi^A(x) \to Qx)$ evaluating that recursion. Before you start the process no counter example is found so $\sigma = True$ (you can intuitively think if it were only going through elements in $A$ but its empty it returns the value it started with i.e. True, the identity of conjunction). Now we notice that $\varphi^A(x) \to Qx$ evaluates to True when $x \not \in A$. This is really convenient because it means we get the statment $\sigma = \sigma \land True$. So we get the identity of conjunction whenever we get irrelevant stuff (things not in $A$ or in the empty case $x \in \emptyset$ is always false) which is really useful because it means the truth value of the statement we care about doesn't change when considering irrelevant stuff. This formally works for computable stuff (but I use it to remember the whole thing in generaly).

The case for:

$$ \exists x \in A : Qx $$

instead is formally:

$$ \exists x (\varphi^A(x) \land Qx ) $$

this one is true only when $x$ has BOTH the property $x \in A \land Qx$ (using short hand for $\varphi^A(x)$). In this case if $A$ is empty $x \in A$ is false all the time so the above is false. Similarly with the analogy of the computable case this one is instead searching for any case when both hold i.e. $\sigma = \sigma \lor (\varphi^A(x) \land Qx)$. This "search" starts of with false (beause that is the boolean that makes disjunctions un changed, i.e. its the "identity" of disjunctions) and only becomes true when it find some $x$ that satisfies $\varphi^A(x) \land Qx$. In other words at the beginning when the search is empty, it is considered false since it has not found any element with the desired property. If it was empty, it never found such an element so it stays False.

Note you could ask why both informal statements were not defined backwards or both with implications or both with conjunction. The reason is that if you do try that then weird things happen. For example consider:

$$ \forall x (\varphi^A(x) \land Qx) $$

You might think this is ok but since the quantifier is going through the whole space when it find something not in $A$ then the above is False (but what we want is for things not in $A$ to be irrelevant because what we want is to know if "all elements in A have property $Qx$). In fact its always false if some $x \not \in A$ exists which is usually the case because otherwise, why would you be defining a set $A$ in the first place if its the whole universe? It's far more common to consider $A \subseteq B$ and then ask if quesiton about that set. If we wanted to talk about the whole universe/L-strucutre we'd use $\forall x Qx$ instead in (FOL in the very least). Basically, we usually talk about a set $A$ in the context of some underlying larger model of mathematics/universe $\mathcal B$. More formally, we usually consider some subset $A$ in the context of some model/L-structure $\mathcal B.

Now lets consider why

$$\exists x \in A: Qx $$

is usually not defined as:

$$ \exists x (\varphi^A(x) \to Qx) $$

the idea the above should capture is, the above formal L-sentence should be true if and only if some example makes in the set $A$ makes $Qx$ true. Now notice the above implication is true for any example not in $A$ (in this case making $Qx$ irrelevant). Great we have made the sentence always true whenever any element not in $A$ exists regardless of its property $Q$ which cannot be what we meant to say. We wanted it only to be true when $x \in A$ and had property $Qx$. The above doesn't capture this. Even when the set $A$ is empty the above is true because we $x \in A$ is false but what we wanted in this case is to return false because no example in $A$ demonstrated the property $Qx$ that desired.

So having them have switched formal definitions just makes things really strange and not with the desired semantics that we wanted which really are:

  1. $\forall x \in A: Qx $ for all elements in $A$ do we have property $Qx$ (and in the edge case when $A$ is empty we want it to be true since no counter example has been found since the search hasn't started). Elements not in $A$ should be irrelevant.
  2. $\exists x \in A: Qx$ is there some element in $A$ that has the property $Qx$? Any element not in $A$ doesn't matter (and the edge case when $A$ is empty should be false because we failed to show some example that does have property $Qx$ that we desired).

How can I correct my wrong intuition that $\forall \, x \, \in \,\emptyset : P(x)$ is false?

Interpret $\forall x \in \emptyset : P(x)$ as meaning exactly nothing more or less than "there does not exist an element $x$ of $\emptyset$ such that it's not the case that $P(x)$". Or, rephrasing, "there exist no counterexamples to the assertion that for all elements $x$ of $\emptyset$, $P(x)$".


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.