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.lean.

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 uniformity 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 uniformity 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)

        If a set s is separable in a pseudo metrizable space, then it admits a countable dense subset. This is not obvious, as the countable set whose closure covers s given by the definition of separability does not need in general to be contained in s.

        If a set s is separable, then the corresponding subtype is separable in a pseudo metrizable space. This is not obvious, as the countable set whose closure covers s does not need in general to be contained in s.