Documentation

Mathlib.Topology.UniformSpace.Completion

Hausdorff completions of uniform spaces #

The goal is to construct a left-adjoint to the inclusion of complete Hausdorff uniform spaces into all uniform spaces. Any uniform space α gets a completion Completion α and a morphism (ie. uniformly continuous map) (↑) : α → Completion α which solves the universal mapping problem of factorizing morphisms from α to any complete Hausdorff uniform space β. It means any uniformly continuous f : α → β gives rise to a unique morphism Completion.extension f : Completion α → β such that f = Completion.extension f ∘ (↑). Actually Completion.extension f is defined for all maps from α to β but it has the desired properties only if f is uniformly continuous.

Beware that (↑) is not injective if α is not Hausdorff. But its image is always dense. The adjoint functor acting on morphisms is then constructed by the usual abstract nonsense. For every uniform spaces α and β, it turns f : α → β into a morphism Completion.map f : Completion α → Completion β such that (↑) ∘ f = (Completion.map f) ∘ (↑) provided f is uniformly continuous. This construction is compatible with composition.

In this file we introduce the following concepts:

References #

This formalization is mostly based on N. Bourbaki: General Topology I. M. James: Topologies and Uniformities From a slightly different perspective in order to reuse material in Topology.UniformSpace.Basic.

def CauchyFilter (α : Type u) [UniformSpace α] :

Space of Cauchy filters

This is essentially the completion of a uniform space. The embeddings are the neighbourhood filters. This space is not minimal, the separated uniform space (i.e. quotiented on the intersection of all entourages) is necessary for this.

Equations
Instances For
def CauchyFilter.gen {α : Type u} [UniformSpace α] (s : Set (α × α)) :

The pairs of Cauchy filters generated by a set.

Equations
Equations
theorem CauchyFilter.basis_uniformity {α : Type u} [UniformSpace α] {ι : Sort u_1} {p : ιProp} {s : ιSet (α × α)} (h : (uniformity α).HasBasis p s) :
theorem CauchyFilter.mem_uniformity' {α : Type u} [UniformSpace α] {s : Set (CauchyFilter α × CauchyFilter α)} :
s uniformity (CauchyFilter α) tuniformity α, ∀ (f g : CauchyFilter α), t f ×ˢ g(f, g) s
def CauchyFilter.pureCauchy {α : Type u} [UniformSpace α] (a : α) :

Embedding of α into its completion CauchyFilter α

Equations
@[deprecated CauchyFilter.isUniformInducing_pureCauchy (since := "2024-10-05")]

Alias of CauchyFilter.isUniformInducing_pureCauchy.

@[deprecated CauchyFilter.isUniformEmbedding_pureCauchy (since := "2024-10-01")]

Alias of CauchyFilter.isUniformEmbedding_pureCauchy.

@[deprecated CauchyFilter.isDenseEmbedding_pureCauchy (since := "2024-09-30")]

Alias of CauchyFilter.isDenseEmbedding_pureCauchy.

def CauchyFilter.extend {α : Type u} [UniformSpace α] {β : Type v} [UniformSpace β] (f : αβ) :
CauchyFilter αβ

Extend a uniformly continuous function α → β to a function CauchyFilter α → β. Outputs junk when f is not uniformly continuous.

Equations
theorem CauchyFilter.extend_pureCauchy {α : Type u} [UniformSpace α] {β : Type v} [UniformSpace β] [T0Space β] {f : αβ} (hf : UniformContinuous f) (a : α) :
extend f (pureCauchy a) = f a
theorem CauchyFilter.inseparable_iff_of_le_nhds {α : Type u} [UniformSpace α] {f g : CauchyFilter α} {a b : α} (ha : f nhds a) (hb : g nhds b) :
theorem CauchyFilter.cauchyFilter_eq {α : Type u_1} [UniformSpace α] [CompleteSpace α] [T0Space α] {f g : CauchyFilter α} :
lim f = lim g Inseparable f g

Hausdorff completion of α

Equations
Instances For

The map from a uniform space to its completion.

Equations

Automatic coercion from α to its completion. Not always injective.

Equations
@[deprecated UniformSpace.Completion.isUniformInducing_coe (since := "2024-10-05")]

Alias of UniformSpace.Completion.isUniformInducing_coe.

theorem UniformSpace.Completion.comap_coe_eq_uniformity (α : Type u_1) [UniformSpace α] :
Filter.comap (fun (p : α × α) => (p.1, p.2)) (uniformity (Completion α)) = uniformity α

The Haudorff completion as an abstract completion.

Equations
  • One or more equations did not get rendered due to their size.
@[deprecated UniformSpace.Completion.isUniformEmbedding_coe (since := "2024-10-01")]

Alias of UniformSpace.Completion.isUniformEmbedding_coe.

@[deprecated UniformSpace.Completion.isDenseEmbedding_coe (since := "2024-09-30")]

Alias of UniformSpace.Completion.isDenseEmbedding_coe.

theorem UniformSpace.Completion.denseRange_coe₂ {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] :
DenseRange fun (x : α × β) => (x.1, x.2)
theorem UniformSpace.Completion.denseRange_coe₃ {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] {γ : Type u_3} [UniformSpace γ] :
DenseRange fun (x : α × β × γ) => (x.1, x.2.1, x.2.2)
theorem UniformSpace.Completion.induction_on {α : Type u_1} [UniformSpace α] {p : Completion αProp} (a : Completion α) (hp : IsClosed {a : Completion α | p a}) (ih : ∀ (a : α), p a) :
p a
theorem UniformSpace.Completion.induction_on₂ {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] {p : Completion αCompletion βProp} (a : Completion α) (b : Completion β) (hp : IsClosed {x : Completion α × Completion β | p x.1 x.2}) (ih : ∀ (a : α) (b : β), p a b) :
p a b
theorem UniformSpace.Completion.induction_on₃ {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] {γ : Type u_3} [UniformSpace γ] {p : Completion αCompletion βCompletion γProp} (a : Completion α) (b : Completion β) (c : Completion γ) (hp : IsClosed {x : Completion α × Completion β × Completion γ | p x.1 x.2.1 x.2.2}) (ih : ∀ (a : α) (b : β) (c : γ), p a b c) :
p a b c
theorem UniformSpace.Completion.ext {α : Type u_1} [UniformSpace α] {Y : Type u_4} [TopologicalSpace Y] [T2Space Y] {f g : Completion αY} (hf : Continuous f) (hg : Continuous g) (h : ∀ (a : α), f a = g a) :
f = g
theorem UniformSpace.Completion.ext' {α : Type u_1} [UniformSpace α] {Y : Type u_4} [TopologicalSpace Y] [T2Space Y] {f g : Completion αY} (hf : Continuous f) (hg : Continuous g) (h : ∀ (a : α), f a = g a) (a : Completion α) :
f a = g a
def UniformSpace.Completion.extension {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] (f : αβ) :
Completion αβ

"Extension" to the completion. It is defined for any map f but returns an arbitrary constant value if f is not uniformly continuous

Equations
theorem UniformSpace.Completion.extension_coe {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] {f : αβ} [T0Space β] (hf : UniformContinuous f) (a : α) :
theorem UniformSpace.Completion.extension_unique {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] {f : αβ} [T0Space β] [CompleteSpace β] (hf : UniformContinuous f) {g : Completion αβ} (hg : UniformContinuous g) (h : ∀ (a : α), f a = g a) :
def UniformSpace.Completion.map {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] (f : αβ) :

Completion functor acting on morphisms

Equations
theorem UniformSpace.Completion.continuous_map {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] {f : αβ} :
theorem UniformSpace.Completion.map_coe {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] {f : αβ} (hf : UniformContinuous f) (a : α) :
Completion.map f a = (f a)
theorem UniformSpace.Completion.map_unique {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] {f : αβ} {g : Completion αCompletion β} (hg : UniformContinuous g) (h : ∀ (a : α), (f a) = g a) :
theorem UniformSpace.Completion.extension_map {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] {γ : Type u_3} [UniformSpace γ] [CompleteSpace γ] [T0Space γ] {f : βγ} {g : αβ} (hf : UniformContinuous f) (hg : UniformContinuous g) :
theorem UniformSpace.Completion.map_comp {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] {γ : Type u_3} [UniformSpace γ] {g : βγ} {f : αβ} (hg : UniformContinuous g) (hf : UniformContinuous f) :

The isomorphism between the completion of a uniform space and the completion of its separation quotient.

Equations
  • One or more equations did not get rendered due to their size.
def UniformSpace.Completion.extension₂ {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] {γ : Type u_3} [UniformSpace γ] (f : αβγ) :
Completion αCompletion βγ

Extend a two variable map to the Hausdorff completions.

Equations
theorem UniformSpace.Completion.extension₂_coe_coe {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] {γ : Type u_3} [UniformSpace γ] {f : αβγ} [T0Space γ] (hf : UniformContinuous₂ f) (a : α) (b : β) :
Completion.extension₂ f a b = f a b
def UniformSpace.Completion.map₂ {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] {γ : Type u_3} [UniformSpace γ] (f : αβγ) :

Lift a two variable map to the Hausdorff completions.

Equations
theorem UniformSpace.Completion.continuous_map₂ {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] {γ : Type u_3} [UniformSpace γ] {δ : Type u_4} [TopologicalSpace δ] {f : αβγ} {a : δCompletion α} {b : δCompletion β} (ha : Continuous a) (hb : Continuous b) :
Continuous fun (d : δ) => Completion.map₂ f (a d) (b d)
theorem UniformSpace.Completion.map₂_coe_coe {α : Type u_1} [UniformSpace α] {β : Type u_2} [UniformSpace β] {γ : Type u_3} [UniformSpace γ] (a : α) (b : β) (f : αβγ) (hf : UniformContinuous₂ f) :
Completion.map₂ f a b = (f a b)