This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help to improve this article by introducing more precise citations. (March 2013) (Learn how and when to remove this template message)

In axiomatic set theory and the branches of logic, mathematics, and computer science that use it, the **axiom of extensionality**, or **axiom of extension**, is one of the axioms of Zermelo–Fraenkel set theory. It says that sets having the same elements are the same set.

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

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*— but in**ZF**, everything is. See**Ur-elements**below for when this is violated.)

The converse, of this axiom follows from the substitution property of equality.

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.
The essence of this is:

- A set is determined uniquely by its members.

The axiom of extensionality can be used with any statement of the form
,
where *P* is any unary predicate that does not mention *A*, to define a unique set whose members are precisely the sets satisfying the predicate .
We can then introduce a new symbol for ; 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.

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.^{[1]}
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,

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

A 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, makes no sense if is an ur-element, so the axiom of extensionality simply applies only to sets.

Alternatively, in untyped logic, we can require to be false whenever 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:

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 itself to be the only element of whenever is an ur-element. While this approach can serve to preserve the axiom of extensionality, the axiom of regularity will need an adjustment instead.