Proving Set Identities

How do you know that A∖(B∪C)A \setminus (B \cup C) is really the same set as (A∖B)∩(A∖C)(A \setminus B) \cap (A \setminus C)? This must hold for every choice of sets A,B,CA, B, C. You cannot check this by drawing one Venn diagram and declaring victory. A picture only shows one configuration of overlaps. A set identity claims something about all sets, including infinite ones with no sensible picture at all. What is needed is a method. It turns the informal idea "these two sets have exactly the same members" into a chain of logically airtight steps. That method is element-chasing: to show two sets are equal, pick an arbitrary element. Then chase it through the definitions of the set operations on each side. Show it lands in the other set. This single technique rests on nothing more than Set Equality and Extensionality and the definitions of Union and Intersection and Set Difference and Complement. It is the workhorse that proves every identity in the algebra of sets. The importance of this technique goes beyond bookkeeping. It is the first place many students encounter a genuinely general proof. Such a proof must work uniformly over an infinite universe of possible sets. It is verified by reasoning about an unspecified but fixed object xx. The discipline of element-chasing is a direct descendant of the discipline of predicate logic. Each set-builder expression {x:P(x)}\{x : P(x)\} hides a logical formula. So "prove the sets are equal" becomes "prove the formulas are logically equivalent." This connects set theory tightly to propositional and predicate logic. It explains why the same identity (say, De Morgan's law) appears wearing different clothes. It shows up in logic, set theory, and Boolean algebra. The big picture this article delivers is a completely general method. It is stated as a theorem about how to prove set equality. Alongside it is a fully worked derivation of a nontrivial identity. There is also a companion proof of the inclusion version of the same idea, since ⊆\subseteq is often the finer unit of reasoning. Finally, there is a counterexample showing exactly which step of the method cannot be skipped. Along the way we build a habit. This includes quantifier discipline, one direction at a time, and no hidden assumptions about finiteness or disjointness. This habit will be reused verbatim when proving De Morgan's Laws for Sets and the rest of The Algebra of Sets. By the end, "prove a set identity" should feel like a completely mechanical (if sometimes clever) two-part argument. Show ⊆\subseteq each way, using nothing but definitions and logic. Do this one element at a time.

Key takeaways
  • To prove A=BA = B, prove A⊆BA \subseteq B and B⊆AB \subseteq A separately, by Set Equality and Extensionality.
  • To prove A⊆BA \subseteq B, fix an arbitrary x∈Ax \in A and prove x∈Bx \in B, using only the definitions of the operations in AA and BB.
  • Each set operation (∪,∩,∖\cup, \cap, \setminus, complement) unfolds membership into a logical statement (∨,∧,¬\vee, \wedge, \neg), so element-chasing is predicate logic in disguise.
  • The two directions of an inclusion are logically independent proofs; do not silently assume the argument reverses.
  • A single "let xx be arbitrary" variable must be threaded through the whole chain — switching which xx you mean partway through invalidates the proof.
  • Key idea: a set identity is really a universally quantified biconditional about membership, and element-chasing is just unpacking that quantifier and biconditional, definition by definition.

Where this lives today

Element-chasing is the direct ancestor of the reasoning used in Boolean algebra and digital logic design, where the same identities (distributivity, De Morgan's laws) justify simplifying circuits, with ∪,∩,c\cup,\cap,{}^c replaced by OR, AND, NOT gates acting on bits. In database theory, query optimizers rely on set-theoretic identities among relational operations (union, intersection, difference of tuples) to rewrite queries into equivalent but cheaper forms — correctness of every rewrite rule is, at bottom, an element-chasing proof. In topology, proofs that a space is Hausdorff, or that an intersection of closed sets is closed, routinely reduce to chasing a point through set-builder definitions of open and closed sets. In probability theory, identities among events (e.g. P(A∖B)=P(A)−P(A∩B)P(A\setminus B) = P(A) - P(A\cap B)) are typically first justified by exactly the set-theoretic identity for A∖BA\setminus B, proved by element-chasing, before probabilities are assigned. In formal verification and type theory (used in proof assistants such as Coq, Lean, and Agda), statements about sets or types are literally encoded as predicates, and "element-chasing" becomes the literal mechanized proof term: introduce a variable, destructure the hypothesis, construct the conclusion — the exact skeleton of the arguments given above. Finally, in cryptography, set-difference and intersection identities among key spaces or event sets in security proofs (e.g., bounding the probability that an adversary's guesses intersect a secret set) are verified with the same technique before any probability bound is computed.

Ask the tutor: Can you walk me through element-chasing both directions of A∪(B∩C)=(A∪B)∩(A∪C)A \cup (B\cap C) = (A\cup B)\cap(A\cup C)?

DefinitionElement-chasing proof of a set identity

Let AA and BB be sets (built from other sets by the operations ∪,∩,∖\cup, \cap, \setminus, and complement relative to some universe UU). An element-chasing proof that A=BA = B consists of two sub-proofs: 1. (A⊆BA \subseteq B) A proof of the universally quantified statement

∀x (x∈A⇒x∈B),\forall x \, (x \in A \Rightarrow x \in B),

carried out by fixing an arbitrary object xx, assuming x∈Ax \in A, unfolding this assumption via the definitions of the operations used to build AA into an equivalent logical formula P(x)P(x), and then deriving from P(x)P(x) (by propositional/predicate logic) the formula Q(x)Q(x) obtained by unfolding x∈Bx \in B, thereby concluding x∈Bx \in B. 2. (B⊆AB \subseteq A) The symmetric argument: fix arbitrary xx, assume x∈Bx \in B, unfold to Q(x)Q(x), derive P(x)P(x), conclude x∈Ax \in A. By the Set Equality and Extensionality axiom — two sets are equal exactly when they have the same elements — steps (1) and (2) together establish A=BA = B. More generally, an element-chasing proof of a single inclusion A⊆BA \subseteq B consists of step (1) alone: fix arbitrary x∈Ax \in A, unfold, and derive x∈Bx \in B. The key unfoldings, valid for all sets S,TS,T and all xx in the ambient universe UU, are the membership rules:

x∈S∪T  ⟺  (x∈S)∨(x∈T),x∈S∩T  ⟺  (x∈S)∧(x∈T),x \in S \cup T \iff (x \in S) \vee (x \in T), \qquad x \in S \cap T \iff (x \in S) \wedge (x \in T),
x∈S∖T  ⟺  (x∈S)∧(x∉T),x∈Sc  ⟺  x∉S(Sc:=U∖S).x \in S \setminus T \iff (x \in S) \wedge (x \notin T), \qquad x \in S^{c} \iff x \notin S \quad (S^c := U \setminus S).

Intuition

Think of membership in a set as a predicate — a statement that can be true or false of a given xx. Then x∈A∪Bx \in A \cup B is nothing but the disjunction "x∈Ax\in A or x∈Bx \in B," and x∈A∩Bx \in A \cap B is the conjunction "x∈Ax \in A and x∈Bx \in B." Set operations are a picture-language for logical connectives. An identity like A∖(B∪C)=(A∖B)∩(A∖C)A \setminus (B\cup C) = (A\setminus B)\cap(A \setminus C) is, underneath the notation, the logical equivalence

p∧¬(q∨r)  ⟺  (p∧¬q)∧(p∧¬r),p \wedge \neg(q \vee r) \iff (p \wedge \neg q) \wedge (p \wedge \neg r),

which is a fact about truth values that can be checked (in the finite propositional case) by a truth table, and which generalizes, via quantifiers, to arbitrary sets. Element-chasing is the bridge that lets you transport a fact about the logical connectives ∧,∨,¬\wedge,\vee,\neg into a fact about ∩,∪,∖\cap,\cup,\setminus — for every A,B,CA,B,C, not just the ones you can draw. The Venn diagram below is not a proof, but it is exactly the right picture to guess the identity before chasing elements to confirm it holds in full generality (including cases the diagram cannot depict, such as B,CB, C overlapping in complicated infinite ways).

Figure
Venn diagram suggesting A∖(B∪C)=(A∖B)∩(A∖C)A\setminus(B\cup C) = (A\setminus B)\cap(A\setminus C)
A B C x ∈ A \ (B∪C) (shaded region, left tip of A only) Left tip of A, outside both B and C, is exactly the region hit by both A\B and A\C.

The diagram suggests the equality; the theorem below proves it holds for all sets, drawable or not.

TheoremMethod of Element-Chasing (Mutual Inclusion)

Let UU be a universe of discourse and let A,BA, B be sets, each definable by an expression built from other sets using ∪,∩,∖\cup, \cap, \setminus, and complement relative to UU. Suppose: 1. There is a proof of ∀x (x∈A⇒x∈B)\forall x\, (x \in A \Rightarrow x \in B), i.e. A⊆BA \subseteq B. 2. There is a proof of ∀x (x∈B⇒x∈A)\forall x\, (x \in B \Rightarrow x \in A), i.e. B⊆AB \subseteq A. Then A=BA = B. Conversely, if A=BA = B, then both (1) and (2) hold.

Proof

We prove both directions. The technique used throughout is direct proof via the Axiom of Extensionality, combined with universal generalization (to establish a ∀x\forall x statement, argue about an arbitrary, unspecified xx) and universal instantiation (to use a ∀x\forall x statement, apply it to a specific xx).

(⇒\Rightarrow, sufficiency of (1) and (2)). Assume (1) and (2) hold. By Set Equality and Extensionality, two sets A,BA, B are equal if and only if they have exactly the same elements, i.e.

A=B  ⟺  ∀x (x∈A  ⟺  x∈B).A = B \iff \forall x\, (x \in A \iff x \in B).

So it suffices to prove ∀x (x∈A  ⟺  x∈B)\forall x\,(x\in A \iff x \in B). Let xx be an arbitrary object in UU (arbitrary, not otherwise constrained). We prove the biconditional x∈A  ⟺  x∈Bx \in A \iff x \in B by proving both conditionals.

  • (⇒\Rightarrow direction of the biconditional) Suppose x∈Ax \in A. By hypothesis (1), the statement ∀x (x∈A⇒x∈B)\forall x\,(x \in A \Rightarrow x \in B) holds; instantiating this universal statement at our particular xx gives x∈A⇒x∈Bx \in A \Rightarrow x \in B. Combined with the assumption x∈Ax\in A, modus ponens yields x∈Bx \in B.
  • (⇐\Leftarrow direction of the biconditional) Suppose x∈Bx \in B. By hypothesis (2), instantiate ∀x (x∈B⇒x∈A)\forall x\,(x\in B \Rightarrow x \in A) at this xx to get x∈B⇒x∈Ax \in B \Rightarrow x \in A; modus ponens with x∈Bx \in B yields x∈Ax \in A.

Since xx was arbitrary, both conditionals hold for every x∈Ux \in U, so x∈A  ⟺  x∈Bx \in A \iff x \in B holds for every xx, i.e. ∀x (x∈A  ⟺  x∈B)\forall x\,(x \in A \iff x \in B). By Extensionality, A=BA = B.

(⇐\Leftarrow, necessity of (1) and (2)). Assume A=BA = B. By Extensionality, ∀x (x∈A  ⟺  x∈B)\forall x\,(x \in A \iff x \in B). Let xx be arbitrary. Instantiating gives x∈A  ⟺  x∈Bx \in A \iff x \in B, from which both conditionals x∈A⇒x∈Bx \in A \Rightarrow x \in B and x∈B⇒x∈Ax \in B \Rightarrow x \in A follow immediately (a biconditional entails each of its two conditionals, by the truth table for   ⟺  \iff, or directly: assume the antecedent of each conditional and use the appropriate direction of the biconditional to conclude the consequent). Since xx was arbitrary, both (1) and (2) follow by universal generalization. ■\blacksquare

∎

This theorem licenses the two-inclusion strategy; the actual work in any specific identity is producing the proofs of (1) and (2), and that work is where the membership-unfolding rules from the definition come in. We now record, as a lemma, the precise unfolding rules used in every such proof — these are themselves immediate consequences of how ∪,∩,∖,c\cup,\cap,\setminus,{}^c are defined, so they require no further proof beyond restating the definitions.

LemmaMembership Unfolding

For all sets S,TS, T (subsets of a universe UU) and all x∈Ux \in U:

x∈S∪T  ⟺  (x∈S)∨(x∈T),x \in S \cup T \iff (x \in S) \vee (x \in T),
x∈S∩T  ⟺  (x∈S)∧(x∈T),x \in S \cap T \iff (x \in S) \wedge (x \in T),
x∈S∖T  ⟺  (x∈S)∧¬(x∈T),x \in S \setminus T \iff (x \in S) \wedge \neg(x \in T),
x∈Sc  ⟺  ¬(x∈S).x \in S^{c} \iff \neg(x \in S).

These hold by definition of ∪\cup, ∩\cap, ∖\setminus, and complement (as given in Union and Intersection and Set Difference and Complement); no further proof is required, but every element-chasing argument invokes them explicitly at each unfolding step.

Worked examples

Example 1 (an asymmetric identity: one distributive law with three distinct roles for A,B,CA,B,C). Claim:

A∖(B∪C)=(A∖B)∩(A∖C).A \setminus (B \cup C) = (A \setminus B) \cap (A \setminus C).

Proof. By Method of Element-Chasing it suffices to prove both inclusions. (⊆\subseteq) Let xx be an arbitrary element with x∈A∖(B∪C)x \in A \setminus (B \cup C). By the membership unfolding rule for ∖\setminus,

x∈A∖(B∪C)  ⟺  x∈A ∧ ¬(x∈B∪C).x \in A \setminus (B\cup C) \iff x \in A \ \wedge\ \neg(x \in B \cup C).

So x∈Ax \in A and ¬(x∈B∪C)\neg (x \in B \cup C). Unfolding x∈B∪Cx \in B \cup C via the rule for ∪\cup,

x∈B∪C  ⟺  (x∈B)∨(x∈C),x \in B \cup C \iff (x \in B) \vee (x \in C),

we get ¬((x∈B)∨(x∈C))\neg\big((x\in B) \vee (x \in C)\big). By De Morgan's law for propositions (a fact of propositional logic, not yet the set-theoretic De Morgan law we are foreshadowing — that one is proved using this technique, not assumed by it), this is logically equivalent to

¬(x∈B)∧¬(x∈C),\neg(x \in B) \wedge \neg(x \in C),

i.e. x∉Bx \notin B and x∉Cx \notin C. Combining with x∈Ax \in A (which we still have, unused so far in this branch), we get two facts:

x∈A ∧ x∉B,x∈A ∧ x∉C.x \in A \ \wedge\ x \notin B, \qquad x \in A \ \wedge\ x \notin C.

(Here we use x∈Ax \in A twice: propositional logic permits reusing a conjunct, since p∧¬q∧¬rp \wedge \neg q \wedge \neg r entails both p∧¬qp \wedge \neg q and p∧¬rp \wedge \neg r.) By the unfolding rule for ∖\setminus read in reverse, x∈A∧x∉B  ⟺  x∈A∖Bx \in A \wedge x \notin B \iff x \in A \setminus B, and similarly x∈A∧x∉C  ⟺  x∈A∖Cx \in A \wedge x \notin C \iff x \in A \setminus C. So x∈A∖Bx \in A\setminus B and x∈A∖Cx \in A \setminus C; by the unfolding rule for ∩\cap (in reverse), x∈(A∖B)∩(A∖C)x \in (A\setminus B) \cap (A \setminus C). Since xx was arbitrary, A∖(B∪C)⊆(A∖B)∩(A∖C)A \setminus (B\cup C) \subseteq (A\setminus B)\cap(A\setminus C). (⊇\supseteq) Let xx be an arbitrary element with x∈(A∖B)∩(A∖C)x \in (A\setminus B)\cap(A\setminus C). Unfolding ∩\cap: x∈A∖Bx \in A\setminus B and x∈A∖Cx \in A \setminus C. Unfolding each ∖\setminus: (x∈A∧x∉B)(x \in A \wedge x \notin B) and (x∈A∧x∉C)(x \in A \wedge x \notin C). In particular x∈Ax \in A (from either conjunct), and x∉Bx \notin B, and x∉Cx \notin C. So ¬(x∈B)\neg(x \in B) and ¬(x∈C)\neg (x\in C), which by propositional De Morgan gives ¬((x∈B)∨(x∈C))\neg\big((x \in B)\vee(x\in C)\big), i.e. ¬(x∈B∪C)\neg(x \in B \cup C) by the ∪\cup-rule. Combined with x∈Ax \in A: x∈A∧¬(x∈B∪C)x \in A \wedge \neg(x \in B\cup C), i.e. x∈A∖(B∪C)x \in A \setminus (B\cup C) by the ∖\setminus-rule. Since xx was arbitrary, (A∖B)∩(A∖C)⊆A∖(B∪C)(A\setminus B)\cap(A\setminus C) \subseteq A\setminus(B\cup C). Both inclusions hold, so by Method of Element-Chasing, A∖(B∪C)=(A∖B)∩(A∖C)A\setminus(B\cup C) = (A\setminus B)\cap(A\setminus C). ■\blacksquare Notice the identity used no special assumption about A,B,CA, B, C — not disjointness, not one containing another, not finiteness. That generality is exactly the point of the method: the proof only used the four unfolding rules and propositional logic.

Example 2 (an inclusion, not an equality, with unequal roles — illustrating that the two directions of the theorem's method genuinely can fail to be symmetric). Claim: for all sets A,B,CA, B, C,

(A∩B)∖C ⊆ A∖(C∖B).(A \cap B) \setminus C \ \subseteq\ A \setminus (C \setminus B).

Proof. Let xx be an arbitrary element of (A∩B)∖C(A\cap B)\setminus C. Unfolding ∖\setminus: x∈A∩Bx \in A \cap B and x∉Cx \notin C. Unfolding ∩\cap: x∈Ax \in A and x∈Bx \in B. So we have three atomic facts:

x∈A,x∈B,x∉C.x \in A, \qquad x \in B, \qquad x \notin C.

We must show x∈A∖(C∖B)x \in A \setminus (C \setminus B), i.e. by the ∖\setminus-rule, that x∈Ax \in A and x∉(C∖B)x \notin (C \setminus B). The first conjunct, x∈Ax \in A, is already in hand. For the second, unfold x∈C∖Bx \in C \setminus B: this means x∈C∧x∉Bx \in C \wedge x \notin B. We must show the negation of this, i.e. ¬(x∈C∧x∉B)\neg(x \in C \wedge x \notin B), equivalently (propositional De Morgan again) ¬(x∈C)∨¬(x∉B)=(x∉C)∨(x∈B)\neg(x\in C) \vee \neg(x \notin B) = (x \notin C) \vee (x \in B). We already know x∉Cx \notin C (one of our three atomic facts), so the disjunction (x∉C)∨(x∈B)(x\notin C)\vee(x\in B) holds trivially (a disjunction holds whenever either disjunct does). Hence ¬(x∈C∖B)\neg(x \in C\setminus B), i.e. x∉C∖Bx \notin C\setminus B. Combined with x∈Ax \in A, we conclude x∈A∖(C∖B)x \in A \setminus (C\setminus B). Since xx was an arbitrary element of (A∩B)∖C(A\cap B)\setminus C, we have shown (A∩B)∖C⊆A∖(C∖B)(A\cap B)\setminus C \subseteq A\setminus(C\setminus B). ■\blacksquare It is worth noting explicitly that the reverse inclusion is false in general: take A={1,2}A = \{1,2\}, B={1}B = \{1\}, C={2}C = \{2\}. Then (A∩B)∖C={1}∖{2}={1}(A\cap B)\setminus C = \{1\}\setminus\{2\}=\{1\}, while C∖B={2}∖{1}={2}C \setminus B = \{2\}\setminus\{1\} = \{2\}, so A∖(C∖B)={1,2}∖{2}={1}A\setminus(C\setminus B) = \{1,2\}\setminus\{2\} = \{1\} — equal here. Try instead A={1,2,3}A=\{1,2,3\}, B={1}B=\{1\}, C={3}C=\{3\}: then (A∩B)∖C={1}∖{3}={1}(A\cap B)\setminus C = \{1\}\setminus\{3\}=\{1\}, but C∖B={3}∖{1}={3}C\setminus B = \{3\}\setminus\{1\}=\{3\}, so A∖(C∖B)={1,2,3}∖{3}={1,2}A \setminus (C\setminus B) = \{1,2,3\}\setminus\{3\}=\{1,2\}, which properly contains {1}\{1\} and is not a subset of it. This confirms the claim really is a one-directional inclusion, not a disguised equality — a fact one only discovers by attempting (and failing) to element-chase the reverse direction, which is itself part of the discipline of the method.

Counterexamplewhy "let xx be arbitrary" cannot be replaced by "check one specific xx"

Consider the false claim: "for all sets A,BA, B, if A∩B≠∅A \cap B \neq \varnothing then A⊆BA \subseteq B." A tempting but illegitimate "proof" picks a specific element to chase instead of an arbitrary one: "Let x∈A∩Bx \in A\cap B (such xx exists since A∩B≠∅A \cap B \neq \varnothing). Then x∈Ax \in A and x∈Bx \in B. Since x∈Bx \in B, and xx represents a generic element, every element of AA is in BB, so A⊆BA \subseteq B." This argument silently swaps a particular witness xx (one element known to lie in both sets) for an arbitrary one (standing for every element of AA), and that swap is the entire error — the Method of Element-Chasing requires the chased element to be genuinely arbitrary in AA, not merely known to exist in A∩BA\cap B. A concrete instance shows the conclusion is false: let A={1,2}A = \{1,2\}, B={1,3}B = \{1,3\}. Then A∩B={1}≠∅A \cap B = \{1\} \neq \varnothing, so the (false) hypothesis-implication's antecedent holds, yet A⊈BA \not\subseteq B because 2∈A2 \in A but 2∉B2 \notin B. The witness x=1x=1 used in the flawed argument really does satisfy x∈A∧x∈Bx \in A \wedge x \in B, but the flawed step "since x∈Bx\in B ... every element of AA is in BB" illegitimately promotes a fact about the one witness x=1x=1 to a universal claim about all elements of AA, including x=2x = 2, which was never chased at all. The lesson: in a correct element-chasing proof of A⊆BA\subseteq B, the variable xx must be introduced by "let xx be an arbitrary element of AA" — meaning xx is fixed but unconstrained beyond x∈Ax \in A — and the entire chain of unfoldings must apply to that xx under no assumption beyond membership in AA. Using a witness pulled from a smaller or differently-defined set (here, A∩BA \cap B) is not a proof about all of AA.

Scope, edge cases & common traps

SituationWhat to watch for
Empty set involved, e.g. A∖∅A \setminus \varnothingUnfold as usual: x∈A∖∅  ⟺  x∈A∧x∉∅x \in A \setminus \varnothing \iff x \in A \wedge x \notin \varnothing, and x∉∅x \notin \varnothing is always true, so this reduces correctly to x∈Ax \in A. No special-casing needed.
Universe UU not specifiedComplement ScS^c is only meaningful relative to a fixed ambient universe UU; state UU explicitly before unfolding x∈Scx \in S^c.
Infinite sets, indexed unions/intersectionsElement-chasing works unchanged; only the unfolding rule for indexed operations (x∈⋃iAi  ⟺  ∃i (x∈Ai)x \in \bigcup_i A_i \iff \exists i\, (x \in A_i)) is used instead of the binary rule.
Proving only ⊆\subseteq when equality is claimedBoth inclusions must be proved; one direction never automatically gives the other (see Example 2 and the counterexample).
Reusing the "same" xx across the two inclusion proofsEach inclusion proof introduces its own arbitrary xx; they are logically separate arguments even though written with the same symbol.
Confusing "xx arbitrary in AA" with "xx a specific witness"The most common student error — see the counterexample above.

The mathematician behind it

Origins · 1 minGeorg Cantor and how this was discovered
GC
Georg Cantor
1845–1918 · Founder of set theory, Halle, Germany

Cantor developed set theory as a rigorous framework for reasoning about infinite collections, motivated by problems in real analysis (the convergence behavior of Fourier series) that forced him to classify infinite sets of exceptional points. His insistence that two sets are identical exactly when they have the same elements — the principle now called Extensionality — underlies every element-chasing proof: it is precisely what licenses "show the same elements are in both sets" as a complete method for proving equality, rather than merely suggestive evidence.

History
- 1874 — Cantor publishes his first paper on the theory of infinite sets, comparing the sizes of the naturals and the reals.
- 1895–1897 — Cantor's Beiträge zur Begründung der transfiniten Mengenlehre systematically develops set operations (union, intersection, ordering) and treats set equality via shared membership.
- 1908 — Ernst Zermelo axiomatizes set theory, making the principle "sets with the same elements are equal" (Extensionality) an explicit axiom rather than an informal convention.
- 1920s–1930s — Zermelo–Fraenkel set theory (ZF), refined by Fraenkel and Skolem, becomes the standard foundation in which element-chasing proofs are formally justified.
- 1960s–present — Element-chasing becomes a standard pedagogical technique in undergraduate discrete mathematics and proof-writing courses (e.g., Halmos's Naive Set Theory, Velleman's How to Prove It), codifying the two-inclusion method as the default tool for set identities.
Why do I need to prove both ⊆\subseteq and ⊇\supseteq — isn't one direction usually "the same argument backwards"?

Sometimes the backward direction really does use the same steps in reverse (as in Example 1, where every unfolding rule is a biconditional and hence reversible). But this is not guaranteed: many set-theoretic claims are only inclusions, and attempting to reverse the argument will fail at a specific step — usually where a conjunction is weakened to one of its conjuncts, or a disjunction is derived from just one disjunct, since those steps are not reversible. Example 2 shows a genuine one-directional inclusion: reversing the given proof breaks down (and the reverse inclusion is in fact false, as the numeric counterexample there shows). Always attempt the reverse direction as an independent proof; do not assume symmetry.

Is element-chasing the only way to prove a set identity?

No. Once foundational identities (like De Morgan's laws and the distributive laws) are established, many later identities can be proved algebraically — substituting known identities into an expression and simplifying, much like algebra with numbers — without re-chasing elements from scratch. Truth tables can verify identities among finitely many named sets in general position (treating membership as a Boolean variable per set). But element-chasing is the foundational method: it is how the base identities are established in the first place, and it always works, even when no algebraic shortcut is visible.

Does element-chasing require the sets to be finite?

No, and this is one of its main virtues. The proofs above never assumed A,B,CA, B, C were finite, listable, or even well-orderable — they used only the logical unfolding rules for ∪,∩,∖\cup, \cap, \setminus, which hold for arbitrary sets, including infinite and even uncountable ones. This is precisely why element-chasing (rather than, say, checking a picture or a finite list of cases) is the correct general-purpose method; a Venn diagram only illustrates a typical finite configuration and cannot certify a claim about all sets.

What exactly is being "unfolded" when we write x∈A∖B  ⟺  x∈A∧x∉Bx \in A\setminus B \iff x\in A \wedge x \notin B?

The set A∖BA \setminus B is defined as {x∈U:x∈A∧x∉B}\{x \in U : x \in A \wedge x \notin B\} (relative to a universe UU, or simply as {x:x∈A∧x∉B}\{x : x \in A \wedge x \notin B\} if A,BA, B already live in a common universe). Membership in a set defined by a set-builder predicate PP is, by the defining property of set-builder notation, logically equivalent to the predicate itself holding: x∈{y:P(y)}  ⟺  P(x)x \in \{y : P(y)\} \iff P(x). So "unfolding" x∈A∖Bx \in A\setminus B is just invoking this defining equivalence for the particular predicate P(y):=(y∈A∧y∉B)P(y) := (y \in A \wedge y \notin B).

Can element-chasing prove a claim is false, or only that it is true?

Element-chasing directly proves inclusions and equalities. To refute a claimed inclusion A⊆BA \subseteq B, you do not chase an arbitrary element; instead you exhibit one specific element that is in AA but not in BB — a genuine counterexample, as in Example 2's numeric refutation of the reverse inclusion. This is the logical dual of the method: proving ∀x(x∈A⇒x∈B)\forall x (x\in A \Rightarrow x \in B) false requires only one witness x0x_0 with x0∈A∧x0∉Bx_0 \in A \wedge x_0 \notin B, since ¬∀x ϕ(x)\neg\forall x\, \phi(x) is equivalent to ∃x ¬ϕ(x)\exists x\, \neg\phi(x).

How does this connect to De Morgan's Laws for Sets?

De Morgan's Laws for Sets — (A∪B)c=Ac∩Bc(A\cup B)^c = A^c \cap B^c and (A∩B)c=Ac∪Bc(A\cap B)^c = A^c \cup B^c — are themselves proved by exactly this element-chasing method, unfolding x∈(A∪B)cx \in (A\cup B)^c into ¬(x∈A∨x∈B)\neg(x\in A \vee x \in B) and then invoking De Morgan's law for propositions to rewrite this as ¬(x∈A)∧¬(x∈B)\neg(x\in A)\wedge\neg(x\in B), i.e. x∈Ac∩Bcx \in A^c \cap B^c. This article's Example 1 already uses propositional De Morgan as an ingredient; the set-theoretic version is the direct next application of the same machinery.

Why does the method work at all — what guarantees it's not missing hidden cases?

Because the unfolding rules for ∪,∩,∖\cup,\cap,\setminus, and complement are stated as biconditionals covering every element of the universe, and because the arbitrary element xx introduced at the start of the proof is genuinely unconstrained beyond its hypothesized membership. Universal generalization — the logical principle that a fact proved about a wholly arbitrary xx holds for every xx — is what licenses concluding ∀x(⋯ )\forall x (\cdots) from a single argument about one unspecified xx. As long as no extra, unstated assumption about xx sneaks into the proof (the error illustrated in the counterexample), no case is missed.

Before this

Where this leads