One of the first facts about sets that makes students pause is this one:

For every set A, the empty set is a subset of A.

Written out: \varnothing \subseteq A always, no matter what A is. \varnothing \subseteq \{1, 2, 3\}, \varnothing \subseteq \mathbb{R}, \varnothing \subseteq \varnothing, \varnothing \subseteq \{\text{all footballers in Brazil}\}. Every. Single. Set.

This feels wrong. How can a set with nothing in it be "inside" sets with rich, specific elements? The answer uses a single logical move called vacuous truth — and once you see it once, the claim stops being weird and becomes obvious. This article is that one move, plus the pattern-spotting skill it unlocks.

The definition, literally

Recall: B \subseteq A is shorthand for this sentence:

\text{for every element } x \in B, \; x \in A.

That's the whole meaning of \subseteq. To say B is a subset of A is to say that every one of B's elements also appears in A. Not "most of them." Not "at least one." Every single one.

Now replace B with \varnothing:

\text{for every element } x \in \varnothing, \; x \in A.

The condition says "for every x in the empty set, x is in A." But the empty set has no elements. So the "for every x" part of the sentence is asking about nothing at all. There are zero cases to check. There are zero counter-examples possible. The condition holds — trivially — and \varnothing \subseteq A is true.

Vacuous truth, the single move

The phrase for "no cases to check, so the claim is true by default" is vacuous truth. It is a specific logical rule:

Any statement of the form "for every x with property P, [some claim about x]" is automatically true when there are no x with property P.

The reason is mechanical. To disprove "for every x with P, the claim holds," you would need to exhibit a specific x with P for which the claim fails. But if nothing has P, there is no such x to find. So the statement cannot be disproved — which means it is true.

This is the same logic that makes "every unicorn in this room has a gold horn" a true statement (there are no unicorns in this room, so the "for every unicorn" part quantifies over nothing). It would be silly to argue about the colour of unicorn horns when there are no unicorns to inspect — and silly, in a parallel way, to argue that \varnothing \subseteq A fails because "no elements of \varnothing are in A." There are no elements of \varnothing to check.

Empty drawstring bag with a tick mark inside a target setA large rectangle labelled A with three elements 1, 2, and 3 inside. Next to it a small drawstring bag labelled empty set with nothing inside. An arrow goes from the empty bag to the set A with the phrase every element of empty set is in A written alongside. A tick mark indicates the statement is vacuously true because there are zero elements to check. A = {1, 2, 3} 1 2 3 empty every element of ∅ is in A ✓ (there are zero elements to check)
The empty set $\varnothing$ as a drawstring bag with nothing inside. To check $\varnothing \subseteq A$, you walk through every element of $\varnothing$ and verify it lives in $A$. There are no elements to walk through, so the check passes automatically — vacuous truth.

The three consequences worth remembering

Once you accept vacuous truth, three facts about \varnothing stop being memorisation and become derivations.

1. \varnothing \subseteq A for every A

Direct consequence. No elements of \varnothing, so "every element of \varnothing is in A" is vacuously true. Works for every A, including \varnothing itself: \varnothing \subseteq \varnothing is perfectly true.

2. \varnothing \in \mathcal{P}(A) for every A

\mathcal{P}(A) is the set of all subsets of A. Since \varnothing is a subset of A (by fact 1), \varnothing is one of the objects collected into the power set. So \varnothing \in \mathcal{P}(A).

Note the level shift here — \in, not \subseteq — because the power set is one level up. If that feels unsteady, revisit Elements and Subsets Live at Different Levels.

3. The number of subsets formula 2^n starts from \varnothing

The formula "a set with n elements has 2^n subsets" counts \varnothing as one of those subsets. That is why the smallest count is 2^0 = 1 (the one subset being \varnothing), not zero. Without the vacuous-truth rule, the formula wouldn't match reality.

Why the 2^n formula relies on vacuous truth: the argument counts subsets by deciding, for each of the n elements, whether to include or exclude it. One of those 2^n choices is "exclude all of them," which produces \varnothing. For that choice to count as a valid subset, \varnothing must actually be a subset — which is exactly the vacuous truth fact above.

The "why does it feel wrong" debrief

If vacuous truth still feels suspicious, here are the three most common objections, with what they are missing.

Objection 1: "If \varnothing is a subset of \{1, 2, 3\}, then \{1, 2, 3\} should have some empty-set-shaped piece inside it. There isn't one."

Missing piece: \subseteq isn't a spatial relation. It is not "B is physically located inside A." It is a logical statement about membership: "every element of B is also an element of A." For B = \varnothing that statement is satisfied by default — not because there is a piece, but because there is no element that could violate it.

Objection 2: "If \varnothing \subseteq A for every A, shouldn't \varnothing itself be every set? They all share \varnothing as a piece."

Missing piece: \subseteq is reflexive and transitive, but it is not symmetric. \varnothing \subseteq \{1, 2, 3\} is true; \{1, 2, 3\} \subseteq \varnothing is not (you can find an element of \{1, 2, 3\} — namely 1 — that is not in \varnothing). Equality of sets requires \subseteq in both directions, and the second direction fails.

Objection 3: "If vacuous truth makes every 'for every' statement automatically true over the empty set, you could prove ridiculous things."

Missing piece: You can only conclude statements that are written in the "for every x with P(x)" form. You can't conclude, for instance, "\varnothing contains everything" — that would be an existence claim, not a universal one. Vacuous truth only trivialises universal quantification over the empty collection. It doesn't change any other logic.

A worked example: vacuous truth in action

Suppose you are asked to prove:

For every x \in \varnothing, x is a prime greater than 100.

This statement has two suspicious parts. "For every x in \varnothing" — but \varnothing is empty. "x is a prime greater than 100" — a specific-looking claim. How do you prove it?

Answer: you don't prove anything element-wise, because there are no elements. You state:

"The statement is vacuously true because \varnothing has no elements, so there is no x for which the condition could fail."

That is the entire proof. Two lines, no case-work.

Now a slightly more realistic example from the curriculum:

Prove that $\varnothing$ is a subset of every set.

Let A be an arbitrary set. By the definition of subset, to show \varnothing \subseteq A we must show that for every x \in \varnothing, we have x \in A.

Step 1. List the elements of \varnothing. There are none.

Step 2. Since there is no x \in \varnothing, the universal statement "for every x \in \varnothing, x \in A" is vacuously true — there are no cases in which it could fail.

Step 3. Conclude \varnothing \subseteq A.

Since A was arbitrary, the statement holds for every set A. \blacksquare

Why this is a complete proof: mathematical statements of the form "for every x with P, Q" are true whenever there is no x with P, because no counter-example is possible. This is a standard and perfectly respectable proof move — used constantly in higher mathematics without apology.

The exam reflex

Set-theory problems sometimes slip a vacuous-truth trap into a multiple-choice question. For example:

Which of the following is true for the set A = \{1, 2, 3\}? (a) \varnothing \subseteq A (b) \varnothing \in A (c) \{\varnothing\} \subseteq A (d) \{\varnothing\} \in A

Answer: only (a). Let's walk through.

When you see \varnothing in a subset question, fire vacuous truth immediately. When you see \varnothing in a membership question, check explicitly whether \varnothing was listed as an element of the target set.

The takeaway

\varnothing \subseteq A is not a weird edge case that mathematicians added for consistency. It is the direct, natural consequence of how \subseteq is defined, combined with how universal statements behave over empty collections. The only skill it requires is being comfortable with "for every element of an empty collection, X" being automatically true — a move called vacuous truth.

Once you are comfortable with vacuous truth, a dozen other apparently strange set-theory facts become routine: the empty set being a subset of everything, the empty set being an element of every power set, the 2^n subset count starting from 1 rather than 0, and more.

Related: Sets — Introduction · The Empty Set Isn't Really a Set? · Why Is a Set a Subset of Itself? · Is the Power Set of the Empty Set Also Empty?