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/Data/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]
theorem
ball_subset_of_mem
{X : Type u_1}
{V : SetRel X X}
[V.IsTrans]
{x y : X}
(hy : y ∈ UniformSpace.ball x V)
:
theorem
ball_eq_of_mem
{X : Type u_1}
{V : SetRel X X}
[V.IsSymm]
[V.IsTrans]
{x y : X}
(hy : y ∈ UniformSpace.ball x V)
:
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.