Stone-Čech compactification #
Construction of the Stone-Čech compactification using ultrafilters.
For any topological space α, we build a compact Hausdorff space StoneCech α and a continuous map stoneCechUnit : α → StoneCech α which is minimal in the sense of the following universal property: for any compact Hausdorff space β and every map f : α → β such that hf : Continuous f, there is a unique map stoneCechExtend hf : StoneCech α → β such that stoneCechExtend_extends : stoneCechExtend hf ∘ stoneCechUnit = f. Continuity of this extension is asserted by continuous_stoneCechExtend and uniqueness by stoneCech_hom_ext.
Beware that the terminology “extend” is slightly misleading since stoneCechUnit is not always injective, so one cannot always think of α as being “inside” its compactification StoneCech α.
Implementation notes #
Parts of the formalization are based on “Ultrafilters and Topology” by Marius Stekelenburg, particularly section 5. However the construction in the general case is different because the equivalence relation on spaces of ultrafilters described by Stekelenburg causes issues with universes since it involves a condition on all compact Hausdorff spaces. We replace it by a two steps construction. The first step called PreStoneCech guarantees the expected universal property but not the Hausdorff condition. We then define StoneCech α as T2Quotient (PreStoneCech α).
Basis for the topology on Ultrafilter α.
Equations
- ultrafilterBasis α = Set.range fun (s : Set α) => {u : Ultrafilter α | s ∈ u}
Instances For
Every ultrafilter u on Ultrafilter α converges to a unique point of Ultrafilter α, namely joinM u.
Alias of Ultrafilter.pure_injective.
The range of pure : α → Ultrafilter α is dense in Ultrafilter α.
The map pure : α → Ultrafilter α induces on α the discrete topology.
pure : α → Ultrafilter α defines a dense inducing of α in Ultrafilter α.
pure : α → Ultrafilter α defines a dense embedding of α in Ultrafilter α.
The extension of a function α → γ to a function Ultrafilter α → γ. When γ is a compact Hausdorff space it will be continuous.
Equations
- Ultrafilter.extend f = ⋯.extend f
Instances For
The value of Ultrafilter.extend f on an ultrafilter b is the unique limit of the ultrafilter b.map f in γ.
Auxiliary construction towards the Stone-Čech compactification of a topological space. It should not be used after the Stone-Čech compactification is constructed.
Equations
- PreStoneCech α = Quot fun (F G : Ultrafilter α) => ∃ (x : α), ↑F ≤ nhds x ∧ ↑G ≤ nhds x
Instances For
Equations
- instTopologicalSpacePreStoneCech = inferInstanceAs (TopologicalSpace (Quot fun (F G : Ultrafilter α) => ∃ (x : α), ↑F ≤ nhds x ∧ ↑G ≤ nhds x))
Equations
- instInhabitedPreStoneCech = inferInstanceAs (Inhabited (Quot fun (F G : Ultrafilter α) => ∃ (x : α), ↑F ≤ nhds x ∧ ↑G ≤ nhds x))
The natural map from α to its pre-Stone-Čech compactification.
Equations
- preStoneCechUnit x = Quot.mk (fun (F G : Ultrafilter α) => ∃ (x : α), ↑F ≤ nhds x ∧ ↑G ≤ nhds x) (pure x)
Instances For
The extension of a continuous function from α to a compact Hausdorff space β to the pre-Stone-Čech compactification of α.
Equations
- preStoneCechExtend hg = Quot.lift (Ultrafilter.extend g) ⋯
Instances For
The Stone-Čech compactification of a topological space.
Equations
- StoneCech α = T2Quotient (PreStoneCech α)
Instances For
Equations
Equations
The natural map from α to its Stone-Čech compactification.
Equations
Instances For
The image of stoneCechUnit is dense. (But stoneCechUnit need not be an embedding, for example if the original space is not Hausdorff.)
The extension of a continuous function from α to a compact Hausdorff space β to the Stone-Čech compactification of α. This extension implements the universal property of this compactification.