Skip to content

Commit

Permalink
feat(topology/algebra): Cauchy filters on groups (#9512)
Browse files Browse the repository at this point in the history
This adds a tiny file but putting this lemma in `topology/algebra/filter_basis.lean` would make that file import a lot of uniform spaces theory. This is a modernized version of code from the perfectoid spaces project.
  • Loading branch information
PatrickMassot committed Oct 3, 2021
1 parent 44f4d70 commit bc5a081
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions src/topology/algebra/uniform_filter_basis.lean
@@ -0,0 +1,49 @@
/-
Copyright (c) 2021 Patrick Massot. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Patrick Massot
-/

import topology.algebra.filter_basis
import topology.algebra.uniform_group

/-!
# Uniform properties of neighborhood bases in topological algebra
This files contains properties of filter bases on algebraic structures that also require the theory
of uniform spaces.
The only result so far is a characterization of Cauchy filters in topological groups.
-/

open_locale uniformity filter
open filter

namespace add_group_filter_basis

variables {G : Type*} [add_comm_group G] (B : add_group_filter_basis G)

/-- The uniform space structure associated to an abelian group filter basis via the associated
topological abelian group structure. -/
protected def uniform_space : uniform_space G :=
@topological_add_group.to_uniform_space G _ B.topology B.is_topological_add_group

/-- The uniform space structure associated to an abelian group filter basis via the associated
topological abelian group structure is compatible with its group structure. -/
protected lemma uniform_add_group : @uniform_add_group G B.uniform_space _:=
@topological_add_group_is_uniform G _ B.topology B.is_topological_add_group

lemma cauchy_iff {F : filter G} :
@cauchy G B.uniform_space F ↔ F.ne_bot ∧ ∀ U ∈ B, ∃ M ∈ F, ∀ x y ∈ M, y - x ∈ U :=
begin
letI := B.uniform_space,
haveI := B.uniform_add_group,
suffices : F ×ᶠ F ≤ 𝓤 G ↔ ∀ U ∈ B, ∃ M ∈ F, ∀ x y ∈ M, y - x ∈ U,
by split ; rintros ⟨h', h⟩ ; refine ⟨h', _⟩ ; [rwa ← this, rwa this],
rw [uniformity_eq_comap_nhds_zero G, ← map_le_iff_le_comap],
change tendsto _ _ _ ↔ _,
simp [(basis_sets F).prod_self.tendsto_iff B.nhds_zero_has_basis]
end

end add_group_filter_basis

0 comments on commit bc5a081

Please sign in to comment.