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][windisch2021]
- [A. C. M. van Rooij, Non-Archimedean uniformities][vanrooij1970]
@[deprecated SetRel.IsTrans (since := "2025-10-17")]
The relation is transitive.
Equations
Instances For
@[deprecated SetRel.comp_subset_self (since := "2025-10-17")]
@[deprecated SetRel.isTrans_iff_comp_subset_self (since := "2025-10-17")]
@[deprecated SetRel.isTrans_empty (since := "2025-10-17")]
@[deprecated SetRel.isTrans_univ (since := "2025-10-17")]
@[deprecated SetRel.isTrans_singleton (since := "2025-10-17")]
@[deprecated SetRel.isTrans_inter (since := "2025-10-17")]
theorem
IsTransitiveRel.inter
{X : Type u_1}
{s t : SetRel X X}
(hs : IsTransitiveRel s)
(ht : IsTransitiveRel t)
:
IsTransitiveRel (s โฉ t)
@[deprecated SetRel.isTrans_iInter (since := "2025-10-17")]
theorem
IsTransitiveRel.iInter
{X : Type u_1}
{ฮน : Type u_2}
{U : ฮน โ SetRel X X}
(hU : โ (i : ฮน), IsTransitiveRel (U i))
:
IsTransitiveRel (โ (i : ฮน), U i)
@[deprecated SetRel.IsTrans.sInter (since := "2025-10-17")]
theorem
IsTransitiveRel.sInter
{X : Type u_1}
{s : Set (SetRel X X)}
(h : โ i โ s, IsTransitiveRel i)
:
@[deprecated SetRel.isTrans_preimage (since := "2025-10-17")]
theorem
IsTransitiveRel.preimage_prodMap
{X : Type u_1}
{Y : Type u_2}
{t : Set (Y ร Y)}
(ht : IsTransitiveRel t)
(f : X โ Y)
:
IsTransitiveRel (Prod.map f f โปยน' t)
@[deprecated SetRel.isTrans_symmetrize (since := "2025-10-17")]
@[deprecated SetRel.comp_eq_self (since := "2025-10-17")]
theorem
IsTransitiveRel.comp_eq_of_idRel_subset
{X : Type u_1}
{s : SetRel X X}
(h : IsTransitiveRel s)
(h' : idRel โ s)
:
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}
:
s โ nhds x โ โ V โ uniformity X, SetRel.IsSymm V โง SetRel.IsTrans V โง UniformSpace.ball x V โ s
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)
:
@[deprecated UniformSpace.isClosed_ball_of_isSymm_of_isTrans_of_mem_uniformity (since := "2025-10-17")]
theorem
UniformSpace.isClosed_ball_of_isSymmetricRel_of_isTransitiveRel_of_mem_uniformity
{X : Type u_1}
[UniformSpace X]
(x : X)
{V : SetRel X X}
[V.IsSymm]
[V.IsTrans]
(h' : V โ uniformity X)
:
Alias of UniformSpace.isClosed_ball_of_isSymm_of_isTrans_of_mem_uniformity.
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.