Documentation

Mathlib.Topology.MetricSpace.Basic

Basic properties of metric spaces, and instances. #

@[instance 100]
instance MetricSpace.instT0Space {γ : Type w} [MetricSpace γ] :
Equations
  • =
theorem Metric.isUniformEmbedding_iff' {β : Type v} {γ : Type w} [MetricSpace γ] [MetricSpace β] {f : γβ} :
IsUniformEmbedding f (∀ ε > 0, δ > 0, ∀ {a b : γ}, dist a b < δdist (f a) (f b) < ε) δ > 0, ε > 0, ∀ {a b : γ}, dist (f a) (f b) < εdist a b < δ

A map between metric spaces is a uniform embedding if and only if the distance between f x and f y is controlled in terms of the distance between x and y and conversely.

@[deprecated Metric.isUniformEmbedding_iff']
theorem Metric.uniformEmbedding_iff' {β : Type v} {γ : Type w} [MetricSpace γ] [MetricSpace β] {f : γβ} :
IsUniformEmbedding f (∀ ε > 0, δ > 0, ∀ {a b : γ}, dist a b < δdist (f a) (f b) < ε) δ > 0, ε > 0, ∀ {a b : γ}, dist (f a) (f b) < εdist a b < δ

Alias of Metric.isUniformEmbedding_iff'.


A map between metric spaces is a uniform embedding if and only if the distance between f x and f y is controlled in terms of the distance between x and y and conversely.

@[reducible, inline]

If a PseudoMetricSpace is a T₀ space, then it is a MetricSpace.

Equations
@[instance 100]

A metric space induces an emetric space

Equations
theorem Metric.isClosed_of_pairwise_le_dist {γ : Type w} [MetricSpace γ] {s : Set γ} {ε : } (hε : 0 < ε) (hs : s.Pairwise fun (x y : γ) => ε dist x y) :
theorem Metric.closedEmbedding_of_pairwise_le_dist {γ : Type w} [MetricSpace γ] {α : Type u_2} [TopologicalSpace α] [DiscreteTopology α] {ε : } (hε : 0 < ε) {f : αγ} (hf : Pairwise fun (x y : α) => ε dist (f x) (f y)) :
theorem Metric.isUniformEmbedding_bot_of_pairwise_le_dist {α : Type u} [PseudoMetricSpace α] {β : Type u_2} {ε : } (hε : 0 < ε) {f : βα} (hf : Pairwise fun (x y : β) => ε dist (f x) (f y)) :

If f : β → α sends any two distinct points to points at distance at least ε > 0, then f is a uniform embedding with respect to the discrete uniformity on β.

@[deprecated Metric.isUniformEmbedding_bot_of_pairwise_le_dist]
theorem Metric.uniformEmbedding_bot_of_pairwise_le_dist {α : Type u} [PseudoMetricSpace α] {β : Type u_2} {ε : } (hε : 0 < ε) {f : βα} (hf : Pairwise fun (x y : β) => ε dist (f x) (f y)) :

Alias of Metric.isUniformEmbedding_bot_of_pairwise_le_dist.


If f : β → α sends any two distinct points to points at distance at least ε > 0, then f is a uniform embedding with respect to the discrete uniformity on β.

@[reducible, inline]
abbrev EMetricSpace.toMetricSpaceOfDist {α : Type u} [EMetricSpace α] (dist : αα) (edist_ne_top : ∀ (x y : α), edist x y ) (h : ∀ (x y : α), dist x y = (edist x y).toReal) :

One gets a metric space from an emetric space if the edistance is everywhere finite, by pushing the edistance to reals. We set it up so that the edist and the uniformity are defeq in the metric space and the emetric space. In this definition, the distance is given separately, to be able to prescribe some expression which is not defeq to the push-forward of the edistance to reals.

Equations
def EMetricSpace.toMetricSpace {α : Type u} [EMetricSpace α] (h : ∀ (x y : α), edist x y ) :

One gets a metric space from an emetric space if the edistance is everywhere finite, by pushing the edistance to reals. We set it up so that the edist and the uniformity are defeq in the metric space and the emetric space.

Equations
@[reducible, inline]
abbrev MetricSpace.induced {γ : Type u_2} {β : Type u_3} (f : γβ) (hf : Function.Injective f) (m : MetricSpace β) :

Metric space structure pulled back by an injective function. Injectivity is necessary to ensure that dist x y = 0 only if x = y.

Equations
@[reducible, inline]
abbrev IsUniformEmbedding.comapMetricSpace {α : Type u_2} {β : Type u_3} [UniformSpace α] [m : MetricSpace β] (f : αβ) (h : IsUniformEmbedding f) :

Pull back a metric space structure by a uniform embedding. This is a version of MetricSpace.induced useful in case if the domain already has a UniformSpace structure.

Equations
@[deprecated IsUniformEmbedding.comapMetricSpace]
def UniformEmbedding.comapMetricSpace {α : Type u_2} {β : Type u_3} [UniformSpace α] [m : MetricSpace β] (f : αβ) (h : IsUniformEmbedding f) :

Alias of IsUniformEmbedding.comapMetricSpace.


Pull back a metric space structure by a uniform embedding. This is a version of MetricSpace.induced useful in case if the domain already has a UniformSpace structure.

Equations
@[reducible, inline]
abbrev Embedding.comapMetricSpace {α : Type u_2} {β : Type u_3} [TopologicalSpace α] [m : MetricSpace β] (f : αβ) (h : Embedding f) :

Pull back a metric space structure by an embedding. This is a version of MetricSpace.induced useful in case if the domain already has a TopologicalSpace structure.

Equations
instance Subtype.metricSpace {α : Type u_2} {p : αProp} [MetricSpace α] :
Equations
Equations
Equations

Instantiate the reals as a metric space.

Equations
Equations
instance Prod.metricSpaceMax {β : Type v} {γ : Type w} [MetricSpace γ] [MetricSpace β] :
MetricSpace (γ × β)
Equations
instance metricSpacePi {β : Type v} {π : βType u_2} [Fintype β] [(b : β) → MetricSpace (π b)] :
MetricSpace ((b : β) → π b)

A finite product of metric spaces is a metric space, with the sup distance.

Equations
theorem Metric.secondCountable_of_countable_discretization {α : Type u} [MetricSpace α] (H : ε > 0, ∃ (β : Type u_2) (x : Encodable β) (F : αβ), ∀ (x y : α), F x = F ydist x y ε) :

A metric space is second countable if one can reconstruct up to any ε>0 any element of the space from countably many data.

Equations
Equations

Additive, Multiplicative #

The distance on those type synonyms is inherited without change.

Equations
  • instMetricSpaceAdditive_1 = inst
Equations
  • instMetricSpaceMultiplicative_1 = inst
Equations

Order dual #

The distance on this type synonym is inherited without change.

Equations
  • instMetricSpaceOrderDual_1 = inst