Axiom of extensionality

In axiomatic set theory and the branches of logic, mathematics, and computer science that use it, the axiom of extensionality, axiom of extension, or axiom of extent, is one of the axioms of Zermelo–Fraenkel set theory. Informally, it says that the two sets A and B are equal if and only if A and B have the same members.

Formal statement
In the formal language of the Zermelo–Fraenkel axioms, the axiom reads:


 * $$\forall A \, \forall B \, ( \forall X \, (X \in A \iff X \in B) \implies A = B)$$

or in words:
 * Given any set A and any set B, if for every set X, X is a member of A if and only if X is a member of B, then A is equal to B.
 * (It is not really essential that X here be a set&mdash;but in ZF, everything is. See Ur-elements below for when this is violated.)

The converse, $$\forall A \, \forall B \, (A = B \implies \forall X \, (X \in A \iff X \in B) ),$$ of this axiom follows from the substitution property of equality.

Interpretation
To understand this axiom, note that the clause in parentheses in the symbolic statement above simply states that A and B have precisely the same members. Thus, what the axiom is really saying is that two sets are equal if and only if they have precisely the same members. One may also interpret this axiom as:
 * A set is determined uniquely by its members.

The axiom of extensionality can be used with any statement of the form $$\exists A \, \forall X \, (X \in A \iff P(X) \, )$$, where P is any unary predicate that does not mention A, to define a unique set $$A$$ whose members are precisely the sets satisfying the predicate $$P$$. We can then introduce a new symbol for $$A$$; it's in this way that definitions in ordinary mathematics ultimately work when their statements are reduced to purely set-theoretic terms.

The axiom of extensionality is generally uncontroversial in set-theoretical foundations of mathematics, and it or an equivalent appears in just about any alternative axiomatisation of set theory. However, it may require modifications for some purposes, as below.

In predicate logic without equality
The axiom given above assumes that equality is a primitive symbol in predicate logic. Some treatments of axiomatic set theory prefer to do without this, and instead treat the above statement not as an axiom but as a definition of equality. Then it is necessary to include the usual axioms of equality from predicate logic as axioms about this defined symbol. Most of the axioms of equality still follow from the definition; the remaining one is the substitution property,
 * $$\forall A \, \forall B \, ( \forall X \, (X \in A \iff X \in B) \implies \forall Y \, (A \in Y \iff B \in Y) \, ),$$

and it becomes this axiom that is referred to as the axiom of extensionality in this context.

In set theory with ur-elements
An ur-element is a member of a set that is not itself a set. In the Zermelo–Fraenkel axioms, there are no ur-elements, but they are included in some alternative axiomatisations of set theory. Ur-elements can be treated as a different logical type from sets; in this case, $$B \in A$$ makes no sense if $$A$$ is an ur-element, so the axiom of extensionality simply applies only to sets.

Alternatively, in untyped logic, we can require $$B \in A$$ to be false whenever $$A$$ is an ur-element. In this case, the usual axiom of extensionality would then imply that every ur-element is equal to the empty set. To avoid this consequence, we can modify the axiom of extensionality to apply only to nonempty sets, so that it reads:


 * $$\forall A \, \forall B \, ( \exists X \, (X \in A) \implies [ \forall Y \, (Y \in A \iff Y \in B) \implies A = B ] \, ).$$

That is:
 * Given any set A and any set B, if A is a nonempty set (that is, if there exists a member X of A), then if A and B have precisely the same members, then they are equal.

Yet another alternative in untyped logic is to define $$A$$ itself to be the only element of $$A$$ whenever $$A$$ is an ur-element. While this approach can serve to preserve the axiom of extensionality, the axiom of regularity will need an adjustment instead.