Approximations in metric spaces
Content created by Louis Wasserman.
Created on 2025-08-30.
Last modified on 2025-09-11.
module metric-spaces.approximations-metric-spaces where
Imports
open import elementary-number-theory.positive-rational-numbers open import foundation.cartesian-products-subtypes open import foundation.dependent-pair-types open import foundation.existential-quantification open import foundation.full-subtypes open import foundation.function-types open import foundation.images open import foundation.images-subtypes open import foundation.inhabited-subtypes open import foundation.inhabited-types open import foundation.logical-equivalences open import foundation.propositional-truncations open import foundation.propositions open import foundation.subtypes open import foundation.transport-along-identifications open import foundation.unions-subtypes open import foundation.universe-levels open import metric-spaces.cartesian-products-metric-spaces open import metric-spaces.equality-of-metric-spaces open import metric-spaces.functions-metric-spaces open import metric-spaces.images-isometries-metric-spaces open import metric-spaces.images-metric-spaces open import metric-spaces.images-short-functions-metric-spaces open import metric-spaces.images-uniformly-continuous-functions-metric-spaces open import metric-spaces.isometries-metric-spaces open import metric-spaces.metric-spaces open import metric-spaces.short-functions-metric-spaces open import metric-spaces.subspaces-metric-spaces open import metric-spaces.uniformly-continuous-functions-metric-spaces
Idea
For an ε : ℚ⁺
, an
ε
-approximation¶
of a metric space X
is a
subset S
of X
such that every point in X
is in
an ε
-neighborhood of some s ∈ S
.
This terminology is taken from [BV06] section 2.2.
A finitely enumerable
ε
-approximation is called an ε
-net.
Definitions
module _ {l1 l2 l3 : Level} (X : Metric-Space l1 l2) (ε : ℚ⁺) (S : subset-Metric-Space l3 X) where is-approximation-prop-Metric-Space : Prop (l1 ⊔ l2 ⊔ l3) is-approximation-prop-Metric-Space = is-full-subtype-Prop ( union-family-of-subtypes { I = type-subtype S} ( λ (s , s∈S) → neighborhood-prop-Metric-Space X ε s)) is-approximation-Metric-Space : UU (l1 ⊔ l2 ⊔ l3) is-approximation-Metric-Space = type-Prop is-approximation-prop-Metric-Space approximation-Metric-Space : {l1 l2 : Level} (l3 : Level) (X : Metric-Space l1 l2) (ε : ℚ⁺) → UU (l1 ⊔ l2 ⊔ lsuc l3) approximation-Metric-Space l3 X ε = type-subtype (is-approximation-prop-Metric-Space {l3 = l3} X ε) module _ {l1 l2 l3 : Level} (X : Metric-Space l1 l2) (ε : ℚ⁺) (S : approximation-Metric-Space l3 X ε) where subset-approximation-Metric-Space : subset-Metric-Space l3 X subset-approximation-Metric-Space = pr1 S type-approximation-Metric-Space : UU (l1 ⊔ l3) type-approximation-Metric-Space = type-subtype subset-approximation-Metric-Space is-approximation-approximation-Metric-Space : is-approximation-Metric-Space X ε subset-approximation-Metric-Space is-approximation-approximation-Metric-Space = pr2 S
Properties
If μ
is a modulus of uniform continuity for f : X → Y
and A
is a (μ ε)
-approximation of X
, then im f A
is an ε
-approximation of im f X
module _ {l1 l2 l3 l4 l5 : Level} (X : Metric-Space l1 l2) (Y : Metric-Space l3 l4) (f : type-function-Metric-Space X Y) {μ : ℚ⁺ → ℚ⁺} (is-modulus-ucont-f-μ : is-modulus-of-uniform-continuity-function-Metric-Space X Y f μ) (ε : ℚ⁺) (A : approximation-Metric-Space l5 X (μ ε)) where abstract is-approximation-im-uniformly-continuous-function-approximation-Metric-Space : is-approximation-Metric-Space ( im-Metric-Space X Y f) ( ε) ( im-subtype ( map-unit-im f) ( subset-approximation-Metric-Space X (μ ε) A)) is-approximation-im-uniformly-continuous-function-approximation-Metric-Space (y , ∃x:fx=y) = let open do-syntax-trunc-Prop ( ∃ _ (λ z → neighborhood-prop-Metric-Space Y ε (pr1 (pr1 z)) y)) in do (x , fx=y) ← ∃x:fx=y ((a , a∈A) , Nμεax) ← is-approximation-approximation-Metric-Space X (μ ε) A x intro-exists ( map-unit-im ( map-unit-im f ∘ inclusion-subtype ( subset-approximation-Metric-Space X (μ ε) A)) ( a , a∈A)) ( tr ( neighborhood-Metric-Space Y ε (f a)) ( fx=y) ( is-modulus-ucont-f-μ a ε x Nμεax)) approximation-im-uniformly-continuous-function-approximation-Metric-Space : approximation-Metric-Space (l1 ⊔ l3 ⊔ l5) (im-Metric-Space X Y f) ε approximation-im-uniformly-continuous-function-approximation-Metric-Space = ( im-subtype (map-unit-im f) (subset-approximation-Metric-Space X (μ ε) A) , is-approximation-im-uniformly-continuous-function-approximation-Metric-Space)
If f : X → Y
is a short function and A
is an ε
-approximation of X
, then im f A
is an ε
-approximation of im f X
module _ {l1 l2 l3 l4 l5 : Level} (X : Metric-Space l1 l2) (Y : Metric-Space l3 l4) (f : short-function-Metric-Space X Y) (ε : ℚ⁺) (A : approximation-Metric-Space l5 X ε) where approximation-im-short-function-approximation-Metric-Space : approximation-Metric-Space ( l1 ⊔ l3 ⊔ l5) ( im-short-function-Metric-Space X Y f) ( ε) approximation-im-short-function-approximation-Metric-Space = approximation-im-uniformly-continuous-function-approximation-Metric-Space ( X) ( Y) ( map-short-function-Metric-Space X Y f) ( id-is-modulus-of-uniform-continuity-is-short-function-Metric-Space ( X) ( Y) ( map-short-function-Metric-Space X Y f) ( is-short-map-short-function-Metric-Space X Y f)) ( ε) ( A)
If f : X → Y
is an isometry and A
is an ε
-approximation of X
, then im f A
is an ε
-approximation of im f X
module _ {l1 l2 l3 l4 l5 : Level} (X : Metric-Space l1 l2) (Y : Metric-Space l3 l4) (f : isometry-Metric-Space X Y) (ε : ℚ⁺) (A : approximation-Metric-Space l5 X ε) where approximation-im-isometry-approximation-Metric-Space : approximation-Metric-Space ( l1 ⊔ l3 ⊔ l5) ( im-isometry-Metric-Space X Y f) ( ε) approximation-im-isometry-approximation-Metric-Space = approximation-im-short-function-approximation-Metric-Space X Y ( short-isometry-Metric-Space X Y f) ( ε) ( A)
If f : X ≃ Y
is an isometric equivalence and A
is an ε
-approximation of X
, then im f A
is an ε
-approximation of Y
module _ {l1 l2 l3 l4 l5 : Level} (X : Metric-Space l1 l2) (Y : Metric-Space l3 l4) (f : isometric-equiv-Metric-Space X Y) (ε : ℚ⁺) (A : approximation-Metric-Space l5 X ε) where abstract is-approximation-im-isometric-equiv-approximation-Metric-Space : is-approximation-Metric-Space ( Y) ( ε) ( im-subtype ( map-isometric-equiv-Metric-Space X Y f) ( subset-approximation-Metric-Space X ε A)) is-approximation-im-isometric-equiv-approximation-Metric-Space y = let open do-syntax-trunc-Prop ( ∃ _ (λ z → neighborhood-prop-Metric-Space Y ε (pr1 z) y)) in do let x = map-inv-isometric-equiv-Metric-Space X Y f y ((a , a∈A) , Nεax) ← is-approximation-approximation-Metric-Space X ε A x intro-exists ( map-unit-im ( map-isometric-equiv-Metric-Space X Y f ∘ inclusion-subtype (subset-approximation-Metric-Space X ε A)) ( a , a∈A)) ( tr ( neighborhood-Metric-Space Y ε ( map-isometric-equiv-Metric-Space X Y f a)) ( is-section-map-inv-isometric-equiv-Metric-Space X Y f y) ( forward-implication ( is-isometry-map-isometric-equiv-Metric-Space X Y f ε _ _) ( Nεax))) approximation-im-isometric-equiv-approximation-Metric-Space : approximation-Metric-Space (l1 ⊔ l3 ⊔ l5) Y ε approximation-im-isometric-equiv-approximation-Metric-Space = ( im-subtype ( map-isometric-equiv-Metric-Space X Y f) ( subset-approximation-Metric-Space X ε A) , is-approximation-im-isometric-equiv-approximation-Metric-Space)
If a metric space is inhabited, so is any approximation
module _ {l1 l2 l3 : Level} (X : Metric-Space l1 l2) (|X| : is-inhabited (type-Metric-Space X)) (ε : ℚ⁺) (S : subset-Metric-Space l3 X) where abstract is-inhabited-is-approximation-inhabited-Metric-Space : is-approximation-Metric-Space X ε S → is-inhabited-subtype S is-inhabited-is-approximation-inhabited-Metric-Space is-approx = let open do-syntax-trunc-Prop (is-inhabited-subtype-Prop S) in do x ← |X| (s , Nεsx) ← is-approx x unit-trunc-Prop s
Cartesian products of approximations
module _ {l1 l2 l3 l4 l5 l6 : Level} (X : Metric-Space l1 l2) (Y : Metric-Space l3 l4) (ε : ℚ⁺) (A : approximation-Metric-Space l5 X ε) (B : approximation-Metric-Space l6 Y ε) where abstract is-approximation-product-approximation-Metric-Space : is-approximation-Metric-Space ( product-Metric-Space X Y) ( ε) ( product-subtype ( subset-approximation-Metric-Space X ε A) ( subset-approximation-Metric-Space Y ε B)) is-approximation-product-approximation-Metric-Space (x , y) = let open do-syntax-trunc-Prop ( ∃ ( type-product-subtype ( subset-approximation-Metric-Space X ε A) ( subset-approximation-Metric-Space Y ε B)) ( λ (ab , _) → neighborhood-prop-Metric-Space ( product-Metric-Space X Y) ( ε) ( ab) ( x , y))) in do ((a , a∈A) , Nεax) ← is-approximation-approximation-Metric-Space X ε A x ((b , b∈B) , Nεby) ← is-approximation-approximation-Metric-Space Y ε B y intro-exists (((a , b) , a∈A , b∈B)) (Nεax , Nεby) product-approximation-Metric-Space : approximation-Metric-Space (l5 ⊔ l6) (product-Metric-Space X Y) ε product-approximation-Metric-Space = ( product-subtype ( subset-approximation-Metric-Space X ε A) ( subset-approximation-Metric-Space Y ε B) , is-approximation-product-approximation-Metric-Space)
References
- [BV06]
- Douglas S. Bridges and Luminiţa Simona Vîţă. Techniques of Constructive Analysis. Springer-Verlag New York, 2006. ISBN 978-0-387-33646-6.
Recent changes
- 2025-09-11. Louis Wasserman. Inhabited totally bounded subspaces of metric spaces (#1542).
- 2025-09-09. Louis Wasserman. Metrics of a metric space are uniformly continuous (#1534).
- 2025-09-04. Louis Wasserman. Suprema and infima of totally bounded subsets of the reals (#1510).
- 2025-08-31. Louis Wasserman. The image of a totally bounded metric space under a uniformly continuous function is totally bounded (#1513).
- 2025-08-30. Louis Wasserman. Topology in metric spaces (#1474).