# mathlibdocumentation

topology.algebra.uniform_group

# Uniform structure on topological groups

• topological_add_group.to_uniform_space and topological_add_group_is_uniform can be used to construct a canonical uniformity for a topological add group.

• extension of ℤ-bilinear maps to complete groups (useful for ring completions)

• add_group_with_zero_nhd: construct the topological structure from a group with a neighbourhood around zero. Then with topological_add_group.to_uniform_space one can derive a uniform_space.

@[class]
Prop

A uniform (additive) group is a group in which the addition and negation are uniformly continuous.

Instances
uniform_continuous (λ (p : α × α), p.fst + p.snd)uniform_continuous (λ (p : α), -p)

theorem uniform_continuous_sub {α : Type u_1} [add_group α]  :
uniform_continuous (λ (p : α × α), p.fst - p.snd)

theorem uniform_continuous.sub {α : Type u_1} {β : Type u_2} [add_group α] {f g : β → α} :
uniform_continuous (λ (x : β), f x - g x)

theorem uniform_continuous.neg {α : Type u_1} {β : Type u_2} [add_group α] {f : β → α} :
uniform_continuous (λ (x : β), -f x)

theorem uniform_continuous_neg {α : Type u_1} [add_group α]  :
uniform_continuous (λ (x : α), -x)

theorem uniform_continuous.add {α : Type u_1} {β : Type u_2} [add_group α] {f g : β → α} :
uniform_continuous (λ (x : β), f x + g x)

uniform_continuous (λ (p : α × α), p.fst + p.snd)

@[instance]

@[instance]

theorem uniformity_translate {α : Type u_1} [add_group α] (a : α) :
filter.map (λ (x : α × α), (x.fst + a, x.snd + a)) (𝓤 α) = 𝓤 α

theorem uniform_embedding_translate {α : Type u_1} [add_group α] (a : α) :
uniform_embedding (λ (x : α), x + a)

theorem uniformity_eq_comap_nhds_zero (α : Type u_1) [add_group α]  :
𝓤 α = filter.comap (λ (x : α × α), x.snd - x.fst) (𝓝 0)

theorem group_separation_rel {α : Type u_1} [add_group α] (x y : α) :
(x, y) 𝓢 α x - y closure {0}

theorem uniform_continuous_of_tendsto_zero {α : Type u_1} {β : Type u_2} [add_group α] [add_group β] {f : α → β}  :
(𝓝 0) (𝓝 0)

theorem uniform_continuous_of_continuous {α : Type u_1} {β : Type u_2} [add_group α] [add_group β] {f : α → β}  :

The right uniformity on a topological group.

Equations
theorem uniformity_eq_comap_nhds_zero' (G : Type u)  :
𝓤 G = filter.comap (λ (p : G × G), p.snd - p.fst) (𝓝 0)

theorem topological_add_group_is_uniform {G : Type u}  :

theorem to_uniform_space_eq {α : Type u} [u : uniform_space α]  :

@[class]
structure add_comm_group.is_Z_bilin {α : Type u_1} {β : Type u_2} {γ : Type u_3}  :
× β → γ) → Prop
• add_left : ∀ (a a' : α) (b : β), f (a + a', b) = f (a, b) + f (a', b)
• add_right : ∀ (a : α) (b b' : β), f (a, b + b') = f (a, b) + f (a, b')

ℤ-bilinearity for maps between additive commutative groups.

Instances
theorem add_comm_group.is_Z_bilin.comp_hom {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} (f : α × β → γ) {g : γ → δ}  :

@[instance]
def add_comm_group.is_Z_bilin.comp_swap {α : Type u_1} {β : Type u_2} {γ : Type u_3} (f : α × β → γ)  :

theorem add_comm_group.is_Z_bilin.zero_left {α : Type u_1} {β : Type u_2} {γ : Type u_3} (f : α × β → γ) (b : β) :
f (0, b) = 0

theorem add_comm_group.is_Z_bilin.zero_right {α : Type u_1} {β : Type u_2} {γ : Type u_3} (f : α × β → γ) (a : α) :
f (a, 0) = 0

theorem add_comm_group.is_Z_bilin.zero {α : Type u_1} {β : Type u_2} {γ : Type u_3} (f : α × β → γ)  :
f (0, 0) = 0

theorem add_comm_group.is_Z_bilin.neg_left {α : Type u_1} {β : Type u_2} {γ : Type u_3} (f : α × β → γ) (a : α) (b : β) :
f (-a, b) = -f (a, b)

theorem add_comm_group.is_Z_bilin.neg_right {α : Type u_1} {β : Type u_2} {γ : Type u_3} (f : α × β → γ) (a : α) (b : β) :
f (a, -b) = -f (a, b)

theorem add_comm_group.is_Z_bilin.sub_left {α : Type u_1} {β : Type u_2} {γ : Type u_3} (f : α × β → γ) (a a' : α) (b : β) :
f (a - a', b) = f (a, b) - f (a', b)

theorem add_comm_group.is_Z_bilin.sub_right {α : Type u_1} {β : Type u_2} {γ : Type u_3} (f : α × β → γ) (a : α) (b b' : β) :
f (a, b - b') = f (a, b) - f (a, b')

theorem is_Z_bilin.tendsto_zero_left {α : Type u_1} {β : Type u_2} {G : Type u_5} {ψ : α × β → G} (hψ : continuous ψ) [ψbilin : add_comm_group.is_Z_bilin ψ] (x₁ : α) :
(𝓝 (x₁, 0)) (𝓝 0)

theorem is_Z_bilin.tendsto_zero_right {α : Type u_1} {β : Type u_2} {G : Type u_5} {ψ : α × β → G} (hψ : continuous ψ) [ψbilin : add_comm_group.is_Z_bilin ψ] (y₁ : β) :
(𝓝 (0, y₁)) (𝓝 0)

theorem tendsto_sub_comap_self {α : Type u_1} {β : Type u_2} {e : β → α} (de : dense_inducing e) (x₀ : α) :
filter.tendsto (λ (t : β × β), t.snd - t.fst) (filter.comap (λ (p : β × β), (e p.fst, e p.snd)) (𝓝 (x₀, x₀))) (𝓝 0)

theorem dense_inducing.extend_Z_bilin {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} {G : Type u_5} {e : β → α} (de : dense_inducing e) {f : δ → γ} (df : dense_inducing f) {φ : β × δ → G} (hφ : continuous φ) [bilin : add_comm_group.is_Z_bilin φ] :

Bourbaki GT III.6.5 Theorem I: ℤ-bilinear continuous maps from dense images into a complete Hausdorff group extend by continuity. Note: Bourbaki assumes that α and β are also complete Hausdorff, but this is not necessary.