Ultrametric (nonarchimedean) uniform spaces #
Ultrametric (nonarchimedean) uniform spaces are ones that generalize ultrametric spaces by having a uniformity based on equivalence relations.
Main definitions #
In this file we define IsUltraUniformity, a Prop mixin typeclass.
Main results #
TopologicalSpace.isTopologicalBasis_clopens: a uniform space with a nonarchimedean uniformity has a topological basis of clopen sets in the topology, meaning that it is topologically zero-dimensional.
Implementation notes #
As in the Mathlib/Topology/UniformSpace/Defs.lean file, we do not reuse Mathlib/Basic/Rel.lean
but rather extend the relation properties as needed.
TODOs #
- Prove that
IsUltraUniformityiff metrizable byIsUltrametricDiston aPseudoMetricSpaceunder a countable system/basis condition - Generalize
IsUltrametricDisttoIsUltrametricUniformity - Provide
IsUltraUniformityfor the uniformity in aValuedring - Generalize results about open/closed balls and spheres in
IsUltraUniformityto combine applications forMetricSpace.balland valued "balls" - Use
IsUltraUniformityto work with profinite/totally separated spaces
References #
- D. Windisch, Equivalent characterizations of non-Archimedean uniform spaces
- [A. C. M. van Rooij, Non-Archimedean uniformities][vanrooij1970]
A uniform space is ultrametric if the uniformity 𝓤 X has a basis of equivalence relations.
- hasBasis : (uniformity X).HasBasis (fun (s : SetRel X X) => s ∈ uniformity X ∧ s.IsSymm ∧ s.IsTrans) id
Instances
theorem IsUltraUniformity.mk_of_hasBasis {X : Type u_1} [UniformSpace X] {ι : Type u_2} {p : ι → Prop} {s : ι → SetRel X X} (h_basis : (uniformity X).HasBasis p s) (h_symm : ∀ (i : ι), p i → (s i).IsSymm) (h_trans : ∀ (i : ι), p i → (s i).IsTrans) :
theorem IsUltraUniformity.mem_nhds_iff_symm_trans {X : Type u_1} [UniformSpace X] [IsUltraUniformity X] {x : X} {s : Set X} :
theorem UniformSpace.isOpen_ball_of_mem_uniformity {X : Type u_1} [UniformSpace X] (x : X) {V : SetRel X X} [V.IsTrans] (h' : V ∈ uniformity X) :
theorem UniformSpace.isClosed_ball_of_isSymm_of_isTrans_of_mem_uniformity {X : Type u_1} [UniformSpace X] (x : X) {V : SetRel X X} [V.IsSymm] [V.IsTrans] (h' : V ∈ uniformity X) :
theorem UniformSpace.isClopen_ball_of_isSymm_of_isTrans_of_mem_uniformity {X : Type u_1} [UniformSpace X] (x : X) {V : SetRel X X} [V.IsSymm] [V.IsTrans] (h' : V ∈ uniformity X) :
theorem UniformSpace.nhds_basis_clopens {X : Type u_1} [UniformSpace X] [IsUltraUniformity X] (x : X) :
theorem TopologicalSpace.isTopologicalBasis_clopens {X : Type u_1} [UniformSpace X] [IsUltraUniformity X] :
A uniform space with a nonarchimedean uniformity is zero-dimensional.