Documentation

Mathlib.Topology.Metrizable.Basic

Metrizable Spaces #

In this file we define metrizable topological spaces, i.e., topological spaces for which there exists a metric space structure that generates the same topology. We define it without any reference to metric spaces in order to avoid importing the real numbers. For the proof that metrizable spaces admit a compatible metric, see Mathlib/Topology/Metrizable/Uniformity.

A topological space is pseudometrizable if there exists a pseudometric space structure compatible with the topology. To minimize imports, we implement this class in terms of the existence of a countably generated unifomity inducing the topology, which is mathematically equivalent. To endow such a space with a compatible uniformity, use letI : UniformSpace X := TopologicalSpace.pseudoMetrizableSpaceUniformity X. To endow such a space with a compatible distance, use letI : PseudoMetricSpace X := TopologicalSpace.pseudoMetrizableSpacePseudoMetric X.

Instances
    @[instance 100]

    A uniform space with countably generated 𝓤 X is pseudometrizable.

    @[reducible, inline]

    Construct on a pseudometrizable space a countably generated uniformity compatible with the topology. Use pseudoMetrizableSpaceUniformity_countably_generated for a proof that this uniformity is countably generated.

    Equations
    Instances For

      Given an inducing map of a topological space into a pseudometrizable space, the source space is also pseudometrizable.

      @[instance 100]

      Every pseudo-metrizable space is first countable.

      instance TopologicalSpace.pseudoMetrizableSpace_pi {ι : Type u_1} {A : ιType u_4} [Finite ι] [(i : ι) → TopologicalSpace (A i)] [∀ (i : ι), PseudoMetrizableSpace (A i)] :
      PseudoMetrizableSpace ((i : ι) → A i)

      A topological space is metrizable if there exists a metric space structure compatible with the topology. To minimize imports, we implement this class in terms of the existence of a countably generated unifomity inducing the topology, which is mathematically equivalent. To endow such a space with a compatible uniformity, use letI : UniformSpace X := TopologicalSpace.pseudoMetrizableSpaceUniformity X. To endow such a space with a compatible distance, use letI : MetricSpace X := TopologicalSpace.metrizableSpaceMetric X.

      Instances

        Given an embedding of a topological space into a metrizable space, the source space is also metrizable.

        instance TopologicalSpace.metrizableSpace_pi {ι : Type u_1} {A : ιType u_4} [Finite ι] [(i : ι) → TopologicalSpace (A i)] [∀ (i : ι), MetrizableSpace (A i)] :
        MetrizableSpace ((i : ι) → A i)