It is a striking fact that these minimal additions to first-order logic allow us to define the rest of the notation of set theory, so that we need not add any more primitives to the language itself.

For example, we can define some familiar set-theoretic ideas as follows.

We could add a clause specifying that this set must be unique (i.e. that for any set , if if and only if it is or or ...or , then . However, the Axiom of Extensionality guarantees that this will be true whenever the definition above is satisfied, so we do not need to add this explicitly.

This time we have listed both the existence and uniqueness requirements. Notice that the first conjunct says that there is a set consisting of all the items of which is true. The Axiom of Comprehension guarantees that there will be such a set for every property expressible in first order logic, so it guarantees that there will be a set that satisfies the first conjunct. The second conjunct says that there is no more than one set that satisfies the property . The Axiom of Extensionality guarantees that this conjunct will be satisfied whenever the first conjunct is. So, taken together, the two axioms guarantee that there will always be a set that satisfies the conditions for being denoted by {}, thus guaranteeing that brace notation always succeeds in identifying a unique set.

We can give similar definitions for the intersection and union functions:

(We have simply written these definitions as biconditionals. We could regard these biconditionals as additional axioms of our formal system, but to keep the system simple we will instead regard the right-hand side of the biconditional as defining the left-hand side. The definitions of list and brace notion could be written in this way as well.)

We can also define the relations of subset and proper subset.

Here '' is simply a helpful abbreviation of the negation ''.