  Classical Zermelo-Fraenkel set theory is based on classical first-order predicate logic with equality. On top of the logical principles are axioms and schemata which describe the notion of set the theory codifies. These principles can be classified into three kinds. First, there are principles that enable us to form new sets from given ones. For example, the axiom of pair allows us to form a set which is the pair of two given sets. Secondly, there are principles that establish properties of the set theoretic structure. For example, the axiom of extensionality identifies all sets having the same elements. Third, and finally, there are axioms asserting the existence of specific sets. Thus the axiom of infinity states that there is an infinite set. These principles all together are usually called the set-theoretic principles.