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 f → continuous (λ (x : β), (f x)⁻¹)

theorem continuous.​neg {α : Type u} {β : Type v} [topological_space α] [add_group α] [topological_add_group α] [topological_space β] {f : β → α} :
continuous f → continuous (λ (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 s → continuous_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 s → continuous_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 x → continuous_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 x → continuous_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 x → continuous_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 x → continuous_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 ∈ V → w ∈ V → v * 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 ∈ V → w ∈ V → v + 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 ∈ V → v + -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 ∈ V → v * 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 ∈ V → w ∈ V → s ∈ V → t ∈ V → v * 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 ∈ V → w ∈ V → s ∈ V → t ∈ V → v + 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 G → topological_group G → nhds 1 = nhds 1 → t = 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 f → continuous g → continuous (λ (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 s → continuous_on g s → continuous_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 u → Type 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 ∈ V → v + 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 t → is_open (s + t)

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

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

theorem is_open_add_right {α : Type u} [topological_space α] [add_group α] [topological_add_group α] {s t : set α} :
is_open s → is_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 U → 0 ∈ 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 U → 1 ∈ 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 K → is_open U → K ⊆ 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 K → is_open U → K ⊆ 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)