mathlib documentation

topology.​algebra.​group

topology.​algebra.​group

@[class]
structure topological_group (α : Type u_1) [topological_space α] [group α] :
Prop

A topological group is a group in which the multiplication and inversion operations are continuous.

Instances
theorem continuous_neg {α : Type u} [topological_space α] [add_group α] [topological_add_group α] :
continuous (λ (x : α), -x)

theorem continuous_inv {α : Type u} [topological_space α] [group α] [topological_group α] :
continuous (λ (x : α), x⁻¹)

theorem continuous.​inv {α : Type u} {β : Type v} [topological_space α] [group α] [topological_group α] [topological_space β] {f : β → α} :
continuous fcontinuous (λ (x : β), (f x)⁻¹)

theorem continuous.​neg {α : Type u} {β : Type v} [topological_space α] [add_group α] [topological_add_group α] [topological_space β] {f : β → α} :
continuous fcontinuous (λ (x : β), -f x)

theorem continuous_on_neg {α : Type u} [topological_space α] [add_group α] [topological_add_group α] {s : set α} :
continuous_on (λ (x : α), -x) s

theorem continuous_on_inv {α : Type u} [topological_space α] [group α] [topological_group α] {s : set α} :
continuous_on (λ (x : α), x⁻¹) s

theorem continuous_on.​inv {α : Type u} {β : Type v} [topological_space α] [group α] [topological_group α] [topological_space β] {f : β → α} {s : set β} :
continuous_on f scontinuous_on (λ (x : β), (f x)⁻¹) s

theorem continuous_on.​neg {α : Type u} {β : Type v} [topological_space α] [add_group α] [topological_add_group α] [topological_space β] {f : β → α} {s : set β} :
continuous_on f scontinuous_on (λ (x : β), -f x) s

theorem tendsto_inv {α : Type u_1} [group α] [topological_space α] [topological_group α] (a : α) :
filter.tendsto (λ (x : α), x⁻¹) (nhds a) (nhds a⁻¹)

theorem tendsto_neg {α : Type u_1} [add_group α] [topological_space α] [topological_add_group α] (a : α) :
filter.tendsto (λ (x : α), -x) (nhds a) (nhds (-a))

theorem filter.​tendsto.​inv {α : Type u} {β : Type v} [topological_space α] [group α] [topological_group α] {f : β → α} {x : filter β} {a : α} :
filter.tendsto f x (nhds a)filter.tendsto (λ (x : β), (f x)⁻¹) x (nhds a⁻¹)

If a function converges to a value in a multiplicative topological group, then its inverse converges to the inverse of this value. For the version in normed fields assuming additionally that the limit is nonzero, use tendsto.inv'.

theorem filter.​tendsto.​neg {α : Type u} {β : Type v} [topological_space α] [add_group α] [topological_add_group α] {f : β → α} {x : filter β} {a : α} :
filter.tendsto f x (nhds a)filter.tendsto (λ (x : β), -f x) x (nhds (-a))

theorem continuous_at.​neg {α : Type u} {β : Type v} [topological_space α] [add_group α] [topological_add_group α] [topological_space β] {f : β → α} {x : β} :
continuous_at f xcontinuous_at (λ (x : β), -f x) x

theorem continuous_at.​inv {α : Type u} {β : Type v} [topological_space α] [group α] [topological_group α] [topological_space β] {f : β → α} {x : β} :
continuous_at f xcontinuous_at (λ (x : β), (f x)⁻¹) x

theorem continuous_within_at.​inv {α : Type u} {β : Type v} [topological_space α] [group α] [topological_group α] [topological_space β] {f : β → α} {s : set β} {x : β} :
continuous_within_at f s xcontinuous_within_at (λ (x : β), (f x)⁻¹) s x

theorem continuous_within_at.​neg {α : Type u} {β : Type v} [topological_space α] [add_group α] [topological_add_group α] [topological_space β] {f : β → α} {s : set β} {x : β} :
continuous_within_at f s xcontinuous_within_at (λ (x : β), -f x) s x

@[instance]
def prod.​topological_group {α : Type u} {β : Type v} [topological_space α] [group α] [topological_group α] [topological_space β] [group β] [topological_group β] :

Equations
def homeomorph.​add_left {α : Type u} [topological_space α] [add_group α] [topological_add_group α] :
α → α ≃ₜ α

theorem is_open_map_mul_left {α : Type u} [topological_space α] [group α] [topological_group α] (a : α) :
is_open_map (λ (x : α), a * x)

theorem is_open_map_add_left {α : Type u} [topological_space α] [add_group α] [topological_add_group α] (a : α) :
is_open_map (λ (x : α), a + x)

theorem is_closed_map_mul_left {α : Type u} [topological_space α] [group α] [topological_group α] (a : α) :
is_closed_map (λ (x : α), a * x)

theorem is_closed_map_add_left {α : Type u} [topological_space α] [add_group α] [topological_add_group α] (a : α) :
is_closed_map (λ (x : α), a + x)

def homeomorph.​add_right {α : Type u_1} [topological_space α] [add_group α] [topological_add_group α] :
α → α ≃ₜ α

theorem is_open_map_add_right {α : Type u} [topological_space α] [add_group α] [topological_add_group α] (a : α) :
is_open_map (λ (x : α), x + a)

theorem is_open_map_mul_right {α : Type u} [topological_space α] [group α] [topological_group α] (a : α) :
is_open_map (λ (x : α), x * a)

theorem is_closed_map_add_right {α : Type u} [topological_space α] [add_group α] [topological_add_group α] (a : α) :
is_closed_map (λ (x : α), x + a)

theorem is_closed_map_mul_right {α : Type u} [topological_space α] [group α] [topological_group α] (a : α) :
is_closed_map (λ (x : α), x * a)

def homeomorph.​neg (α : Type u_1) [topological_space α] [add_group α] [topological_add_group α] :
α ≃ₜ α

theorem exists_nhds_split {α : Type u} [topological_space α] [group α] [topological_group α] {s : set α} :
s nhds 1(∃ (V : set α) (H : V nhds 1), ∀ (v w : α), v Vw Vv * w s)

theorem exists_nhds_half {α : Type u} [topological_space α] [add_group α] [topological_add_group α] {s : set α} :
s nhds 0(∃ (V : set α) (H : V nhds 0), ∀ (v w : α), v Vw Vv + w s)

theorem exists_nhds_half_neg {α : Type u} [topological_space α] [add_group α] [topological_add_group α] {s : set α} :
s nhds 0(∃ (V : set α) (H : V nhds 0), ∀ (v : α), v V∀ (w : α), w Vv + -w s)

theorem exists_nhds_split_inv {α : Type u} [topological_space α] [group α] [topological_group α] {s : set α} :
s nhds 1(∃ (V : set α) (H : V nhds 1), ∀ (v : α), v V∀ (w : α), w Vv * w⁻¹ s)

theorem exists_nhds_split4 {α : Type u} [topological_space α] [group α] [topological_group α] {u : set α} :
u nhds 1(∃ (V : set α) (H : V nhds 1), ∀ {v w s t : α}, v Vw Vs Vt Vv * w * s * t u)

theorem exists_nhds_quarter {α : Type u} [topological_space α] [add_group α] [topological_add_group α] {u : set α} :
u nhds 0(∃ (V : set α) (H : V nhds 0), ∀ {v w s t : α}, v Vw Vs Vt Vv + w + s + t u)

theorem nhds_one_symm (α : Type u) [topological_space α] [group α] [topological_group α] :
filter.comap (λ (r : α), r⁻¹) (nhds 1) = nhds 1

theorem nhds_zero_symm (α : Type u) [topological_space α] [add_group α] [topological_add_group α] :
filter.comap (λ (r : α), -r) (nhds 0) = nhds 0

theorem nhds_translation_mul_inv {α : Type u} [topological_space α] [group α] [topological_group α] (x : α) :
filter.comap (λ (y : α), y * x⁻¹) (nhds 1) = nhds x

theorem nhds_translation_add_neg {α : Type u} [topological_space α] [add_group α] [topological_add_group α] (x : α) :
filter.comap (λ (y : α), y + -x) (nhds 0) = nhds x

theorem topological_group.​ext {G : Type u_1} [group G] {t t' : topological_space G} :
topological_group Gtopological_group Gnhds 1 = nhds 1t = t'

theorem topological_add_group.​ext {G : Type u_1} [add_group G] {t t' : topological_space G} :

theorem quotient_add_group_saturate {α : Type u} [add_group α] (N : add_subgroup α) (s : set α) :
coe ⁻¹' (coe '' s) = ⋃ (x : N), (λ (y : α), y + x.val) '' s

theorem quotient_group_saturate {α : Type u} [group α] (N : subgroup α) (s : set α) :
coe ⁻¹' (coe '' s) = ⋃ (x : N), (λ (y : α), y * x.val) '' s

@[instance]

Equations
  • _ = _
theorem continuous.​sub {α : Type u} {β : Type v} [topological_space α] [add_group α] [topological_add_group α] [topological_space β] {f g : β → α} :
continuous fcontinuous gcontinuous (λ (x : β), f x - g x)

theorem continuous_sub {α : Type u} [topological_space α] [add_group α] [topological_add_group α] :
continuous (λ (p : α × α), p.fst - p.snd)

theorem continuous_on.​sub {α : Type u} {β : Type v} [topological_space α] [add_group α] [topological_add_group α] [topological_space β] {f g : β → α} {s : set β} :
continuous_on f scontinuous_on g scontinuous_on (λ (x : β), f x - g x) s

theorem filter.​tendsto.​sub {α : Type u} {β : Type v} [topological_space α] [add_group α] [topological_add_group α] {f g : β → α} {x : filter β} {a b : α} :
filter.tendsto f x (nhds a)filter.tendsto g x (nhds b)filter.tendsto (λ (x : β), f x - g x) x (nhds (a - b))

theorem nhds_translation {α : Type u} [topological_space α] [add_group α] [topological_add_group α] (x : α) :
filter.comap (λ (y : α), y - x) (nhds 0) = nhds x

@[class]
structure add_group_with_zero_nhd  :
Type uType u

additive group with a neighbourhood around 0. Only used to construct a topology and uniform space.

This is currently only available for commutative groups, but it can be extended to non-commutative groups too.

theorem add_group_with_zero_nhd.​exists_Z_half {α : Type u} [add_group_with_zero_nhd α] {s : set α} :
s add_group_with_zero_nhd.Z α(∃ (V : set α) (H : V add_group_with_zero_nhd.Z α), ∀ (v : α), v V∀ (w : α), w Vv + w s)

theorem add_group_with_zero_nhd.​nhds_eq {α : Type u} [add_group_with_zero_nhd α] (a : α) :
nhds a = filter.map (λ (x : α), x + a) (add_group_with_zero_nhd.Z α)

theorem is_open_add_left {α : Type u} [topological_space α] [add_group α] [topological_add_group α] {s t : set α} :
is_open tis_open (s + t)

theorem is_open_mul_left {α : Type u} [topological_space α] [group α] [topological_group α] {s t : set α} :
is_open tis_open (s * t)

theorem is_open_mul_right {α : Type u} [topological_space α] [group α] [topological_group α] {s t : set α} :
is_open sis_open (s * t)

theorem is_open_add_right {α : Type u} [topological_space α] [add_group α] [topological_add_group α] {s t : set α} :
is_open sis_open (s + t)

Some results about an open set containing the product of two sets in a topological group.

theorem zero_open_separated_add {α : Type u} [topological_space α] [add_group α] [topological_add_group α] {U : set α} :
is_open U0 U(∃ (V : set α), is_open V 0 V V + V U)

Given a open neighborhood U of 0 there is a open neighborhood V of 0 such that V + V ⊆ U.

theorem one_open_separated_mul {α : Type u} [topological_space α] [group α] [topological_group α] {U : set α} :
is_open U1 U(∃ (V : set α), is_open V 1 V V * V U)

Given a open neighborhood U of 1 there is a open neighborhood V of 1 such that VV ⊆ U.

theorem compact_open_separated_add {α : Type u} [topological_space α] [add_group α] [topological_add_group α] {K U : set α} :
is_compact Kis_open UK U(∃ (V : set α), is_open V 0 V K + V U)

Given a compact set K inside an open set U, there is a open neighborhood V of 0 such that K + V ⊆ U.

theorem compact_open_separated_mul {α : Type u} [topological_space α] [group α] [topological_group α] {K U : set α} :
is_compact Kis_open UK U(∃ (V : set α), is_open V 1 V K * V U)

Given a compact set K inside an open set U, there is a open neighborhood V of 1 such that KV ⊆ U.

theorem compact_covered_by_mul_left_translates {α : Type u} [topological_space α] [group α] [topological_group α] {K V : set α} :
is_compact K(interior V).nonempty(∃ (t : finset α), K ⋃ (g : α) (H : g t), (λ (h : α), g * h) ⁻¹' V)

A compact set is covered by finitely many left multiplicative translates of a set with non-empty interior.

theorem compact_covered_by_add_left_translates {α : Type u} [topological_space α] [add_group α] [topological_add_group α] {K V : set α} :
is_compact K(interior V).nonempty(∃ (t : finset α), K ⋃ (g : α) (H : g t), (λ (h : α), g + h) ⁻¹' V)

A compact set is covered by finitely many left additive translates of a set with non-empty interior.

theorem nhds_add {α : Type u} [topological_space α] [add_comm_group α] [topological_add_group α] (x y : α) :
nhds (x + y) = nhds x + nhds y

theorem nhds_mul {α : Type u} [topological_space α] [comm_group α] [topological_group α] (x y : α) :
nhds (x * y) = nhds x * nhds y

theorem nhds_is_add_hom {α : Type u} [topological_space α] [add_comm_group α] [topological_add_group α] :
is_add_hom (λ (x : α), nhds x)

theorem nhds_is_mul_hom {α : Type u} [topological_space α] [comm_group α] [topological_group α] :
is_mul_hom (λ (x : α), nhds x)