Documentation

Mathlib.Topology.UniformSpace.Ultra.Basic

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 #

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 #

References #

@[deprecated SetRel.IsTrans (since := "2025-10-17")]
def IsTransitiveRel {X : Type u_1} (V : SetRel X X) :

The relation is transitive.

Instances For
    @[deprecated SetRel.comp_subset_self (since := "2025-10-17")]
    theorem IsTransitiveRel.comp_subset_self {X : Type u_1} {s : SetRel X X} (h : IsTransitiveRel s) :
    s.comp s โІ s
    @[deprecated SetRel.isTrans_iff_comp_subset_self (since := "2025-10-17")]
    theorem isTransitiveRel_iff_comp_subset_self {X : Type u_1} {s : SetRel X X} :
    IsTransitiveRel s โ†” s.comp s โІ s
    @[deprecated SetRel.isTrans_empty (since := "2025-10-17")]
    theorem isTransitiveRel_empty {X : Type u_1} :
    @[deprecated SetRel.isTrans_univ (since := "2025-10-17")]
    @[deprecated SetRel.isTrans_singleton (since := "2025-10-17")]
    theorem isTransitiveRel_singleton {X : Type u_1} (x y : X) :
    @[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) :
    @[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) :
    s.comp s = s
    theorem IsTransitiveRel.prod_subset_trans {X : Type u_1} {s : SetRel X X} {t u v : Set X} [s.IsTrans] (htu : t ร—หข u โІ s) (huv : u ร—หข v โІ s) (hu : u.Nonempty) :
    t ร—หข v โІ s
    theorem IsTransitiveRel.mem_filter_prod_trans {X : Type u_1} {s : SetRel X X} {f g h : Filter X} [g.NeBot] [s.IsTrans] (hfg : s โˆˆ f ร—หข g) (hgh : s โˆˆ g ร—หข h) :
    s โˆˆ f ร—หข h
    @[deprecated IsTransitiveRel.mem_filter_prod_trans (since := "2025-10-08")]
    theorem IsTransitiveRel.mem_filter_prod_comm {X : Type u_1} {s : SetRel X X} {f g h : Filter X} [g.NeBot] [s.IsTrans] (hfg : s โˆˆ f ร—หข g) (hgh : s โˆˆ g ร—หข h) :
    s โˆˆ f ร—หข h

    Alias of IsTransitiveRel.mem_filter_prod_trans.

    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.

    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) :
      IsOpen (ball x V)
      @[deprecated UniformSpace.isClosed_ball_of_isSymm_of_isTrans_of_mem_uniformity (since := "2025-10-17")]

      Alias of UniformSpace.isClosed_ball_of_isSymm_of_isTrans_of_mem_uniformity.

      theorem UniformSpace.nhds_basis_clopens {X : Type u_1} [UniformSpace X] [IsUltraUniformity X] (x : X) :
      (nhds x).HasBasis (fun (s : Set X) => x โˆˆ s โˆง IsClopen s) id

      A uniform space with a nonarchimedean uniformity is zero-dimensional.