A ⊆ B means every element of A is in B — every one, with no exceptions allowed. {1, 2} ⊆ {1, 2, 3} holds, and properly, because B also has 3. {1, 4} ⊆ {1, 2, 3} fails, and the reason is 4.
Four answers, not two
“Is A a subset of B” has more than a yes and a no in it, and the useful output distinguishes them:
- A proper subset. A ⊊ B — A is inside B and B has more.
- Equal. {1, 2} and {1, 2} contain each other, so A ⊆ B is true and A ⊊ B is false. A set is a subset of itself.
- The other way round. A ⊋ B — the containment runs the other way for {1, 2, 3} and {1, 2} — the containment exists, just not in the direction asked.
- Neither. {1, 4} and {1, 2, 3} overlap without either containing the other, and {5} and {1, 2} share nothing at all.
The tool reports all of them together, because the answer to the question actually asked is often in one of the other three.
The witness element is the answer
A is not a subset of B, and the reason is specific: the element 4 is in A but not in B. One element outside B is enough to break the containment — the definition asks for every element, not most of them.
That single element is what a proof would produce. To show A ⊆ B you must check everything; to show A ⊈ B you need exactly one counterexample, and finding it ends the argument.
Which is why the tool shows the element-by-element check rather than summarising it. When containment fails, the failing element is the fact you take away — not the verdict.
∅ is a subset of every set, including itself
A is empty, and the empty set is a subset of every set — vacuously, because there is no element of A that could fail to be in B. It is proper here because B has 2 elements that A does not.
This reads as a special rule and it is not one. Apply the definition literally: “every element of ∅ is in B”. There are no elements of ∅, so there is nothing that could fail, and the statement is true by default. Logicians call this vacuous truth, and it is the same reason “all my unicorns are purple” is true.
The consequence: ∅ ⊆ ∅ as well. The empty set is a subset of itself, though not a proper one, because there is nothing in it that ∅ lacks.
Every set is a subset of itself
Every element of A is in B and every element of B is in A, so the two sets are equal. A set is always a subset of itself, so A ⊆ B holds — but not properly, because there is nothing in B that A lacks.
This is why the word “proper” exists at all. Without it, “A is a subset of B” would be ambiguous about whether the two might be the same set — and in most arguments that distinction matters.
It also gives the cleanest definition of set equality: A = B exactly when A ⊆ B and B ⊆ A. That is how equality of sets is usually PROVED — two containments, each one a witness-free check — rather than by comparing them element by element in one pass.
∈ is not ⊆, and the difference is not cosmetic
1 ∈ A says 1 is an ELEMENT. {1} ⊆ A says the one-element SET is contained. Swapping ∈ for ⊆ changes the claim from "is in" to "is inside as a whole set", and the two are almost never both true.
The two symbols relate different kinds of thing. ∈ goes between an element and a set; ⊆ goes between two sets. So “1 ⊆ {1, 2}” is not false so much as ill-formed — 1 is not a set, and containment is not a claim you can make about it.
Where it gets genuinely tricky is with sets of sets. If A = {1, {2}} then {2} ∈ A is true and {2} ⊆ A is false, while {1} ⊆ A is true and {1} ∈ A is false. The Power Set Calculator is where that inversion is easiest to see.
Why ⊂ does not appear on this page
This page writes ⊆ for "subset" and ⊊ for "proper subset". The symbol ⊂ is genuinely ambiguous — some texts use it for ⊆ and others for ⊊ — so it is avoided here rather than guessed at.
This is a real ambiguity rather than a stylistic preference. Some textbooks write A ⊂ B to mean exactly what A ⊆ B means here; others use it for proper containment only. Reading a proof that uses the other convention will silently change what it says.
⊆ and ⊊ have no such problem: ⊆ always allows equality and ⊊ always excludes it, in every text. Using them costs one extra keystroke and removes the question entirely, which is why this page does.
Sources and methodology
Set containment and its notation are standard; the reference below carries the canonical definitions.
Method. Every figure on this page comes from src/lib/subset.ts over src/lib/algebra/sets.ts. Containment is decided by checking every element rather than by comparing sizes, and the reported missing elements are the actual set difference rather than a reconstruction. That engine is verified on every change against 57 hand-written assertions, including that A ⊆ B and B ⊆ A are reported together exactly when the sets are equal, and that a reported witness is always genuinely absent from B. The count and the per-case breakdown are published on the formula verification page.
Read the guide
Containment is the relation the rest of set theory is built on. The Union and Intersection Calculator covers the operations, and the Power Set Calculator is where the element-versus-subset distinction becomes unavoidable.