Axiomatic Set Theory and the ZFC Framework
Set theory is often called the “language of mathematics.” Virtually every mathematical object—numbers, functions, manifolds, operators—can be formally defined as a set. However, early “Naive Set Theory” was plagued by logical inconsistencies, the most famous being Russell’s Paradox. To resolve these, mathematicians developed Axiomatic Set Theory, primarily the Zermelo-Fraenkel axioms with the Axiom of Choice (ZFC).
Russell’s Paradox and the Necessity of Axioms
In Naive Set Theory, one could define a set through any property : . Bertrand Russell asked: if we define (the set of all sets that do not contain themselves), does contain itself?
- If , then by definition .
- If , then by definition .
This contradiction showed that “the set of all sets” cannot exist and that set construction must be restricted. ZFC provides these restrictions.
The Axioms of ZFC
ZFC consists of several axioms that define how sets behave and how they can be constructed.
- Extensionality: Two sets are equal if and only if they have the same elements. .
- Empty Set: There exists a set with no elements, denoted .
- Pairing: For any sets and , there exists a set containing exactly and .
- Union: For any set , there exists a set that contains all elements of the elements of .
- Power Set: For any set , there exists a set containing all subsets of .
- Specification (Separation): Given a set and a predicate , there exists a set . This avoids Russell’s paradox because we can only take subsets of existing sets.
- Infinity: There exists an infinite set. This is typically used to construct the natural numbers .
- Replacement: If a formula defines a function, then the image of any set under that function is also a set.
- Regularity (Foundation): Every non-empty set contains an element such that . This prevents “loops” (like ) and infinite descending chains of membership.
- Axiom of Choice (AC): Given a collection of non-empty sets, there exists a “choice function” that selects one element from each set.
Constructing the Universe: The Von Neumann Hierarchy
Using these axioms, we can build the entire mathematical universe, denoted .
- Natural Numbers: We define . This is the Von Neumann construction of ordinals.
- Functions: A function is defined as a subset of the Cartesian product (which is itself a set of ordered pairs) such that for every , there is exactly one pair in the set.
- Real Numbers: Constructed from via Dedekind cuts or Cauchy sequences of rationals—both of which are sets of sets.
Ordinals and Cardinals
Set theory distinguishes between two ways of “counting”:
- Ordinals: Describe the order type of a well-ordered set. They extend the concept of “position” (1st, 2nd, 3rd, \dots, , ).
- Cardinals: Describe the size of a set. Two sets have the same cardinality if there exists a bijection between them. Cantor’s Theorem proved that for any set, revealing a hierarchy of infinite sizes ().
The Role of the Axiom of Choice
The Axiom of Choice is unique because it asserts the existence of a set without providing a construction for it. While essential for most of modern analysis and algebra (e.g., proving that every vector space has a basis), it leads to the Banach-Tarski Paradox, which states that a solid ball can be decomposed into a finite number of pieces and reassembled into two solid balls of the same size. This highlights the distinction between mathematical existence and physical intuition.
Set Operations in Type Systems
While pure set theory deals with untyped membership, modern type theory (used in programming and formal logic) imposes a hierarchy to avoid paradoxes.
// A simplified 'Set' representation in a typed language
type MathSet<T> = {
contains: (element: T) => boolean;
// The Power Set would theoretically return MathSet<MathSet<T>>
};
const EmptySet: MathSet<any> = {
contains: () => false
};
const Singleton = <T>(val: T): MathSet<T> => ({
contains: (x) => x === val
});
// Union Operation
const Union = <T>(a: MathSet<T>, b: MathSet<T>): MathSet<T> => ({
contains: (x) => a.contains(x) || b.contains(x)
});
In ZFC, every element is itself a set. In the code above, T represents the “universe” we are working within. In the “pure” set-theoretic view, there is only one type: Set. Everything is a set, and the only relation is . By mastering this abstraction, we gain the tools to define any mathematical structure with absolute precision.