diff --git a/src/metric-spaces.lagda.md b/src/metric-spaces.lagda.md index bc48c2ee7e..6c3a41a83c 100644 --- a/src/metric-spaces.lagda.md +++ b/src/metric-spaces.lagda.md @@ -57,6 +57,9 @@ metric space, `N d₂ x y` [or](foundation.disjunction.md) module metric-spaces where open import metric-spaces.accumulation-points-subsets-located-metric-spaces public +open import metric-spaces.action-on-cauchy-approximations-isometries-pseudometric-spaces public +open import metric-spaces.action-on-cauchy-approximations-short-maps-metric-spaces public +open import metric-spaces.action-on-cauchy-approximations-short-maps-pseudometric-spaces public open import metric-spaces.apartness-located-metric-spaces public open import metric-spaces.approximations-located-metric-spaces public open import metric-spaces.approximations-metric-spaces public @@ -64,6 +67,7 @@ open import metric-spaces.bounded-distance-decompositions-of-metric-spaces publi open import metric-spaces.cartesian-products-metric-spaces public open import metric-spaces.category-of-metric-spaces-and-isometries public open import metric-spaces.category-of-metric-spaces-and-short-functions public +open import metric-spaces.cauchy-approximations-in-cauchy-pseudocompletions-of-pseudometric-spaces public open import metric-spaces.cauchy-approximations-metric-quotients-of-pseudometric-spaces public open import metric-spaces.cauchy-approximations-metric-spaces public open import metric-spaces.cauchy-approximations-pseudometric-spaces public @@ -86,6 +90,8 @@ open import metric-spaces.elements-at-bounded-distance-metric-spaces public open import metric-spaces.equality-of-metric-spaces public open import metric-spaces.equality-of-pseudometric-spaces public open import metric-spaces.extensionality-pseudometric-spaces public +open import metric-spaces.extensions-metric-spaces public +open import metric-spaces.extensions-pseudometric-spaces public open import metric-spaces.functions-metric-spaces public open import metric-spaces.functions-pseudometric-spaces public open import metric-spaces.functor-category-set-functions-isometry-metric-spaces public @@ -106,6 +112,7 @@ open import metric-spaces.limits-of-sequences-metric-spaces public open import metric-spaces.lipschitz-functions-metric-spaces public open import metric-spaces.locally-constant-functions-metric-spaces public open import metric-spaces.located-metric-spaces public +open import metric-spaces.metric-extensions-pseudometric-spaces public open import metric-spaces.metric-quotients-of-pseudometric-spaces public open import metric-spaces.metric-space-of-cauchy-approximations-complete-metric-spaces public open import metric-spaces.metric-space-of-cauchy-approximations-metric-spaces public diff --git a/src/metric-spaces/accumulation-points-subsets-located-metric-spaces.lagda.md b/src/metric-spaces/accumulation-points-subsets-located-metric-spaces.lagda.md index 8f84ddb509..4eb9cb1637 100644 --- a/src/metric-spaces/accumulation-points-subsets-located-metric-spaces.lagda.md +++ b/src/metric-spaces/accumulation-points-subsets-located-metric-spaces.lagda.md @@ -28,6 +28,7 @@ open import lists.sequences open import logic.functoriality-existential-quantification +open import metric-spaces.action-on-cauchy-approximations-short-maps-metric-spaces open import metric-spaces.apartness-located-metric-spaces open import metric-spaces.cauchy-approximations-metric-spaces open import metric-spaces.cauchy-sequences-metric-spaces diff --git a/src/metric-spaces/action-on-cauchy-approximations-isometries-pseudometric-spaces.lagda.md b/src/metric-spaces/action-on-cauchy-approximations-isometries-pseudometric-spaces.lagda.md new file mode 100644 index 0000000000..5a517b342c --- /dev/null +++ b/src/metric-spaces/action-on-cauchy-approximations-isometries-pseudometric-spaces.lagda.md @@ -0,0 +1,137 @@ +# The action on Cauchy approximations of isometries between pseudometric spaces + +```agda +module metric-spaces.action-on-cauchy-approximations-isometries-pseudometric-spaces where +``` + +
Imports + +```agda +open import elementary-number-theory.addition-positive-rational-numbers +open import elementary-number-theory.positive-rational-numbers + +open import foundation.dependent-pair-types +open import foundation.universe-levels + +open import metric-spaces.action-on-cauchy-approximations-short-maps-pseudometric-spaces +open import metric-spaces.cauchy-approximations-pseudometric-spaces +open import metric-spaces.cauchy-pseudocompletion-of-pseudometric-spaces +open import metric-spaces.isometries-pseudometric-spaces +open import metric-spaces.pseudometric-spaces +open import metric-spaces.short-functions-pseudometric-spaces +``` + +
+ +## Idea + +[Isometries](metric-spaces.isometries-pseudometric-spaces.md) between +[pseudometric spaces](metric-spaces.pseudometric-spaces.md) act on +[Cauchy approximations](metric-spaces.cauchy-approximations-pseudometric-spaces.md) +and induce an isometry between the +[Cauchy pseudocompletions](metric-spaces.cauchy-pseudocompletion-of-pseudometric-spaces.md). + +## Definitions + +### The action of isometries on Cauchy approximations + +```agda +module _ + {l1 l2 l1' l2' : Level} + (A : Pseudometric-Space l1 l2) (B : Pseudometric-Space l1' l2') + (f : isometry-Pseudometric-Space A B) + where + + map-cauchy-approximation-isometry-Pseudometric-Space : + cauchy-approximation-Pseudometric-Space A → + cauchy-approximation-Pseudometric-Space B + map-cauchy-approximation-isometry-Pseudometric-Space = + map-cauchy-approximation-short-function-Pseudometric-Space + ( A) + ( B) + ( short-isometry-Pseudometric-Space A B f) +``` + +## Properties + +### The action of isometries on Cauchy approximations is an isometry + +```agda +module _ + {l1 l2 l1' l2' : Level} + (A : Pseudometric-Space l1 l2) (B : Pseudometric-Space l1' l2') + (f : isometry-Pseudometric-Space A B) + where abstract + + preserves-neighborhoods-map-cauchy-approximation-isometry-Pseudometric-Space : + (d : ℚ⁺) → + (x y : cauchy-approximation-Pseudometric-Space A) → + neighborhood-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space A) + ( d) + ( x) + ( y) → + neighborhood-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space B) + ( d) + ( map-cauchy-approximation-isometry-Pseudometric-Space A B f x) + ( map-cauchy-approximation-isometry-Pseudometric-Space A B f y) + preserves-neighborhoods-map-cauchy-approximation-isometry-Pseudometric-Space = + preserves-neighborhoods-map-cauchy-approximation-short-function-Pseudometric-Space + ( A) + ( B) + ( short-isometry-Pseudometric-Space A B f) + + reflects-neighborhoods-map-cauchy-approximation-isometry-Pseudometric-Space : + (d : ℚ⁺) → + (x y : cauchy-approximation-Pseudometric-Space A) → + neighborhood-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space B) + ( d) + ( map-cauchy-approximation-isometry-Pseudometric-Space A B f x) + ( map-cauchy-approximation-isometry-Pseudometric-Space A B f y) → + neighborhood-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space A) + ( d) + ( x) + ( y) + reflects-neighborhoods-map-cauchy-approximation-isometry-Pseudometric-Space + d x y Nxy α β = + reflects-neighborhoods-map-isometry-Pseudometric-Space + ( A) + ( B) + ( f) + ( α +ℚ⁺ β +ℚ⁺ d) + ( map-cauchy-approximation-Pseudometric-Space A x α) + ( map-cauchy-approximation-Pseudometric-Space A y β) + ( Nxy α β) + + is-isometry-map-cauchy-approximation-isometry-Pseudometric-Space : + is-isometry-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space A) + ( cauchy-pseudocompletion-Pseudometric-Space B) + ( map-cauchy-approximation-isometry-Pseudometric-Space A B f) + is-isometry-map-cauchy-approximation-isometry-Pseudometric-Space d x y = + ( ( preserves-neighborhoods-map-cauchy-approximation-isometry-Pseudometric-Space + ( d) + ( x) + ( y)) , + ( reflects-neighborhoods-map-cauchy-approximation-isometry-Pseudometric-Space + ( d) + ( x) + ( y))) + +module _ + {l1 l2 l1' l2' : Level} + (A : Pseudometric-Space l1 l2) (B : Pseudometric-Space l1' l2') + (f : isometry-Pseudometric-Space A B) + where + + isometry-map-cauchy-approximation-isometry-Pseudometric-Space : + isometry-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space A) + ( cauchy-pseudocompletion-Pseudometric-Space B) + isometry-map-cauchy-approximation-isometry-Pseudometric-Space = + ( map-cauchy-approximation-isometry-Pseudometric-Space A B f , + is-isometry-map-cauchy-approximation-isometry-Pseudometric-Space A B f) +``` diff --git a/src/metric-spaces/action-on-cauchy-approximations-short-maps-metric-spaces.lagda.md b/src/metric-spaces/action-on-cauchy-approximations-short-maps-metric-spaces.lagda.md new file mode 100644 index 0000000000..140b8de55b --- /dev/null +++ b/src/metric-spaces/action-on-cauchy-approximations-short-maps-metric-spaces.lagda.md @@ -0,0 +1,83 @@ +# The action on Cauchy approximations of short maps between metric spaces + +```agda +module metric-spaces.action-on-cauchy-approximations-short-maps-metric-spaces where +``` + +
Imports + +```agda +open import foundation.function-types +open import foundation.identity-types +open import foundation.universe-levels + +open import metric-spaces.action-on-cauchy-approximations-short-maps-pseudometric-spaces +open import metric-spaces.cauchy-approximations-metric-spaces +open import metric-spaces.metric-spaces +open import metric-spaces.short-functions-metric-spaces +``` + +
+ +## Idea + +[metric spaces](metric-spaces.metric-spaces.md) act on +[cauchy approximations](metric-spaces.cauchy-approximations-metric-spaces.md) +and induce a short map between the +[Cauchy pseudocompletions](metric-spaces.cauchy-pseudocompletion-of-metric-spaces.md). + +## Definitions + +### The action of short maps on Cauchy approximations + +```agda +module _ + {l1 l2 l1' l2' : Level} + (A : Metric-Space l1 l2) (B : Metric-Space l1' l2') + (f : short-function-Metric-Space A B) + where + + map-short-function-cauchy-approximation-Metric-Space : + cauchy-approximation-Metric-Space A → + cauchy-approximation-Metric-Space B + map-short-function-cauchy-approximation-Metric-Space = + map-cauchy-approximation-short-function-Pseudometric-Space + ( pseudometric-Metric-Space A) + ( pseudometric-Metric-Space B) + ( f) +``` + +## Properties + +### Functoriality of the action of short maps + +```agda +module _ + {l1 l2 : Level} + (A : Metric-Space l1 l2) + where + + htpy-id-map-short-function-cauchy-approximation-Metric-Space : + map-short-function-cauchy-approximation-Metric-Space + ( A) + ( A) + ( id-short-function-Metric-Space A) = + id + htpy-id-map-short-function-cauchy-approximation-Metric-Space = refl + +module _ + {l1a l2a l1b l2b l1c l2c : Level} + (A : Metric-Space l1a l2a) + (B : Metric-Space l1b l2b) + (C : Metric-Space l1c l2c) + (g : short-function-Metric-Space B C) + (f : short-function-Metric-Space A B) + where + + htpy-comp-map-short-function-cauchy-approximation-Metric-Space : + ( map-short-function-cauchy-approximation-Metric-Space B C g ∘ + map-short-function-cauchy-approximation-Metric-Space A B f) = + ( map-short-function-cauchy-approximation-Metric-Space A C + ( comp-short-function-Metric-Space A B C g f)) + htpy-comp-map-short-function-cauchy-approximation-Metric-Space = refl +``` diff --git a/src/metric-spaces/action-on-cauchy-approximations-short-maps-pseudometric-spaces.lagda.md b/src/metric-spaces/action-on-cauchy-approximations-short-maps-pseudometric-spaces.lagda.md new file mode 100644 index 0000000000..d4b18f1955 --- /dev/null +++ b/src/metric-spaces/action-on-cauchy-approximations-short-maps-pseudometric-spaces.lagda.md @@ -0,0 +1,90 @@ +# The action on Cauchy approximations of short maps between pseudometric spaces + +```agda +module metric-spaces.action-on-cauchy-approximations-short-maps-pseudometric-spaces where +``` + +
Imports + +```agda +open import elementary-number-theory.addition-positive-rational-numbers + +open import foundation.dependent-pair-types +open import foundation.function-types +open import foundation.universe-levels + +open import metric-spaces.cauchy-approximations-pseudometric-spaces +open import metric-spaces.cauchy-pseudocompletion-of-pseudometric-spaces +open import metric-spaces.pseudometric-spaces +open import metric-spaces.short-functions-pseudometric-spaces +``` + +
+ +## Idea + +[Short maps](metric-spaces.short-functions-pseudometric-spaces.md) between +[pseudometric spaces](metric-spaces.pseudometric-spaces.md) act on +[cauchy approximations](metric-spaces.cauchy-approximations-pseudometric-spaces.md) +and induce a short map between the +[Cauchy pseudocompletions](metric-spaces.cauchy-pseudocompletion-of-pseudometric-spaces.md). + +## Definitions + +### The action of short maps on Cauchy approximations + +```agda +module _ + {l1 l2 l1' l2' : Level} + (A : Pseudometric-Space l1 l2) (B : Pseudometric-Space l1' l2') + (f : short-function-Pseudometric-Space A B) + where + + map-cauchy-approximation-short-function-Pseudometric-Space : + cauchy-approximation-Pseudometric-Space A → + cauchy-approximation-Pseudometric-Space B + map-cauchy-approximation-short-function-Pseudometric-Space (u , H) = + ( map-short-function-Pseudometric-Space A B f ∘ u , + λ ε δ → + is-short-map-short-function-Pseudometric-Space + ( A) + ( B) + ( f) + ( ε +ℚ⁺ δ) + ( u ε) + ( u δ) + ( H ε δ)) +``` + +## Properties + +### The action of short maps on Cauchy approximations is short + +```agda +module _ + {l1 l2 l1' l2' : Level} + (A : Pseudometric-Space l1 l2) (B : Pseudometric-Space l1' l2') + (f : short-function-Pseudometric-Space A B) + where + + preserves-neighborhoods-map-cauchy-approximation-short-function-Pseudometric-Space : + is-short-function-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space A) + ( cauchy-pseudocompletion-Pseudometric-Space B) + ( map-cauchy-approximation-short-function-Pseudometric-Space A B f) + preserves-neighborhoods-map-cauchy-approximation-short-function-Pseudometric-Space + d x y Nxy α β = + is-short-map-short-function-Pseudometric-Space A B f + ( α +ℚ⁺ β +ℚ⁺ d) + ( map-cauchy-approximation-Pseudometric-Space A x α) + ( map-cauchy-approximation-Pseudometric-Space A y β) + ( Nxy α β) + + short-map-cauchy-approximation-short-function-Pseudometric-Space : + short-function-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space A) + ( cauchy-pseudocompletion-Pseudometric-Space B) + short-map-cauchy-approximation-short-function-Pseudometric-Space = + ( map-cauchy-approximation-short-function-Pseudometric-Space A B f , + preserves-neighborhoods-map-cauchy-approximation-short-function-Pseudometric-Space) +``` diff --git a/src/metric-spaces/bounded-distance-decompositions-of-metric-spaces.lagda.md b/src/metric-spaces/bounded-distance-decompositions-of-metric-spaces.lagda.md index ea2bf3aa07..035604397f 100644 --- a/src/metric-spaces/bounded-distance-decompositions-of-metric-spaces.lagda.md +++ b/src/metric-spaces/bounded-distance-decompositions-of-metric-spaces.lagda.md @@ -33,6 +33,7 @@ open import foundation.subtypes open import foundation.transport-along-identifications open import foundation.universe-levels +open import metric-spaces.action-on-cauchy-approximations-short-maps-metric-spaces open import metric-spaces.cauchy-approximations-metric-spaces open import metric-spaces.elements-at-bounded-distance-metric-spaces open import metric-spaces.equality-of-metric-spaces @@ -213,7 +214,7 @@ module _ {l1 l2 : Level} (A : Metric-Space l1 l2) where - preserves-neighborhood-map-equiv-bounded-distance-decomposition-Metric-Space : + preserves-neighborhoods-map-equiv-bounded-distance-decomposition-Metric-Space : ( d : ℚ⁺) ( x y : type-bounded-distance-decomposition-Metric-Space A) → neighborhood-Metric-Space @@ -224,7 +225,7 @@ module _ neighborhood-Metric-Space A d ( map-equiv-bounded-distance-decomposition-Metric-Space A x) ( map-equiv-bounded-distance-decomposition-Metric-Space A y) - preserves-neighborhood-map-equiv-bounded-distance-decomposition-Metric-Space + preserves-neighborhoods-map-equiv-bounded-distance-decomposition-Metric-Space d (X , x , x∈X) (Y , y , y∈Y) (X=Y , Nxy) = forward-implication ( lemma-iff-neighborhood-bounded-distance-decomposition-Metric-Space @@ -237,7 +238,7 @@ module _ ( y , y∈Y)) ( Nxy) - reflects-neighborhood-map-equiv-bounded-distance-decomposition-Metric-Space : + reflects-neighborhoods-map-equiv-bounded-distance-decomposition-Metric-Space : ( d : ℚ⁺) ( x y : type-bounded-distance-decomposition-Metric-Space A) → neighborhood-Metric-Space A d @@ -248,7 +249,7 @@ module _ ( d) ( x) ( y) - reflects-neighborhood-map-equiv-bounded-distance-decomposition-Metric-Space + reflects-neighborhoods-map-equiv-bounded-distance-decomposition-Metric-Space d (X , x , x∈X) (Y , y , y∈Y) Nxy = ( lemma-eq , backward-implication @@ -280,11 +281,11 @@ module _ ( map-equiv-bounded-distance-decomposition-Metric-Space A) is-isometry-map-equiv-bounded-distance-decomposition-Metric-Space d x y = - ( ( preserves-neighborhood-map-equiv-bounded-distance-decomposition-Metric-Space + ( ( preserves-neighborhoods-map-equiv-bounded-distance-decomposition-Metric-Space ( d) ( x) ( y)) , - ( reflects-neighborhood-map-equiv-bounded-distance-decomposition-Metric-Space + ( reflects-neighborhoods-map-equiv-bounded-distance-decomposition-Metric-Space ( d) ( x) ( y))) diff --git a/src/metric-spaces/cauchy-approximations-in-cauchy-pseudocompletions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/cauchy-approximations-in-cauchy-pseudocompletions-of-pseudometric-spaces.lagda.md new file mode 100644 index 0000000000..d147667cda --- /dev/null +++ b/src/metric-spaces/cauchy-approximations-in-cauchy-pseudocompletions-of-pseudometric-spaces.lagda.md @@ -0,0 +1,469 @@ +# Cauchy approximations in the Cauchy pseudocompletion of a pseudometric space + +```agda +{-# OPTIONS --lossy-unification #-} + +module + metric-spaces.cauchy-approximations-in-cauchy-pseudocompletions-of-pseudometric-spaces + where +``` + +
Imports + +```agda +open import elementary-number-theory.addition-positive-rational-numbers +open import elementary-number-theory.positive-rational-numbers +open import elementary-number-theory.strict-inequality-positive-rational-numbers +open import elementary-number-theory.strict-inequality-rational-numbers + +open import foundation.action-on-identifications-binary-functions +open import foundation.action-on-identifications-functions +open import foundation.binary-relations +open import foundation.dependent-pair-types +open import foundation.function-types +open import foundation.identity-types +open import foundation.propositions +open import foundation.transport-along-identifications +open import foundation.universe-levels + +open import metric-spaces.action-on-cauchy-approximations-isometries-pseudometric-spaces +open import metric-spaces.action-on-cauchy-approximations-short-maps-pseudometric-spaces +open import metric-spaces.cauchy-approximations-pseudometric-spaces +open import metric-spaces.cauchy-pseudocompletion-of-pseudometric-spaces +open import metric-spaces.isometries-pseudometric-spaces +open import metric-spaces.limits-of-cauchy-approximations-pseudometric-spaces +open import metric-spaces.pseudometric-spaces +open import metric-spaces.rational-neighborhood-relations +open import metric-spaces.short-functions-pseudometric-spaces +open import metric-spaces.similarity-of-elements-pseudometric-spaces +``` + +
+ +## Idea + +[Cauchy approximations](metric-spaces.cauchy-approximations-pseudometric-spaces.md) +in the +[Cauchy pseudocompletion](metric-spaces.cauchy-pseudocompletion-of-pseudometric-spaces.md) +of a [pseudometric space](metric-spaces.pseudometric-spaces.md) have a +[limit](metric-spaces.limits-of-cauchy-approximations-pseudometric-spaces.md). + +## Properties + +### Any Cauchy approximation in the Cauchy pseudocompletion of a pseudometric space has a limit + +```agda +module _ + { l1 l2 : Level} (M : Pseudometric-Space l1 l2) + ( U : + cauchy-approximation-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M)) + where + + map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : + ℚ⁺ → ℚ⁺ → type-Pseudometric-Space M + map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space ε = + map-cauchy-approximation-Pseudometric-Space M + ( map-cauchy-approximation-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( U) + ( ε)) + + is-cauchy-map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : + (δ ε d₁ d₂ : ℚ⁺) → + neighborhood-Pseudometric-Space + ( M) + ( d₁ +ℚ⁺ d₂ +ℚ⁺ (δ +ℚ⁺ ε)) + ( map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( δ) + ( d₁)) + ( map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( ε) + ( d₂)) + is-cauchy-map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + = + is-cauchy-approximation-map-cauchy-approximation-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( U) + + map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : + ℚ⁺ → type-Pseudometric-Space M + map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space d = + let + (d₁ , d₂ , _) = split-ℚ⁺ d + in + map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space d₂ d₁ + + abstract + is-cauchy-map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : + is-cauchy-approximation-Pseudometric-Space + ( M) + ( map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space) + is-cauchy-map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + δ ε = + let + (δ₁ , δ₂ , δ₁+δ₂=δ) = split-ℚ⁺ δ + (ε₁ , ε₂ , ε₁+ε₂=ε) = split-ℚ⁺ ε + + lemma-δ+ε : + ((δ₁ +ℚ⁺ ε₁) +ℚ⁺ (δ₂ +ℚ⁺ ε₂)) = δ +ℚ⁺ ε + lemma-δ+ε = + ( interchange-law-add-add-ℚ⁺ δ₁ ε₁ δ₂ ε₂) ∙ + ( ap-binary add-ℚ⁺ δ₁+δ₂=δ ε₁+ε₂=ε) + in + tr + ( is-upper-bound-dist-Pseudometric-Space + ( M) + ( map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( δ)) + ( map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( ε))) + ( lemma-δ+ε) + ( is-cauchy-map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + _ _ _ _) + + lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : + cauchy-approximation-Pseudometric-Space M + lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space = + ( map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space , + is-cauchy-map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space) + + abstract + is-limit-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : + is-limit-cauchy-approximation-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( U) + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space) + is-limit-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + δ ε η θ = + let + (θ₁ , θ₂ , θ₁+θ₂=θ) = split-ℚ⁺ θ + + lemma-η+θ+δ : + ((η +ℚ⁺ θ₁) +ℚ⁺ (δ +ℚ⁺ θ₂)) = η +ℚ⁺ θ +ℚ⁺ δ + lemma-η+θ+δ = + ( interchange-law-add-add-ℚ⁺ η θ₁ δ θ₂) ∙ + ( ap + ( add-ℚ⁺ (η +ℚ⁺ δ)) + ( θ₁+θ₂=θ)) ∙ + ( associative-add-ℚ⁺ η δ θ) ∙ + ( ap + ( add-ℚ⁺ η) + ( commutative-add-ℚ⁺ δ θ)) ∙ + ( inv (associative-add-ℚ⁺ η θ δ)) + + lemma-lim : + neighborhood-Pseudometric-Space M + ( η +ℚ⁺ θ +ℚ⁺ δ) + ( map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( δ) + ( η)) + ( map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( θ₂) + ( θ₁)) + lemma-lim = + tr + ( is-upper-bound-dist-Pseudometric-Space M + ( map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( δ) + ( η)) + ( map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( θ))) + ( lemma-η+θ+δ) + ( is-cauchy-map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + _ _ _ _) + in + tr + ( is-upper-bound-dist-Pseudometric-Space M + ( map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( δ) + ( η)) + ( map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( θ))) + ( associative-add-ℚ⁺ + ( η +ℚ⁺ θ) + ( δ) + ( ε)) + ( monotonic-neighborhood-Pseudometric-Space M + ( map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( δ) + ( η)) + ( map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( θ)) + ( η +ℚ⁺ θ +ℚ⁺ δ) + ( η +ℚ⁺ θ +ℚ⁺ δ +ℚ⁺ ε) + ( le-left-add-ℚ⁺ ( η +ℚ⁺ θ +ℚ⁺ δ) ε) + ( lemma-lim)) + + has-limit-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : + Σ ( cauchy-approximation-Pseudometric-Space M) + ( is-limit-cauchy-approximation-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( U)) + has-limit-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space = + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space , + is-limit-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space) +``` + +### Any Cauchy approximation in the pseudometric completion is similar to the constant Cauchy approximation of its limit + +```agda +module _ + { l1 l2 : Level} (M : Pseudometric-Space l1 l2) + ( u : + cauchy-approximation-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M)) + where + + sim-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : + sim-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M)) + ( u) + ( const-cauchy-approximation-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M) + ( u))) + sim-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + = + sim-const-is-limit-cauchy-approximation-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( u) + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space M u) + ( is-limit-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M) + ( u)) +``` + +### The map from a Cauchy approximation in the pseudometric completion to its limit is short + +```agda +module _ + {l1 l2 : Level} (M : Pseudometric-Space l1 l2) + where + + abstract + is-short-function-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : + is-short-function-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M)) + ( cauchy-pseudocompletion-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M)) + ( ( const-cauchy-approximation-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M)) ∘ + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M))) + is-short-function-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + d u v = + preserves-neighborhoods-sim-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M)) + { u} + { const-cauchy-approximation-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M) + ( u))} + { v} + { const-cauchy-approximation-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M) + ( v))} + ( sim-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M) + ( u)) + ( sim-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M) + ( v)) + ( d) + + is-short-function-lim-cauchy-approximation-pseudocompletion-Pseudometric-Space : + is-short-function-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M)) + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space M) + is-short-function-lim-cauchy-approximation-pseudocompletion-Pseudometric-Space + d u v Nuv = + reflects-neighborhoods-map-cauchy-pseudocompletion-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( d) + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M) + ( u)) + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M) + ( v)) + ( is-short-function-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( d) + ( u) + ( v) + ( Nuv)) + + short-lim-cauchy-approximation-pseudocompletion-Pseudometric-Space : + short-function-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M)) + ( cauchy-pseudocompletion-Pseudometric-Space M) + short-lim-cauchy-approximation-pseudocompletion-Pseudometric-Space = + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space M , + is-short-function-lim-cauchy-approximation-pseudocompletion-Pseudometric-Space) +``` + +### The map from a Cauchy approximation in the pseudometric completion to its limit is an isometry + +```agda +module _ + {l1 l2 : Level} (M : Pseudometric-Space l1 l2) + where + + abstract + reflects-neighborhoods-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : + ( d : ℚ⁺) → + ( u v : + cauchy-approximation-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M)) → + neighborhood-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( d) + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M) + ( u)) + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M) + ( v)) → + neighborhood-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M)) + ( d) + ( u) + ( v) + reflects-neighborhoods-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + d u v N-lim = + reflects-neighborhoods-sim-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M)) + { u} + { const-cauchy-approximation-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M) + ( u))} + { v} + { const-cauchy-approximation-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M) + ( v))} + ( sim-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M) + ( u)) + ( sim-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M) + ( v)) + ( d) + ( preserves-neighborhoods-map-cauchy-pseudocompletion-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( d) + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M) + ( u)) + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( M) + ( v)) + ( N-lim)) + + is-isometry-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : + is-isometry-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M)) + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space M) + is-isometry-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + d x y = + ( ( is-short-function-lim-cauchy-approximation-pseudocompletion-Pseudometric-Space + ( M) + ( d) + ( x) + ( y)) , + ( reflects-neighborhoods-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( d) + ( x) + ( y))) + + isometry-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : + isometry-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M)) + ( cauchy-pseudocompletion-Pseudometric-Space M) + isometry-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space = + ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space M , + is-isometry-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space) +``` + +### The image of a Cauchy approximation in the Cauchy pseudocompletion is convergent + +```agda +module _ + {l1 l2 : Level} (M : Pseudometric-Space l1 l2) + (u : cauchy-approximation-Pseudometric-Space M) + where + + is-limit-map-cauchy-approximation-cauchy-pseudocompletion-Ppseudometric-Space : + is-limit-cauchy-approximation-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( map-cauchy-approximation-short-function-Pseudometric-Space + ( M) + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( short-map-cauchy-pseudocompletion-Pseudometric-Space M) + ( u)) + ( u) + is-limit-map-cauchy-approximation-cauchy-pseudocompletion-Ppseudometric-Space + ε δ α β = + symmetric-neighborhood-Pseudometric-Space M + ( (α +ℚ⁺ β) +ℚ⁺ (ε +ℚ⁺ δ)) + ( map-cauchy-approximation-Pseudometric-Space M u β) + ( map-cauchy-approximation-Pseudometric-Space M u ε) + ( monotonic-neighborhood-Pseudometric-Space M + ( map-cauchy-approximation-Pseudometric-Space M u β) + ( map-cauchy-approximation-Pseudometric-Space M u ε) + ( β +ℚ⁺ ε) + ( (α +ℚ⁺ β) +ℚ⁺ (ε +ℚ⁺ δ)) + ( preserves-le-add-ℚ + { rational-ℚ⁺ β} + { rational-ℚ⁺ (α +ℚ⁺ β)} + { rational-ℚ⁺ ε} + { rational-ℚ⁺ (ε +ℚ⁺ δ)} + ( le-right-add-ℚ⁺ α β) + ( le-left-add-ℚ⁺ ε δ)) + ( is-cauchy-approximation-map-cauchy-approximation-Pseudometric-Space + ( M) + ( u) + ( β) + ( ε))) + + sim-map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : + sim-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M)) + ( map-cauchy-approximation-short-function-Pseudometric-Space + ( M) + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( short-map-cauchy-pseudocompletion-Pseudometric-Space M) + ( u)) + ( map-cauchy-pseudocompletion-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( u)) + sim-map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space = + sim-const-is-limit-cauchy-approximation-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( map-cauchy-approximation-short-function-Pseudometric-Space + ( M) + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( short-map-cauchy-pseudocompletion-Pseudometric-Space M) + ( u)) + ( u) + ( is-limit-map-cauchy-approximation-cauchy-pseudocompletion-Ppseudometric-Space) +``` diff --git a/src/metric-spaces/cauchy-approximations-metric-quotients-of-pseudometric-spaces.lagda.md b/src/metric-spaces/cauchy-approximations-metric-quotients-of-pseudometric-spaces.lagda.md index 9184f29af6..5945ef2dc0 100644 --- a/src/metric-spaces/cauchy-approximations-metric-quotients-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-approximations-metric-quotients-of-pseudometric-spaces.lagda.md @@ -42,6 +42,7 @@ open import foundation.universe-levels open import logic.functoriality-existential-quantification +open import metric-spaces.action-on-cauchy-approximations-short-maps-pseudometric-spaces open import metric-spaces.cauchy-approximations-metric-spaces open import metric-spaces.cauchy-approximations-pseudometric-spaces open import metric-spaces.cauchy-pseudocompletion-of-metric-spaces @@ -101,40 +102,40 @@ module _ {l1 l2 : Level} (M : Pseudometric-Space l1 l2) where - short-map-metric-quotient-cauchy-apprtoximation-Pseudometric-Space : + short-map-cauchy-approximation-metric-quotient-Pseudometric-Space : short-function-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space M) ( cauchy-pseudocompletion-Metric-Space ( metric-quotient-Pseudometric-Space M)) - short-map-metric-quotient-cauchy-apprtoximation-Pseudometric-Space = - short-map-short-function-cauchy-approximation-Pseudometric-Space + short-map-cauchy-approximation-metric-quotient-Pseudometric-Space = + short-map-cauchy-approximation-short-function-Pseudometric-Space ( M) ( pseudometric-metric-quotient-Pseudometric-Space M) ( short-map-metric-quotient-Pseudometric-Space M) - map-metric-quotient-cauchy-approximation-Pseudometric-Space : + map-cauchy-approximation-metric-quotient-Pseudometric-Space : cauchy-approximation-Pseudometric-Space M → cauchy-approximation-Metric-Space ( metric-quotient-Pseudometric-Space M) - map-metric-quotient-cauchy-approximation-Pseudometric-Space = + map-cauchy-approximation-metric-quotient-Pseudometric-Space = map-short-function-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space M) ( cauchy-pseudocompletion-Metric-Space ( metric-quotient-Pseudometric-Space M)) - ( short-map-metric-quotient-cauchy-apprtoximation-Pseudometric-Space) + ( short-map-cauchy-approximation-metric-quotient-Pseudometric-Space) - is-short-map-metric-quotient-cauchy-approximation-Pseudometric-Space : + is-short-map-cauchy-approximation-metric-quotient-Pseudometric-Space : is-short-function-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space M) ( cauchy-pseudocompletion-Metric-Space ( metric-quotient-Pseudometric-Space M)) - ( map-metric-quotient-cauchy-approximation-Pseudometric-Space) - is-short-map-metric-quotient-cauchy-approximation-Pseudometric-Space = + ( map-cauchy-approximation-metric-quotient-Pseudometric-Space) + is-short-map-cauchy-approximation-metric-quotient-Pseudometric-Space = is-short-map-short-function-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space M) ( cauchy-pseudocompletion-Metric-Space ( metric-quotient-Pseudometric-Space M)) - ( short-map-metric-quotient-cauchy-apprtoximation-Pseudometric-Space) + ( short-map-cauchy-approximation-metric-quotient-Pseudometric-Space) ``` ### Lifts of Cauchy approximations in the quotient metric space up to similarity @@ -155,7 +156,7 @@ module _ ( cauchy-pseudocompletion-Pseudometric-Space ( pseudometric-metric-quotient-Pseudometric-Space A)) ( u) - ( map-metric-quotient-cauchy-approximation-Pseudometric-Space A v) + ( map-cauchy-approximation-metric-quotient-Pseudometric-Space A v) is-lift-quotient-cauchy-approximation-Pseudometric-Space : UU (l1 ⊔ l2) is-lift-quotient-cauchy-approximation-Pseudometric-Space = @@ -206,12 +207,12 @@ module _ is-limit-cauchy-approximation-Pseudometric-Space M u lim) where - preserves-limits-map-metric-quotient-cauchy-approximation-Pseudometric-Space : + preserves-limits-map-cauchy-approximation-metric-quotient-Pseudometric-Space : is-limit-cauchy-approximation-Metric-Space ( metric-quotient-Pseudometric-Space M) - ( map-metric-quotient-cauchy-approximation-Pseudometric-Space M u) + ( map-cauchy-approximation-metric-quotient-Pseudometric-Space M u) ( map-metric-quotient-Pseudometric-Space M lim) - preserves-limits-map-metric-quotient-cauchy-approximation-Pseudometric-Space + preserves-limits-map-cauchy-approximation-metric-quotient-Pseudometric-Space ε δ (x , x∈uε) (y , y∈lim) = let lim~y : sim-Pseudometric-Space M lim y @@ -233,7 +234,7 @@ module _ ( x) ( x∈uε) in - preserves-neighborhood-sim-Pseudometric-Space + preserves-neighborhoods-sim-Pseudometric-Space ( M) ( uε~x) ( lim~y) @@ -252,14 +253,14 @@ module _ has-lift-map-quotient-cauchy-approximation-metric-quotient-Pseudometric-Space : has-lift-cauchy-approximation-metric-quotient-Pseudometric-Space ( A) - ( map-metric-quotient-cauchy-approximation-Pseudometric-Space A u) + ( map-cauchy-approximation-metric-quotient-Pseudometric-Space A u) has-lift-map-quotient-cauchy-approximation-metric-quotient-Pseudometric-Space = unit-trunc-Prop ( u , refl-sim-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space ( pseudometric-metric-quotient-Pseudometric-Space A)) - ( map-metric-quotient-cauchy-approximation-Pseudometric-Space A u)) + ( map-cauchy-approximation-metric-quotient-Pseudometric-Space A u)) ``` ### Convergent Cauchy approximations in the quotient metric space have a lift up to similarity diff --git a/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md b/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md index caf5ee3d31..b1fd39f15f 100644 --- a/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md @@ -10,9 +10,6 @@ module metric-spaces.cauchy-approximations-metric-spaces where open import elementary-number-theory.addition-positive-rational-numbers open import elementary-number-theory.positive-rational-numbers -open import foundation.constant-maps -open import foundation.dependent-pair-types -open import foundation.function-extensionality open import foundation.function-types open import foundation.homotopies open import foundation.identity-types @@ -20,7 +17,6 @@ open import foundation.propositions open import foundation.subtypes open import foundation.universe-levels -open import metric-spaces.cartesian-products-metric-spaces open import metric-spaces.cauchy-approximations-pseudometric-spaces open import metric-spaces.metric-spaces open import metric-spaces.short-functions-metric-spaces @@ -110,54 +106,6 @@ module _ ( x) ``` -### The action of short maps on Cauchy approximations - -```agda -module _ - {l1 l2 l1' l2' : Level} - (A : Metric-Space l1 l2) (B : Metric-Space l1' l2') - (f : short-function-Metric-Space A B) - where - - map-short-function-cauchy-approximation-Metric-Space : - cauchy-approximation-Metric-Space A → - cauchy-approximation-Metric-Space B - map-short-function-cauchy-approximation-Metric-Space = - map-short-function-cauchy-approximation-Pseudometric-Space - ( pseudometric-Metric-Space A) - ( pseudometric-Metric-Space B) - ( f) - -module _ - {l1 l2 : Level} - (A : Metric-Space l1 l2) - where - - eq-id-map-short-function-cauchy-approximation-Metric-Space : - map-short-function-cauchy-approximation-Metric-Space - ( A) - ( A) - ( short-id-Metric-Space A) = - id - eq-id-map-short-function-cauchy-approximation-Metric-Space = refl - -module _ - {l1a l2a l1b l2b l1c l2c : Level} - (A : Metric-Space l1a l2a) - (B : Metric-Space l1b l2b) - (C : Metric-Space l1c l2c) - (g : short-function-Metric-Space B C) - (f : short-function-Metric-Space A B) - where - - eq-comp-map-short-function-cauchy-approximation-Metric-Space : - ( map-short-function-cauchy-approximation-Metric-Space B C g ∘ - map-short-function-cauchy-approximation-Metric-Space A B f) = - ( map-short-function-cauchy-approximation-Metric-Space A C - (comp-short-function-Metric-Space A B C g f)) - eq-comp-map-short-function-cauchy-approximation-Metric-Space = refl -``` - ### Homotopic Cauchy approximations are equal ```agda diff --git a/src/metric-spaces/cauchy-approximations-pseudometric-spaces.lagda.md b/src/metric-spaces/cauchy-approximations-pseudometric-spaces.lagda.md index 3f7b863d42..280b955661 100644 --- a/src/metric-spaces/cauchy-approximations-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-approximations-pseudometric-spaces.lagda.md @@ -19,6 +19,7 @@ open import foundation.propositions open import foundation.subtypes open import foundation.universe-levels +open import metric-spaces.isometries-pseudometric-spaces open import metric-spaces.pseudometric-spaces open import metric-spaces.short-functions-pseudometric-spaces ``` @@ -103,31 +104,6 @@ module _ refl-neighborhood-Pseudometric-Space A (ε +ℚ⁺ δ) x ``` -### The action of short maps on Cauchy approximations - -```agda -module _ - {l1 l2 l1' l2' : Level} - (A : Pseudometric-Space l1 l2) (B : Pseudometric-Space l1' l2') - (f : short-function-Pseudometric-Space A B) - where - - map-short-function-cauchy-approximation-Pseudometric-Space : - cauchy-approximation-Pseudometric-Space A → - cauchy-approximation-Pseudometric-Space B - map-short-function-cauchy-approximation-Pseudometric-Space (u , H) = - ( map-short-function-Pseudometric-Space A B f ∘ u , - λ ε δ → - is-short-map-short-function-Pseudometric-Space - ( A) - ( B) - ( f) - ( ε +ℚ⁺ δ) - ( u ε) - ( u δ) - ( H ε δ)) -``` - ### Homotopic Cauchy approximations are equal ```agda diff --git a/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md b/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md index 9dad3ad654..a45d853892 100644 --- a/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md @@ -9,25 +9,21 @@ module metric-spaces.cauchy-pseudocompletion-of-metric-spaces where ```agda open import elementary-number-theory.addition-positive-rational-numbers open import elementary-number-theory.positive-rational-numbers -open import elementary-number-theory.strict-inequality-rational-numbers -open import foundation.action-on-identifications-binary-functions open import foundation.action-on-identifications-functions open import foundation.binary-relations -open import foundation.binary-transport open import foundation.dependent-pair-types open import foundation.function-types open import foundation.homotopies open import foundation.identity-types -open import foundation.propositions open import foundation.transport-along-identifications open import foundation.universe-levels +open import metric-spaces.cauchy-approximations-in-cauchy-pseudocompletions-of-pseudometric-spaces open import metric-spaces.cauchy-approximations-metric-spaces open import metric-spaces.cauchy-approximations-pseudometric-spaces open import metric-spaces.cauchy-pseudocompletion-of-pseudometric-spaces open import metric-spaces.complete-metric-spaces -open import metric-spaces.convergent-cauchy-approximations-metric-spaces open import metric-spaces.functions-pseudometric-spaces open import metric-spaces.isometries-pseudometric-spaces open import metric-spaces.limits-of-cauchy-approximations-metric-spaces @@ -354,7 +350,7 @@ module _ ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space)) is-short-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space d x y = - preserves-neighborhood-sim-Pseudometric-Space + preserves-neighborhoods-sim-Pseudometric-Space ( cauchy-pseudocompletion-Metric-Space M) { x} { const-cauchy-approximation-Metric-Space @@ -437,3 +433,103 @@ module _ ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u) ( is-limit-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u) ``` + +### The isometry mapping a Cauchy approximation in a complete metric space to its limit + +```agda +module _ + {l1 l2 : Level} (M : Metric-Space l1 l2) + (is-complete-M : is-complete-Metric-Space M) + where + + abstract + reflects-neighborhoods-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : + (δ : ℚ⁺) → + (u v : cauchy-approximation-Metric-Space M) → + neighborhood-Metric-Space + ( M) + ( δ) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + ( M) + ( is-complete-M) + ( u)) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + ( M) + ( is-complete-M) + ( v)) → + neighborhood-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space M) + ( δ) + ( u) + ( v) + reflects-neighborhoods-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + δ x y Nδ = + reflects-neighborhoods-sim-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space M) + { x} + { const-cauchy-approximation-Metric-Space + ( M) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + ( M) + ( is-complete-M) + ( x))} + { y} + { const-cauchy-approximation-Metric-Space + ( M) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + ( M) + ( is-complete-M) + ( y))} + ( sim-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + ( M) + ( is-complete-M) + ( x)) + ( sim-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + ( M) + ( is-complete-M) + ( y)) + ( δ) + ( preserves-neighborhoods-map-isometry-Pseudometric-Space + ( pseudometric-Metric-Space M) + ( cauchy-pseudocompletion-Metric-Space M) + ( isometry-cauchy-pseudocompletion-Metric-Space M) + ( δ) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + ( M) + ( is-complete-M) + ( x)) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + ( M) + ( is-complete-M) + ( y)) + ( Nδ)) + + is-isometry-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : + is-isometry-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space M) + ( pseudometric-Metric-Space M) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + ( M) + ( is-complete-M)) + is-isometry-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space d x y = + ( ( is-short-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + ( M) + ( is-complete-M) + ( d) + ( x) + ( y)) , + ( reflects-neighborhoods-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + ( d) + ( x) + ( y))) + + isometry-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : + isometry-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space M) + ( pseudometric-Metric-Space M) + isometry-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space = + ( ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + ( M) + ( is-complete-M)) , + ( is-isometry-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space)) +``` diff --git a/src/metric-spaces/cauchy-pseudocompletion-of-pseudometric-spaces.lagda.md b/src/metric-spaces/cauchy-pseudocompletion-of-pseudometric-spaces.lagda.md index 5bc301fcc1..044b7d09c6 100644 --- a/src/metric-spaces/cauchy-pseudocompletion-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-pseudocompletion-of-pseudometric-spaces.lagda.md @@ -17,24 +17,16 @@ open import elementary-number-theory.strict-inequality-rational-numbers open import foundation.action-on-identifications-binary-functions open import foundation.action-on-identifications-functions open import foundation.binary-relations -open import foundation.binary-transport open import foundation.dependent-pair-types open import foundation.function-types -open import foundation.homotopies open import foundation.identity-types open import foundation.propositions open import foundation.transport-along-identifications open import foundation.universe-levels -open import metric-spaces.cauchy-approximations-metric-spaces open import metric-spaces.cauchy-approximations-pseudometric-spaces -open import metric-spaces.complete-metric-spaces -open import metric-spaces.convergent-cauchy-approximations-metric-spaces -open import metric-spaces.functions-pseudometric-spaces open import metric-spaces.isometries-pseudometric-spaces -open import metric-spaces.limits-of-cauchy-approximations-metric-spaces open import metric-spaces.limits-of-cauchy-approximations-pseudometric-spaces -open import metric-spaces.metric-spaces open import metric-spaces.pseudometric-spaces open import metric-spaces.rational-neighborhood-relations open import metric-spaces.short-functions-pseudometric-spaces @@ -303,7 +295,7 @@ module _ const-cauchy-approximation-Pseudometric-Space M abstract - preserves-neighborhood-map-cauchy-pseudocompletion-Pseudometric-Space : + preserves-neighborhoods-map-cauchy-pseudocompletion-Pseudometric-Space : (d : ℚ⁺) (x y : type-Pseudometric-Space M) → neighborhood-Pseudometric-Space M d x y → neighborhood-cauchy-pseudocompletion-Pseudometric-Space @@ -311,13 +303,13 @@ module _ ( d) ( map-cauchy-pseudocompletion-Pseudometric-Space x) ( map-cauchy-pseudocompletion-Pseudometric-Space y) - preserves-neighborhood-map-cauchy-pseudocompletion-Pseudometric-Space + preserves-neighborhoods-map-cauchy-pseudocompletion-Pseudometric-Space d x y Nxy δ ε = monotonic-neighborhood-Pseudometric-Space M x y d (δ +ℚ⁺ ε +ℚ⁺ d) ( le-right-add-ℚ⁺ (δ +ℚ⁺ ε) d) ( Nxy) - reflects-neighborhood-map-cauchy-pseudocompletion-Pseudometric-Space : + reflects-neighborhoods-map-cauchy-pseudocompletion-Pseudometric-Space : (d : ℚ⁺) (x y : type-Pseudometric-Space M) → neighborhood-cauchy-pseudocompletion-Pseudometric-Space ( M) @@ -325,7 +317,7 @@ module _ ( map-cauchy-pseudocompletion-Pseudometric-Space x) ( map-cauchy-pseudocompletion-Pseudometric-Space y) → neighborhood-Pseudometric-Space M d x y - reflects-neighborhood-map-cauchy-pseudocompletion-Pseudometric-Space + reflects-neighborhoods-map-cauchy-pseudocompletion-Pseudometric-Space d x y Nxy = saturated-neighborhood-Pseudometric-Space M d x y ( λ δ → @@ -343,11 +335,11 @@ module _ ( cauchy-pseudocompletion-Pseudometric-Space M) ( map-cauchy-pseudocompletion-Pseudometric-Space) is-isometry-map-cauchy-pseudocompletion-Pseudometric-Space d x y = - ( ( preserves-neighborhood-map-cauchy-pseudocompletion-Pseudometric-Space + ( ( preserves-neighborhoods-map-cauchy-pseudocompletion-Pseudometric-Space ( d) ( x) ( y)) , - (reflects-neighborhood-map-cauchy-pseudocompletion-Pseudometric-Space + (reflects-neighborhoods-map-cauchy-pseudocompletion-Pseudometric-Space ( d) ( x) ( y))) @@ -412,449 +404,60 @@ module _ ( λ d → H d α β) ``` -### Any Cauchy approximation in the Cauchy pseudocompletion of a pseudometric space has a limit +### Similarity in the Cauchy pseudocompletion preserves and reflects limits ```agda module _ - { l1 l2 : Level} (M : Pseudometric-Space l1 l2) - ( U : - cauchy-approximation-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M)) - where - - map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : - ℚ⁺ → ℚ⁺ → type-Pseudometric-Space M - map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space ε = - map-cauchy-approximation-Pseudometric-Space M - ( map-cauchy-approximation-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( U) - ( ε)) - - is-cauchy-map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : - (δ ε d₁ d₂ : ℚ⁺) → - neighborhood-Pseudometric-Space - ( M) - ( d₁ +ℚ⁺ d₂ +ℚ⁺ (δ +ℚ⁺ ε)) - ( map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( δ) - ( d₁)) - ( map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( ε) - ( d₂)) - is-cauchy-map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - = - is-cauchy-approximation-map-cauchy-approximation-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( U) - - map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : - ℚ⁺ → type-Pseudometric-Space M - map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space d = - let - (d₁ , d₂ , _) = split-ℚ⁺ d - in - map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space d₂ d₁ - - is-cauchy-map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : - is-cauchy-approximation-Pseudometric-Space - ( M) - ( map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space) - is-cauchy-map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - δ ε = - let - (δ₁ , δ₂ , δ₁+δ₂=δ) = split-ℚ⁺ δ - (ε₁ , ε₂ , ε₁+ε₂=ε) = split-ℚ⁺ ε - - lemma-δ+ε : - ((δ₁ +ℚ⁺ ε₁) +ℚ⁺ (δ₂ +ℚ⁺ ε₂)) = δ +ℚ⁺ ε - lemma-δ+ε = - ( interchange-law-add-add-ℚ⁺ δ₁ ε₁ δ₂ ε₂) ∙ - ( ap-binary add-ℚ⁺ δ₁+δ₂=δ ε₁+ε₂=ε) - in - tr - ( is-upper-bound-dist-Pseudometric-Space - ( M) - ( map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( δ)) - ( map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( ε))) - ( lemma-δ+ε) - ( is-cauchy-map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - _ _ _ _) - - lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : - cauchy-approximation-Pseudometric-Space M - lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space = - ( map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space , - is-cauchy-map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space) - - is-limit-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : - is-limit-cauchy-approximation-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( U) - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space) - is-limit-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - δ ε η θ = - let - (θ₁ , θ₂ , θ₁+θ₂=θ) = split-ℚ⁺ θ - - lemma-η+θ+δ : - ((η +ℚ⁺ θ₁) +ℚ⁺ (δ +ℚ⁺ θ₂)) = η +ℚ⁺ θ +ℚ⁺ δ - lemma-η+θ+δ = - ( interchange-law-add-add-ℚ⁺ η θ₁ δ θ₂) ∙ - ( ap - ( add-ℚ⁺ (η +ℚ⁺ δ)) - ( θ₁+θ₂=θ)) ∙ - ( associative-add-ℚ⁺ η δ θ) ∙ - ( ap - ( add-ℚ⁺ η) - ( commutative-add-ℚ⁺ δ θ)) ∙ - ( inv (associative-add-ℚ⁺ η θ δ)) - - lemma-lim : - neighborhood-Pseudometric-Space M - ( η +ℚ⁺ θ +ℚ⁺ δ) - ( map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( δ) - ( η)) - ( map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( θ₂) - ( θ₁)) - lemma-lim = - tr - ( is-upper-bound-dist-Pseudometric-Space M - ( map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( δ) - ( η)) - ( map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( θ))) - ( lemma-η+θ+δ) - ( is-cauchy-map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - _ _ _ _) - in - tr - ( is-upper-bound-dist-Pseudometric-Space M - ( map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( δ) - ( η)) - ( map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( θ))) - ( associative-add-ℚ⁺ - ( η +ℚ⁺ θ) - ( δ) - ( ε)) - ( monotonic-neighborhood-Pseudometric-Space M - ( map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( δ) - ( η)) - ( map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( θ)) - ( η +ℚ⁺ θ +ℚ⁺ δ) - ( η +ℚ⁺ θ +ℚ⁺ δ +ℚ⁺ ε) - ( le-left-add-ℚ⁺ ( η +ℚ⁺ θ +ℚ⁺ δ) ε) - ( lemma-lim)) - - has-limit-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : - Σ ( cauchy-approximation-Pseudometric-Space M) - ( is-limit-cauchy-approximation-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( U)) - has-limit-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space = - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space , - is-limit-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space) -``` - -### Any Cauchy approximation in the pseudometric completion is similar to the constant Cauchy approximation of its limit - -```agda -module _ - { l1 l2 : Level} (M : Pseudometric-Space l1 l2) - ( u : - cauchy-approximation-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M)) + {l1 l2 : Level} (M : Pseudometric-Space l1 l2) + (u v : cauchy-approximation-Pseudometric-Space M) + (x : type-Pseudometric-Space M) where - sim-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : + has-same-limit-sim-cauchy-approximation-Pseudometric-Space : sim-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M)) - ( u) - ( const-cauchy-approximation-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M) - ( u))) - sim-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - = - sim-const-is-limit-cauchy-approximation-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space M) ( u) - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space M u) - ( is-limit-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M) - ( u)) -``` - -### The map from a Cauchy approximation in the pseudometric completion to its limit is short - -```agda -module _ - {l1 l2 : Level} (M : Pseudometric-Space l1 l2) - where - - abstract - is-short-function-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : - is-short-function-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M)) - ( cauchy-pseudocompletion-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M)) - ( ( const-cauchy-approximation-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M)) ∘ - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M))) - is-short-function-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - d u v = - preserves-neighborhood-sim-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M)) - { u} - { const-cauchy-approximation-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M) - ( u))} - { v} - { const-cauchy-approximation-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M) - ( v))} - ( sim-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M) - ( u)) - ( sim-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M) - ( v)) - ( d) - - is-short-function-lim-cauchy-approximation-pseudocompletion-Pseudometric-Space : - is-short-function-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M)) - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space M) - is-short-function-lim-cauchy-approximation-pseudocompletion-Pseudometric-Space - d u v Nuv = - reflects-neighborhood-map-cauchy-pseudocompletion-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( d) - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M) - ( u)) - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M) - ( v)) - ( is-short-function-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( d) - ( u) - ( v) - ( Nuv)) - - short-lim-cauchy-approximation-pseudocompletion-Pseudometric-Space : - short-function-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M)) - ( cauchy-pseudocompletion-Pseudometric-Space M) - short-lim-cauchy-approximation-pseudocompletion-Pseudometric-Space = - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space M , - is-short-function-lim-cauchy-approximation-pseudocompletion-Pseudometric-Space) -``` - -### The map from a Cauchy approximation in the pseudometric completion to its limit is an isometry - -```agda -module _ - {l1 l2 : Level} (M : Pseudometric-Space l1 l2) - where - - abstract - reflects-neighborhood-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : - ( d : ℚ⁺) → - ( u v : - cauchy-approximation-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M)) → - neighborhood-Pseudometric-Space + ( v) → + is-limit-cauchy-approximation-Pseudometric-Space M u x → + is-limit-cauchy-approximation-Pseudometric-Space M v x + has-same-limit-sim-cauchy-approximation-Pseudometric-Space u~v lim-u = + is-limit-sim-const-cauchy-approximation-Pseudometric-Space + ( M) + ( v) + ( x) + ( transitive-sim-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space M) - ( d) - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M) - ( u)) - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M) - ( v)) → - neighborhood-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M)) - ( d) - ( u) ( v) - reflects-neighborhood-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - d u v N-lim = - reflects-neighborhood-sim-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M)) - { u} - { const-cauchy-approximation-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M) - ( u))} - { v} - { const-cauchy-approximation-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M) - ( v))} - ( sim-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M) - ( u)) - ( sim-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M) - ( v)) - ( d) - ( preserves-neighborhood-map-cauchy-pseudocompletion-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( d) - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M) - ( u)) - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( M) - ( v)) - ( N-lim)) - - is-isometry-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : - is-isometry-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M)) - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space M) - is-isometry-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - d x y = - ( ( is-short-function-lim-cauchy-approximation-pseudocompletion-Pseudometric-Space + ( u) + ( const-cauchy-approximation-Pseudometric-Space M x) + ( sim-const-is-limit-cauchy-approximation-Pseudometric-Space ( M) - ( d) - ( x) - ( y)) , - ( reflects-neighborhood-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( d) + ( u) ( x) - ( y))) - - isometry-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : - isometry-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M)) - ( cauchy-pseudocompletion-Pseudometric-Space M) - isometry-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space = - ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space M , - is-isometry-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space) -``` - -### The action of short maps on Cauchy approximations is short - -```agda -module _ - {l1 l2 l1' l2' : Level} - (A : Pseudometric-Space l1 l2) (B : Pseudometric-Space l1' l2') - (f : short-function-Pseudometric-Space A B) - where - - is-short-map-short-function-cauchy-approximation-Pseudometric-Space : - is-short-function-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space A) - ( cauchy-pseudocompletion-Pseudometric-Space B) - ( map-short-function-cauchy-approximation-Pseudometric-Space A B f) - is-short-map-short-function-cauchy-approximation-Pseudometric-Space - d x y Nxy α β = - is-short-map-short-function-Pseudometric-Space A B f - ( α +ℚ⁺ β +ℚ⁺ d) - ( map-cauchy-approximation-Pseudometric-Space A x α) - ( map-cauchy-approximation-Pseudometric-Space A y β) - ( Nxy α β) - - short-map-short-function-cauchy-approximation-Pseudometric-Space : - short-function-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space A) - ( cauchy-pseudocompletion-Pseudometric-Space B) - short-map-short-function-cauchy-approximation-Pseudometric-Space = - ( map-short-function-cauchy-approximation-Pseudometric-Space A B f , - is-short-map-short-function-cauchy-approximation-Pseudometric-Space) -``` - -### The image of a Cauchy approximation in the Cauchy pseudocompletion is convergent - -```agda -module _ - {l1 l2 : Level} (M : Pseudometric-Space l1 l2) - (u : cauchy-approximation-Pseudometric-Space M) - where + ( lim-u)) + ( inv-sim-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( u~v))) - is-limit-map-cauchy-approximation-cauchy-pseudocompletion-Ppseudometric-Space : - is-limit-cauchy-approximation-Pseudometric-Space + sim-has-same-limit-cauchy-approximation-Pseudometric-Space : + is-limit-cauchy-approximation-Pseudometric-Space M u x → + is-limit-cauchy-approximation-Pseudometric-Space M v x → + sim-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space M) - ( map-short-function-cauchy-approximation-Pseudometric-Space - ( M) - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( short-map-cauchy-pseudocompletion-Pseudometric-Space M) - ( u)) ( u) - is-limit-map-cauchy-approximation-cauchy-pseudocompletion-Ppseudometric-Space - ε δ α β = - symmetric-neighborhood-Pseudometric-Space M - ( (α +ℚ⁺ β) +ℚ⁺ (ε +ℚ⁺ δ)) - ( map-cauchy-approximation-Pseudometric-Space M u β) - ( map-cauchy-approximation-Pseudometric-Space M u ε) - ( monotonic-neighborhood-Pseudometric-Space M - ( map-cauchy-approximation-Pseudometric-Space M u β) - ( map-cauchy-approximation-Pseudometric-Space M u ε) - ( β +ℚ⁺ ε) - ( (α +ℚ⁺ β) +ℚ⁺ (ε +ℚ⁺ δ)) - ( preserves-le-add-ℚ - { rational-ℚ⁺ β} - { rational-ℚ⁺ (α +ℚ⁺ β)} - { rational-ℚ⁺ ε} - { rational-ℚ⁺ (ε +ℚ⁺ δ)} - ( le-right-add-ℚ⁺ α β) - ( le-left-add-ℚ⁺ ε δ)) - ( is-cauchy-approximation-map-cauchy-approximation-Pseudometric-Space - ( M) - ( u) - ( β) - ( ε))) - - sim-map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : - sim-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M)) - ( map-short-function-cauchy-approximation-Pseudometric-Space - ( M) - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( short-map-cauchy-pseudocompletion-Pseudometric-Space M) - ( u)) - ( map-cauchy-pseudocompletion-Pseudometric-Space - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( u)) - sim-map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space = - sim-const-is-limit-cauchy-approximation-Pseudometric-Space + ( v) + sim-has-same-limit-cauchy-approximation-Pseudometric-Space lim-u lim-v = + transitive-sim-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space M) - ( map-short-function-cauchy-approximation-Pseudometric-Space - ( M) - ( cauchy-pseudocompletion-Pseudometric-Space M) - ( short-map-cauchy-pseudocompletion-Pseudometric-Space M) - ( u)) ( u) - ( is-limit-map-cauchy-approximation-cauchy-pseudocompletion-Ppseudometric-Space) + ( const-cauchy-approximation-Pseudometric-Space M x) + ( v) + ( inv-sim-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( sim-const-is-limit-cauchy-approximation-Pseudometric-Space + ( M) + ( v) + ( x) + ( lim-v))) + ( sim-const-is-limit-cauchy-approximation-Pseudometric-Space M u x lim-u) ``` diff --git a/src/metric-spaces/dependent-products-metric-spaces.lagda.md b/src/metric-spaces/dependent-products-metric-spaces.lagda.md index 2675d11b69..993b77a8ba 100644 --- a/src/metric-spaces/dependent-products-metric-spaces.lagda.md +++ b/src/metric-spaces/dependent-products-metric-spaces.lagda.md @@ -15,6 +15,7 @@ open import foundation.propositions open import foundation.sets open import foundation.universe-levels +open import metric-spaces.action-on-cauchy-approximations-short-maps-metric-spaces open import metric-spaces.cauchy-approximations-metric-spaces open import metric-spaces.complete-metric-spaces open import metric-spaces.convergent-cauchy-approximations-metric-spaces diff --git a/src/metric-spaces/extensions-metric-spaces.lagda.md b/src/metric-spaces/extensions-metric-spaces.lagda.md new file mode 100644 index 0000000000..0c9e9f6450 --- /dev/null +++ b/src/metric-spaces/extensions-metric-spaces.lagda.md @@ -0,0 +1,83 @@ +# Extensions of metric spaces + +```agda +module metric-spaces.extensions-metric-spaces where +``` + +
Imports + +```agda +open import foundation.dependent-pair-types +open import foundation.universe-levels + +open import metric-spaces.cauchy-approximations-metric-spaces +open import metric-spaces.cauchy-pseudocompletion-of-metric-spaces +open import metric-spaces.complete-metric-spaces +open import metric-spaces.convergent-cauchy-approximations-metric-spaces +open import metric-spaces.equality-of-metric-spaces +open import metric-spaces.isometries-metric-spaces +open import metric-spaces.limits-of-cauchy-approximations-metric-spaces +open import metric-spaces.metric-spaces +``` + +
+ +## Idea + +An +{{#concept "extension" Disambiguation="of a metric space" Agda=extension-Metric-Space}} +of a [metric space](metric-spaces.metric-spaces.md) `P`is a metric space `Q` +together with an [isometry](metric-spaces.isometries-metric-spaces.md) +`i : P → Q`. + +## Definition + +### Extensions of metric spaces + +```agda +module _ + {l1 l2 : Level} + (l3 l4 : Level) + (P : Metric-Space l1 l2) + where + + extension-Metric-Space : UU (l1 ⊔ l2 ⊔ lsuc l3 ⊔ lsuc l4) + extension-Metric-Space = + Σ ( Metric-Space l3 l4) + ( isometry-Metric-Space P) + +module _ + {l1 l2 l3 l4 : Level} + (P : Metric-Space l1 l2) + (E : extension-Metric-Space l3 l4 P) + where + + metric-space-extension-Metric-Space : Metric-Space l3 l4 + metric-space-extension-Metric-Space = pr1 E + + isometry-metric-space-extension-Metric-Space : + isometry-Metric-Space + ( P) + ( metric-space-extension-Metric-Space) + isometry-metric-space-extension-Metric-Space = pr2 E + + map-isometry-metric-space-extension-Metric-Space : + type-Metric-Space P → + type-Metric-Space metric-space-extension-Metric-Space + map-isometry-metric-space-extension-Metric-Space = + map-isometry-Metric-Space + ( P) + ( metric-space-extension-Metric-Space) + ( isometry-metric-space-extension-Metric-Space) + + is-isometry-map-extension-Metric-Space : + is-isometry-Metric-Space + ( P) + ( metric-space-extension-Metric-Space) + ( map-isometry-metric-space-extension-Metric-Space) + is-isometry-map-extension-Metric-Space = + is-isometry-map-isometry-Metric-Space + ( P) + ( metric-space-extension-Metric-Space) + ( isometry-metric-space-extension-Metric-Space) +``` diff --git a/src/metric-spaces/extensions-pseudometric-spaces.lagda.md b/src/metric-spaces/extensions-pseudometric-spaces.lagda.md new file mode 100644 index 0000000000..c05d1f55bb --- /dev/null +++ b/src/metric-spaces/extensions-pseudometric-spaces.lagda.md @@ -0,0 +1,77 @@ +# Extensions of pseudometric spaces + +```agda +module metric-spaces.extensions-pseudometric-spaces where +``` + +
Imports + +```agda +open import foundation.dependent-pair-types +open import foundation.universe-levels + +open import metric-spaces.isometries-pseudometric-spaces +open import metric-spaces.pseudometric-spaces +``` + +
+ +## Idea + +An +{{#concept "extension" Disambiguation="of a pseudometric space" Agda=extension-Pseudometric-Space}} +of a [pseudometric space](metric-spaces.pseudometric-spaces.md) `P`is a +pseudometric space `Q` together with an +[isometry](metric-spaces.isometries-pseudometric-spaces.md) `i : P → Q`. + +## Definition + +### Extensions of pseudometric spaces + +```agda +module _ + {l1 l2 : Level} + (l3 l4 : Level) + (P : Pseudometric-Space l1 l2) + where + + extension-Pseudometric-Space : UU (l1 ⊔ l2 ⊔ lsuc l3 ⊔ lsuc l4) + extension-Pseudometric-Space = + Σ ( Pseudometric-Space l3 l4) + ( isometry-Pseudometric-Space P) + +module _ + {l1 l2 l3 l4 : Level} + (P : Pseudometric-Space l1 l2) + (E : extension-Pseudometric-Space l3 l4 P) + where + + pseudometric-space-extension-Pseudometric-Space : Pseudometric-Space l3 l4 + pseudometric-space-extension-Pseudometric-Space = pr1 E + + isometry-pseudometric-space-extension-Pseudometric-Space : + isometry-Pseudometric-Space + ( P) + ( pseudometric-space-extension-Pseudometric-Space) + isometry-pseudometric-space-extension-Pseudometric-Space = pr2 E + + map-isometry-pseudometric-space-extension-Pseudometric-Space : + type-Pseudometric-Space P → + type-Pseudometric-Space pseudometric-space-extension-Pseudometric-Space + map-isometry-pseudometric-space-extension-Pseudometric-Space = + map-isometry-Pseudometric-Space + ( P) + ( pseudometric-space-extension-Pseudometric-Space) + ( isometry-pseudometric-space-extension-Pseudometric-Space) + + is-isometry-map-extension-Pseudometric-Space : + is-isometry-Pseudometric-Space + ( P) + ( pseudometric-space-extension-Pseudometric-Space) + ( map-isometry-pseudometric-space-extension-Pseudometric-Space) + is-isometry-map-extension-Pseudometric-Space = + is-isometry-map-isometry-Pseudometric-Space + ( P) + ( pseudometric-space-extension-Pseudometric-Space) + ( isometry-pseudometric-space-extension-Pseudometric-Space) +``` diff --git a/src/metric-spaces/indexed-sums-metric-spaces.lagda.md b/src/metric-spaces/indexed-sums-metric-spaces.lagda.md index 4ed15b71da..c07e513fe3 100644 --- a/src/metric-spaces/indexed-sums-metric-spaces.lagda.md +++ b/src/metric-spaces/indexed-sums-metric-spaces.lagda.md @@ -295,7 +295,7 @@ module _ ( map-emb-fiber-indexed-sum-Metric-Space A P x , is-short-emb-fiber-indexed-sum-Metric-Space) - reflects-neighborhood-emb-fiber-indexed-sum-Metric-Space : + reflects-neighborhoods-emb-fiber-indexed-sum-Metric-Space : (d : ℚ⁺) (px px' : type-Metric-Space (P x)) → neighborhood-Metric-Space ( indexed-sum-Metric-Space A P) @@ -307,7 +307,8 @@ module _ ( d) ( px) ( px') - reflects-neighborhood-emb-fiber-indexed-sum-Metric-Space d px px' (e , Nxx') = + reflects-neighborhoods-emb-fiber-indexed-sum-Metric-Space + d px px' (e , Nxx') = inv-tr ( λ e' → neighborhood-Metric-Space @@ -328,7 +329,7 @@ module _ ( map-emb-fiber-indexed-sum-Metric-Space A P x) is-isometry-emb-fiber-indexed-sum-Metric-Space d px px' = ( is-short-emb-fiber-indexed-sum-Metric-Space d px px' , - reflects-neighborhood-emb-fiber-indexed-sum-Metric-Space d px px') + reflects-neighborhoods-emb-fiber-indexed-sum-Metric-Space d px px') isometry-emb-fiber-indexed-Metric-Space : isometry-Metric-Space (P x) (indexed-sum-Metric-Space A P) diff --git a/src/metric-spaces/isometries-metric-spaces.lagda.md b/src/metric-spaces/isometries-metric-spaces.lagda.md index 3fee4dcad8..92c1c0a3e8 100644 --- a/src/metric-spaces/isometries-metric-spaces.lagda.md +++ b/src/metric-spaces/isometries-metric-spaces.lagda.md @@ -125,8 +125,8 @@ module _ is-isometry-Metric-Space A A (id-Metric-Space A) is-isometry-id-Metric-Space d x y = id-iff - isometry-id-Metric-Space : isometry-Metric-Space A A - isometry-id-Metric-Space = + id-isometry-Metric-Space : isometry-Metric-Space A A + id-isometry-Metric-Space = id-Metric-Space A , is-isometry-id-Metric-Space ``` @@ -171,7 +171,7 @@ module _ (f : isometry-Metric-Space A B) where - preserves-neighborhood-map-isometry-Metric-Space : + preserves-neighborhoods-map-isometry-Metric-Space : (d : ℚ⁺) (x y : type-Metric-Space A) → neighborhood-Metric-Space A d x y → neighborhood-Metric-Space @@ -179,11 +179,11 @@ module _ ( d) ( map-isometry-Metric-Space A B f x) ( map-isometry-Metric-Space A B f y) - preserves-neighborhood-map-isometry-Metric-Space d x y = + preserves-neighborhoods-map-isometry-Metric-Space d x y = forward-implication ( is-isometry-map-isometry-Metric-Space A B f d x y) - reflects-neighborhood-map-isometry-Metric-Space : + reflects-neighborhoods-map-isometry-Metric-Space : (d : ℚ⁺) (x y : type-Metric-Space A) → neighborhood-Metric-Space ( B) @@ -191,7 +191,7 @@ module _ ( map-isometry-Metric-Space A B f x) ( map-isometry-Metric-Space A B f y) → neighborhood-Metric-Space A d x y - reflects-neighborhood-map-isometry-Metric-Space d x y = + reflects-neighborhoods-map-isometry-Metric-Space d x y = backward-implication ( is-isometry-map-isometry-Metric-Space A B f d x y) ``` @@ -238,7 +238,7 @@ module _ left-unit-law-comp-isometry-Metric-Space : ( comp-isometry-Metric-Space A B B - (isometry-id-Metric-Space B) + ( id-isometry-Metric-Space B) ( f)) = ( f) left-unit-law-comp-isometry-Metric-Space = @@ -250,7 +250,7 @@ module _ right-unit-law-comp-isometry-Metric-Space : ( comp-isometry-Metric-Space A A B ( f) - ( isometry-id-Metric-Space A)) = + ( id-isometry-Metric-Space A)) = ( f) right-unit-law-comp-isometry-Metric-Space = right-unit-law-comp-isometry-Pseudometric-Space @@ -335,7 +335,7 @@ module _ B f isometry-inv-is-equiv-isometry-Metric-Space) = - ( isometry-id-Metric-Space B) + ( id-isometry-Metric-Space B) is-section-isometry-inv-is-equiv-isometry-Metric-Space = is-section-isometry-inv-is-equiv-isometry-Pseudometric-Space ( pseudometric-Metric-Space A) @@ -350,7 +350,7 @@ module _ A isometry-inv-is-equiv-isometry-Metric-Space f) = - ( isometry-id-Metric-Space A) + ( id-isometry-Metric-Space A) is-retraction-isometry-inv-is-equiv-isometry-Metric-Space = is-retraction-isometry-inv-is-equiv-isometry-Pseudometric-Space ( pseudometric-Metric-Space A) diff --git a/src/metric-spaces/isometries-pseudometric-spaces.lagda.md b/src/metric-spaces/isometries-pseudometric-spaces.lagda.md index 35d81a521c..7147daf5c0 100644 --- a/src/metric-spaces/isometries-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/isometries-pseudometric-spaces.lagda.md @@ -113,8 +113,8 @@ module _ is-isometry-Pseudometric-Space A A (id-Pseudometric-Space A) is-isometry-id-Pseudometric-Space d x y = id-iff - isometry-id-Pseudometric-Space : isometry-Pseudometric-Space A A - isometry-id-Pseudometric-Space = + id-isometry-Pseudometric-Space : isometry-Pseudometric-Space A A + id-isometry-Pseudometric-Space = ( id-Pseudometric-Space A , is-isometry-id-Pseudometric-Space) ``` @@ -162,7 +162,7 @@ module _ (f : isometry-Pseudometric-Space A B) where - preserves-neighborhood-map-isometry-Pseudometric-Space : + preserves-neighborhoods-map-isometry-Pseudometric-Space : (d : ℚ⁺) (x y : type-Pseudometric-Space A) → neighborhood-Pseudometric-Space A d x y → neighborhood-Pseudometric-Space @@ -170,11 +170,11 @@ module _ ( d) ( map-isometry-Pseudometric-Space A B f x) ( map-isometry-Pseudometric-Space A B f y) - preserves-neighborhood-map-isometry-Pseudometric-Space d x y = + preserves-neighborhoods-map-isometry-Pseudometric-Space d x y = forward-implication ( is-isometry-map-isometry-Pseudometric-Space A B f d x y) - reflects-neighborhood-map-isometry-Pseudometric-Space : + reflects-neighborhoods-map-isometry-Pseudometric-Space : (d : ℚ⁺) (x y : type-Pseudometric-Space A) → neighborhood-Pseudometric-Space ( B) @@ -182,7 +182,7 @@ module _ ( map-isometry-Pseudometric-Space A B f x) ( map-isometry-Pseudometric-Space A B f y) → neighborhood-Pseudometric-Space A d x y - reflects-neighborhood-map-isometry-Pseudometric-Space d x y = + reflects-neighborhoods-map-isometry-Pseudometric-Space d x y = backward-implication ( is-isometry-map-isometry-Pseudometric-Space A B f d x y) ``` @@ -232,7 +232,7 @@ module _ left-unit-law-comp-isometry-Pseudometric-Space : ( comp-isometry-Pseudometric-Space A B B - (isometry-id-Pseudometric-Space B) + ( id-isometry-Pseudometric-Space B) ( f)) = ( f) left-unit-law-comp-isometry-Pseudometric-Space = @@ -243,7 +243,7 @@ module _ ( A) ( B) ( B) - (isometry-id-Pseudometric-Space B) + ( id-isometry-Pseudometric-Space B) ( f)) ( f) ( refl-htpy) @@ -251,7 +251,7 @@ module _ right-unit-law-comp-isometry-Pseudometric-Space : ( comp-isometry-Pseudometric-Space A A B ( f) - ( isometry-id-Pseudometric-Space A)) = + ( id-isometry-Pseudometric-Space A)) = ( f) right-unit-law-comp-isometry-Pseudometric-Space = eq-htpy-map-isometry-Pseudometric-Space @@ -263,7 +263,7 @@ module _ ( A) ( B) ( f) - ( isometry-id-Pseudometric-Space A)) + ( id-isometry-Pseudometric-Space A)) ( refl-htpy) ``` @@ -357,25 +357,25 @@ module _ ( comp-isometry-Pseudometric-Space B A B ( f) ( isometry-inv-is-equiv-isometry-Pseudometric-Space)) = - ( isometry-id-Pseudometric-Space B) + ( id-isometry-Pseudometric-Space B) is-section-isometry-inv-is-equiv-isometry-Pseudometric-Space = eq-htpy-map-isometry-Pseudometric-Space B B ( comp-isometry-Pseudometric-Space B A B ( f) ( isometry-inv-is-equiv-isometry-Pseudometric-Space)) - ( isometry-id-Pseudometric-Space B) + ( id-isometry-Pseudometric-Space B) ( is-section-map-inv-is-equiv E) is-retraction-isometry-inv-is-equiv-isometry-Pseudometric-Space : ( comp-isometry-Pseudometric-Space A B A ( isometry-inv-is-equiv-isometry-Pseudometric-Space) ( f)) = - ( isometry-id-Pseudometric-Space A) + ( id-isometry-Pseudometric-Space A) is-retraction-isometry-inv-is-equiv-isometry-Pseudometric-Space = eq-htpy-map-isometry-Pseudometric-Space A A ( comp-isometry-Pseudometric-Space A B A ( isometry-inv-is-equiv-isometry-Pseudometric-Space) ( f)) - ( isometry-id-Pseudometric-Space A) + ( id-isometry-Pseudometric-Space A) ( is-retraction-map-inv-is-equiv E) ``` diff --git a/src/metric-spaces/limits-of-cauchy-approximations-metric-spaces.lagda.md b/src/metric-spaces/limits-of-cauchy-approximations-metric-spaces.lagda.md index d9a5fe6ea1..38768d09c1 100644 --- a/src/metric-spaces/limits-of-cauchy-approximations-metric-spaces.lagda.md +++ b/src/metric-spaces/limits-of-cauchy-approximations-metric-spaces.lagda.md @@ -10,14 +10,12 @@ module metric-spaces.limits-of-cauchy-approximations-metric-spaces where open import elementary-number-theory.addition-positive-rational-numbers open import elementary-number-theory.positive-rational-numbers -open import foundation.dependent-pair-types open import foundation.function-types open import foundation.identity-types open import foundation.propositions -open import foundation.subtypes -open import foundation.transport-along-identifications open import foundation.universe-levels +open import metric-spaces.action-on-cauchy-approximations-short-maps-metric-spaces open import metric-spaces.cauchy-approximations-metric-spaces open import metric-spaces.limits-of-cauchy-approximations-pseudometric-spaces open import metric-spaces.metric-spaces diff --git a/src/metric-spaces/metric-extensions-pseudometric-spaces.lagda.md b/src/metric-spaces/metric-extensions-pseudometric-spaces.lagda.md new file mode 100644 index 0000000000..7c4c2ead07 --- /dev/null +++ b/src/metric-spaces/metric-extensions-pseudometric-spaces.lagda.md @@ -0,0 +1,288 @@ +# Metric extensions of pseudometric spaces + +```agda +module metric-spaces.metric-extensions-pseudometric-spaces where +``` + +
Imports + +```agda +open import foundation.dependent-pair-types +open import foundation.equivalences +open import foundation.function-types +open import foundation.identity-types +open import foundation.propositions +open import foundation.subtypes +open import foundation.type-arithmetic-dependent-pair-types +open import foundation.universe-levels + +open import metric-spaces.action-on-cauchy-approximations-isometries-pseudometric-spaces +open import metric-spaces.cauchy-approximations-metric-spaces +open import metric-spaces.cauchy-approximations-pseudometric-spaces +open import metric-spaces.cauchy-pseudocompletion-of-metric-spaces +open import metric-spaces.cauchy-pseudocompletion-of-pseudometric-spaces +open import metric-spaces.extensionality-pseudometric-spaces +open import metric-spaces.extensions-pseudometric-spaces +open import metric-spaces.isometries-metric-spaces +open import metric-spaces.isometries-pseudometric-spaces +open import metric-spaces.limits-of-cauchy-approximations-metric-spaces +open import metric-spaces.metric-spaces +open import metric-spaces.pseudometric-spaces +open import metric-spaces.similarity-of-elements-pseudometric-spaces +``` + +
+ +## Idea + +A +{{#concept "metric extension" Disambiguation="of a pseudometric space" Agda=Metric-Extension}} +of a [pseudometric space](metric-spaces.pseudometric-spaces.md) `P` is a +[metric space](metric-spaces.metric-spaces.md) `M` together with an +[isometry](metric-spaces.isometries-pseudometric-spaces.md) `f : P → M`. + +This is equivalent to the type of +{{#concept "extensional extensions" Disambiguation="of a pseudometric space" Agda=extensional-extension-Pseudometric-Space}}, +[extensions](metric-spaces.extensions-pseudometric-spaces.md) of pseudometric +spaces `i : P → Q` such that `Q` is +[extensional](metric-spaces.extensionality-pseudometric-spaces.md). + +## Definition + +### Metric extensions of pseudometric spaces + +```agda +module _ + {l1 l2 : Level} (l3 l4 : Level) (P : Pseudometric-Space l1 l2) + where + + Metric-Extension : UU (l1 ⊔ l2 ⊔ lsuc l3 ⊔ lsuc l4) + Metric-Extension = + Σ ( Metric-Space l3 l4) + ( isometry-Pseudometric-Space P ∘ pseudometric-Metric-Space) +``` + +```agda +module _ + {l1 l2 l3 l4 : Level} (P : Pseudometric-Space l1 l2) + (M : Metric-Extension l3 l4 P) + where + + metric-space-Metric-Extension : Metric-Space l3 l4 + metric-space-Metric-Extension = pr1 M + + pseudometric-space-Metric-Extension : + Pseudometric-Space l3 l4 + pseudometric-space-Metric-Extension = + pseudometric-Metric-Space metric-space-Metric-Extension + + type-metric-space-Metric-Extension : UU l3 + type-metric-space-Metric-Extension = + type-Metric-Space metric-space-Metric-Extension + + isometry-metric-space-Metric-Extension : + isometry-Pseudometric-Space + ( P) + ( pseudometric-space-Metric-Extension) + isometry-metric-space-Metric-Extension = pr2 M + + map-isometry-metric-space-Metric-Extension : + type-Pseudometric-Space P → + type-metric-space-Metric-Extension + map-isometry-metric-space-Metric-Extension = + map-isometry-Pseudometric-Space + ( P) + ( pseudometric-space-Metric-Extension) + ( isometry-metric-space-Metric-Extension) +``` + +### Extensional extensions of pseudometric spaces + +```agda +module _ + {l1 l2 : Level} + (l3 l4 : Level) + (P : Pseudometric-Space l1 l2) + where + + is-extensional-prop-extension-Pseudometric-Space : + extension-Pseudometric-Space l3 l4 P → Prop (l3 ⊔ l4) + is-extensional-prop-extension-Pseudometric-Space M = + is-extensional-prop-Pseudometric-Space + ( pseudometric-space-extension-Pseudometric-Space P M) + + extensional-extension-Pseudometric-Space : UU (l1 ⊔ l2 ⊔ lsuc l3 ⊔ lsuc l4) + extensional-extension-Pseudometric-Space = + type-subtype + (is-extensional-prop-extension-Pseudometric-Space) +``` + +## Properties + +### Metric extensions are equivalent to extensional extensions of pseudometric spaces + +```agda +module _ + {l1 l2 l3 l4 : Level} + (P : Pseudometric-Space l1 l2) + where + + equiv-extensional-extension-Metric-Extension : + Metric-Extension l3 l4 P ≃ extensional-extension-Pseudometric-Space l3 l4 P + equiv-extensional-extension-Metric-Extension = equiv-right-swap-Σ +``` + +### The forgetful metric extension of a metric space into itself + +```agda +module _ + {l1 l2 : Level} (M : Metric-Space l1 l2) + where + + forgetful-Metric-Extension : + Metric-Extension l1 l2 (pseudometric-Metric-Space M) + forgetful-Metric-Extension = + (M , id-isometry-Metric-Space M) +``` + +### Action of metric extensions on Cauchy approximations + +```agda +module _ + {l1 l2 l3 l4 : Level} (P : Pseudometric-Space l1 l2) + (M : Metric-Extension l3 l4 P) + where + + isometry-cauchy-pseudocompletion-Metric-Extension : + isometry-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space P) + ( cauchy-pseudocompletion-Metric-Space + ( metric-space-Metric-Extension P M)) + isometry-cauchy-pseudocompletion-Metric-Extension = + isometry-map-cauchy-approximation-isometry-Pseudometric-Space + ( P) + ( pseudometric-space-Metric-Extension P M) + ( isometry-metric-space-Metric-Extension P M) + + map-cauchy-pseudocompletion-Metric-Extension : + cauchy-approximation-Pseudometric-Space P → + cauchy-approximation-Metric-Space + ( metric-space-Metric-Extension P M) + map-cauchy-pseudocompletion-Metric-Extension = + map-isometry-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space P) + ( cauchy-pseudocompletion-Metric-Space + ( metric-space-Metric-Extension P M)) + ( isometry-cauchy-pseudocompletion-Metric-Extension) + + is-isometry-map-cauchy-pseudocompletion-Metric-Extension : + is-isometry-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space P) + ( cauchy-pseudocompletion-Metric-Space + ( metric-space-Metric-Extension P M)) + ( map-cauchy-pseudocompletion-Metric-Extension) + is-isometry-map-cauchy-pseudocompletion-Metric-Extension = + is-isometry-map-isometry-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space P) + ( cauchy-pseudocompletion-Metric-Space + ( metric-space-Metric-Extension P M)) + ( isometry-cauchy-pseudocompletion-Metric-Extension) +``` + +### Limit points in metric extensions + +```agda +module _ + {l1 l2 l3 l4 : Level} + (P : Pseudometric-Space l1 l2) + (M : Metric-Extension l3 l4 P) + (u : cauchy-approximation-Pseudometric-Space P) + (y : type-metric-space-Metric-Extension P M) + where + + is-limit-map-cauchy-pseudocompletion-prop-Metric-Extension : + Prop l4 + is-limit-map-cauchy-pseudocompletion-prop-Metric-Extension + = + is-limit-cauchy-approximation-prop-Metric-Space + ( metric-space-Metric-Extension P M) + ( map-cauchy-pseudocompletion-Metric-Extension P M u) + ( y) + + is-limit-map-cauchy-pseudocompletion-Metric-Extension : + UU l4 + is-limit-map-cauchy-pseudocompletion-Metric-Extension = + type-Prop + is-limit-map-cauchy-pseudocompletion-prop-Metric-Extension + + is-prop-is-limit-map-cauchy-pseudocompletion-Metric-Extension : + is-prop + is-limit-map-cauchy-pseudocompletion-Metric-Extension + is-prop-is-limit-map-cauchy-pseudocompletion-Metric-Extension + = + is-prop-type-Prop + is-limit-map-cauchy-pseudocompletion-prop-Metric-Extension +``` + +### Similarity in the Cauchy pseudocompletion of a pseudometric space preserves and reflects limits in a metric extension + +```agda +module _ + {l1 l2 l3 l4 : Level} + (P : Pseudometric-Space l1 l2) + (M : Metric-Extension l3 l4 P) + (u v : cauchy-approximation-Pseudometric-Space P) + (y : type-metric-space-Metric-Extension P M) + where + + sim-has-same-limit-map-cauchy-pseudocompletion-Metric-Extension : + is-limit-map-cauchy-pseudocompletion-Metric-Extension + P M u y → + is-limit-map-cauchy-pseudocompletion-Metric-Extension + P M v y → + sim-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space P) + ( u) + ( v) + sim-has-same-limit-map-cauchy-pseudocompletion-Metric-Extension + lim-u lim-v = + reflects-sim-map-isometry-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space P) + ( cauchy-pseudocompletion-Metric-Space + ( metric-space-Metric-Extension P M)) + ( isometry-cauchy-pseudocompletion-Metric-Extension P M) + ( u) + ( v) + ( sim-has-same-limit-cauchy-approximation-Pseudometric-Space + ( pseudometric-space-Metric-Extension P M) + ( map-cauchy-pseudocompletion-Metric-Extension P M u) + ( map-cauchy-pseudocompletion-Metric-Extension P M v) + ( y) + ( lim-u) + ( lim-v)) + + has-same-limit-map-cauchy-sim-pseudocompletion-Metric-Extension : + sim-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space P) + ( u) + ( v) → + is-limit-map-cauchy-pseudocompletion-Metric-Extension + P M u y → + is-limit-map-cauchy-pseudocompletion-Metric-Extension + P M v y + has-same-limit-map-cauchy-sim-pseudocompletion-Metric-Extension + u~v = + has-same-limit-sim-cauchy-approximation-Pseudometric-Space + ( pseudometric-space-Metric-Extension P M) + ( map-cauchy-pseudocompletion-Metric-Extension P M u) + ( map-cauchy-pseudocompletion-Metric-Extension P M v) + ( y) + ( preserves-sim-map-isometry-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space P) + ( cauchy-pseudocompletion-Metric-Space + ( metric-space-Metric-Extension P M)) + ( isometry-cauchy-pseudocompletion-Metric-Extension P M) + ( u) + ( v) + ( u~v)) +``` diff --git a/src/metric-spaces/metric-quotients-of-pseudometric-spaces.lagda.md b/src/metric-spaces/metric-quotients-of-pseudometric-spaces.lagda.md index ffecd0aafc..d4228503f3 100644 --- a/src/metric-spaces/metric-quotients-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/metric-quotients-of-pseudometric-spaces.lagda.md @@ -386,6 +386,17 @@ module _ map-subtype-metric-quotient-Pseudometric-Space = inhabitant-equivalence-class-quotient-map-set-quotient ( equivalence-relation-sim-Pseudometric-Space M) + + eq-map-is-in-class-metric-quotient-Pseudometric-Space : + (X : type-metric-quotient-Pseudometric-Space M) → + {x : type-Pseudometric-Space M} → + is-in-class-metric-quotient-Pseudometric-Space M X x → + map-metric-quotient-Pseudometric-Space x = X + eq-map-is-in-class-metric-quotient-Pseudometric-Space X {x} x∈X = + eq-set-quotient-equivalence-class-set-quotient + ( equivalence-relation-sim-Pseudometric-Space M) + ( X) + ( x∈X) ``` ### The mapping from a pseudometric space its quotient metric space is an isometry @@ -397,7 +408,7 @@ module _ where abstract - preserves-neighborhood-map-metric-quotient-Pseudometric-Space : + preserves-neighborhoods-map-metric-quotient-Pseudometric-Space : (d : ℚ⁺) (x y : type-Pseudometric-Space M) → neighborhood-Pseudometric-Space M d x y → neighborhood-metric-quotient-Pseudometric-Space @@ -405,7 +416,7 @@ module _ ( d) ( map-metric-quotient-Pseudometric-Space M x) ( map-metric-quotient-Pseudometric-Space M y) - preserves-neighborhood-map-metric-quotient-Pseudometric-Space + preserves-neighborhoods-map-metric-quotient-Pseudometric-Space d x y d⟨x,y⟩ (x' , x≈x') (y' , y≈y') = let x~x' = @@ -423,15 +434,15 @@ module _ ( y≈y') in - preserves-neighborhood-right-sim-Pseudometric-Space M y~y' d x' - ( preserves-neighborhood-left-sim-Pseudometric-Space + preserves-neighborhoods-right-sim-Pseudometric-Space M y~y' d x' + ( preserves-neighborhoods-left-sim-Pseudometric-Space ( M) ( x~x') ( d) ( y) ( d⟨x,y⟩)) - reflects-neighborhood-map-metric-quotient-Pseudometric-Space : + reflects-neighborhoods-map-metric-quotient-Pseudometric-Space : (d : ℚ⁺) (x y : type-Pseudometric-Space M) → neighborhood-metric-quotient-Pseudometric-Space ( M) @@ -439,7 +450,7 @@ module _ ( map-metric-quotient-Pseudometric-Space M x) ( map-metric-quotient-Pseudometric-Space M y) → neighborhood-Pseudometric-Space M d x y - reflects-neighborhood-map-metric-quotient-Pseudometric-Space + reflects-neighborhoods-map-metric-quotient-Pseudometric-Space d x y Nxy = Nxy ( map-subtype-metric-quotient-Pseudometric-Space M x) @@ -451,8 +462,8 @@ module _ ( pseudometric-metric-quotient-Pseudometric-Space M) ( map-metric-quotient-Pseudometric-Space M) is-isometry-map-metric-quotient-Pseudometric-Space d x y = - ( preserves-neighborhood-map-metric-quotient-Pseudometric-Space d x y , - reflects-neighborhood-map-metric-quotient-Pseudometric-Space d x y) + ( preserves-neighborhoods-map-metric-quotient-Pseudometric-Space d x y , + reflects-neighborhoods-map-metric-quotient-Pseudometric-Space d x y) ``` ### The isometry from a pseudometric space to its quotient metric space @@ -758,7 +769,7 @@ module _ ( f)) abstract - preserves-neighborhood-map-isometry-metric-quotient-Pseudometric-Space : + preserves-neighborhoods-map-isometry-metric-quotient-Pseudometric-Space : (d : ℚ⁺) → (x y : type-metric-quotient-Pseudometric-Space A) → neighborhood-metric-quotient-Pseudometric-Space @@ -771,7 +782,7 @@ module _ ( d) ( map-isometry-metric-quotient-Pseudometric-Space x) ( map-isometry-metric-quotient-Pseudometric-Space y) - preserves-neighborhood-map-isometry-metric-quotient-Pseudometric-Space = + preserves-neighborhoods-map-isometry-metric-quotient-Pseudometric-Space = is-short-map-short-function-metric-quotient-Pseudometric-Space ( A) ( B) @@ -780,7 +791,7 @@ module _ ( pseudometric-Metric-Space B) ( f)) - reflects-neighborhood-map-isometry-metric-quotient-Pseudometric-Space : + reflects-neighborhoods-map-isometry-metric-quotient-Pseudometric-Space : (d : ℚ⁺) → (x y : type-metric-quotient-Pseudometric-Space A) → neighborhood-Metric-Space @@ -793,9 +804,9 @@ module _ ( d) ( x) ( y) - reflects-neighborhood-map-isometry-metric-quotient-Pseudometric-Space + reflects-neighborhoods-map-isometry-metric-quotient-Pseudometric-Space d X Y N⟨fX,fY⟩ (x , x∈X) (y , y∈Y) = - reflects-neighborhood-map-isometry-Pseudometric-Space + reflects-neighborhoods-map-isometry-Pseudometric-Space ( A) ( pseudometric-Metric-Space B) ( f) @@ -814,11 +825,11 @@ module _ ( B) ( map-isometry-metric-quotient-Pseudometric-Space) is-isometry-map-isometry-metric-quotient-Pseudometric-Space d x y = - ( preserves-neighborhood-map-isometry-metric-quotient-Pseudometric-Space + ( preserves-neighborhoods-map-isometry-metric-quotient-Pseudometric-Space ( d) ( x) ( y) , - reflects-neighborhood-map-isometry-metric-quotient-Pseudometric-Space + reflects-neighborhoods-map-isometry-metric-quotient-Pseudometric-Space ( d) ( x) ( y)) diff --git a/src/metric-spaces/metric-space-of-cauchy-approximations-metric-spaces.lagda.md b/src/metric-spaces/metric-space-of-cauchy-approximations-metric-spaces.lagda.md index 85dc63e6e8..9c7767b0ce 100644 --- a/src/metric-spaces/metric-space-of-cauchy-approximations-metric-spaces.lagda.md +++ b/src/metric-spaces/metric-space-of-cauchy-approximations-metric-spaces.lagda.md @@ -17,6 +17,7 @@ open import foundation.involutions open import foundation.subtypes open import foundation.universe-levels +open import metric-spaces.action-on-cauchy-approximations-short-maps-metric-spaces open import metric-spaces.cauchy-approximations-metric-spaces open import metric-spaces.dependent-products-metric-spaces open import metric-spaces.equality-of-metric-spaces diff --git a/src/metric-spaces/metric-spaces.lagda.md b/src/metric-spaces/metric-spaces.lagda.md index 25fbe2e982..36aac19425 100644 --- a/src/metric-spaces/metric-spaces.lagda.md +++ b/src/metric-spaces/metric-spaces.lagda.md @@ -317,6 +317,10 @@ module _ set-Metric-Space : Set l1 set-Metric-Space = (type-Metric-Space A , is-set-type-Metric-Space) + + eq-prop-Metric-Space : + (x y : type-Metric-Space A) → Prop l1 + eq-prop-Metric-Space = Id-Prop set-Metric-Space ``` ### Similarity of elements in a metric space is equivalent to equality diff --git a/src/metric-spaces/precategory-of-metric-spaces-and-isometries.lagda.md b/src/metric-spaces/precategory-of-metric-spaces-and-isometries.lagda.md index ba315c5ba8..04989c2bea 100644 --- a/src/metric-spaces/precategory-of-metric-spaces-and-isometries.lagda.md +++ b/src/metric-spaces/precategory-of-metric-spaces-and-isometries.lagda.md @@ -55,7 +55,7 @@ module _ ( Metric-Space l1 l2) ( set-isometry-Metric-Space) ( λ {A B C} → comp-isometry-Metric-Space A B C) - ( isometry-id-Metric-Space) + ( id-isometry-Metric-Space) ( λ {A B C D} → associative-comp-isometry-Metric-Space A B C D) ( λ {A B} → left-unit-law-comp-isometry-Metric-Space A B) ( λ {A B} → right-unit-law-comp-isometry-Metric-Space A B) diff --git a/src/metric-spaces/precategory-of-metric-spaces-and-short-functions.lagda.md b/src/metric-spaces/precategory-of-metric-spaces-and-short-functions.lagda.md index 6d3251395d..c494f32b3d 100644 --- a/src/metric-spaces/precategory-of-metric-spaces-and-short-functions.lagda.md +++ b/src/metric-spaces/precategory-of-metric-spaces-and-short-functions.lagda.md @@ -56,7 +56,7 @@ module _ ( Metric-Space l1 l2) ( set-short-function-Metric-Space) ( λ {A B C} → comp-short-function-Metric-Space A B C) - ( short-id-Metric-Space) + ( id-short-function-Metric-Space) ( λ {A B C D} → associative-comp-short-function-Metric-Space A B C D) ( λ {A B} → left-unit-law-comp-short-function-Metric-Space A B) ( λ {A B} → right-unit-law-comp-short-function-Metric-Space A B) @@ -149,7 +149,7 @@ module _ ( B) ( f) ( short-inverse)) - ( short-id-Metric-Space B) + ( id-short-function-Metric-Space B) ( is-section-map-inv-is-equiv E)) , ( eq-htpy-map-short-function-Metric-Space ( A) @@ -160,7 +160,7 @@ module _ ( A) ( short-inverse) ( f)) - ( short-id-Metric-Space A) + ( id-short-function-Metric-Space A) ( is-retraction-map-inv-is-equiv E))) where diff --git a/src/metric-spaces/rational-cauchy-approximations.lagda.md b/src/metric-spaces/rational-cauchy-approximations.lagda.md index d5f5d1b432..1da25063ea 100644 --- a/src/metric-spaces/rational-cauchy-approximations.lagda.md +++ b/src/metric-spaces/rational-cauchy-approximations.lagda.md @@ -19,6 +19,7 @@ open import foundation.propositions open import foundation.subtypes open import foundation.universe-levels +open import metric-spaces.action-on-cauchy-approximations-short-maps-metric-spaces open import metric-spaces.cauchy-approximations-metric-spaces open import metric-spaces.complete-metric-spaces open import metric-spaces.convergent-cauchy-approximations-metric-spaces diff --git a/src/metric-spaces/short-functions-metric-spaces.lagda.md b/src/metric-spaces/short-functions-metric-spaces.lagda.md index 64e55931bc..e0cb7d72f2 100644 --- a/src/metric-spaces/short-functions-metric-spaces.lagda.md +++ b/src/metric-spaces/short-functions-metric-spaces.lagda.md @@ -140,9 +140,9 @@ module _ is-short-id-Pseudometric-Space ( pseudometric-Metric-Space A) - short-id-Metric-Space : short-function-Metric-Space A A - short-id-Metric-Space = - short-id-Pseudometric-Space (pseudometric-Metric-Space A) + id-short-function-Metric-Space : short-function-Metric-Space A A + id-short-function-Metric-Space = + id-short-function-Pseudometric-Space (pseudometric-Metric-Space A) ``` ### Equality of short functions between metric spaces is characterized by homotopy of their carrier maps @@ -216,7 +216,7 @@ module _ left-unit-law-comp-short-function-Metric-Space : ( comp-short-function-Metric-Space A B B - ( short-id-Metric-Space B) + ( id-short-function-Metric-Space B) ( f)) = ( f) left-unit-law-comp-short-function-Metric-Space = @@ -228,7 +228,7 @@ module _ right-unit-law-comp-short-function-Metric-Space : ( comp-short-function-Metric-Space A A B ( f) - ( short-id-Metric-Space A)) = + ( id-short-function-Metric-Space A)) = ( f) right-unit-law-comp-short-function-Metric-Space = right-unit-law-comp-short-function-Pseudometric-Space diff --git a/src/metric-spaces/short-functions-pseudometric-spaces.lagda.md b/src/metric-spaces/short-functions-pseudometric-spaces.lagda.md index 2075b6e100..c4e262d3a3 100644 --- a/src/metric-spaces/short-functions-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/short-functions-pseudometric-spaces.lagda.md @@ -116,9 +116,10 @@ module _ is-short-function-Pseudometric-Space A A (id-Pseudometric-Space A) is-short-id-Pseudometric-Space d x y H = H - short-id-Pseudometric-Space : short-function-Pseudometric-Space A A - short-id-Pseudometric-Space = - id-Pseudometric-Space A , is-short-id-Pseudometric-Space + id-short-function-Pseudometric-Space : + short-function-Pseudometric-Space A A + id-short-function-Pseudometric-Space = + ( id-Pseudometric-Space A , is-short-id-Pseudometric-Space) ``` ### Equality of short functions between pseudometric spaces is characterized by homotopy of their carrier maps @@ -192,7 +193,7 @@ module _ left-unit-law-comp-short-function-Pseudometric-Space : ( comp-short-function-Pseudometric-Space A B B - ( short-id-Pseudometric-Space B) + ( id-short-function-Pseudometric-Space B) ( f)) = ( f) left-unit-law-comp-short-function-Pseudometric-Space = @@ -203,7 +204,7 @@ module _ ( A) ( B) ( B) - ( short-id-Pseudometric-Space B) + ( id-short-function-Pseudometric-Space B) ( f)) ( f) ( λ x → refl) @@ -211,7 +212,7 @@ module _ right-unit-law-comp-short-function-Pseudometric-Space : ( comp-short-function-Pseudometric-Space A A B ( f) - ( short-id-Pseudometric-Space A)) = + ( id-short-function-Pseudometric-Space A)) = ( f) right-unit-law-comp-short-function-Pseudometric-Space = eq-htpy-map-short-function-Pseudometric-Space @@ -223,7 +224,7 @@ module _ ( A) ( B) ( f) - ( short-id-Pseudometric-Space A)) + ( id-short-function-Pseudometric-Space A)) ( λ x → refl) ``` @@ -295,7 +296,7 @@ module _ is-isometry-Pseudometric-Space A B f → is-short-function-Pseudometric-Space A B f is-short-is-isometry-Pseudometric-Space I = - preserves-neighborhood-map-isometry-Pseudometric-Space A B (f , I) + preserves-neighborhoods-map-isometry-Pseudometric-Space A B (f , I) ``` ### The embedding of isometries of pseudometric spaces into short maps diff --git a/src/metric-spaces/similarity-of-elements-pseudometric-spaces.lagda.md b/src/metric-spaces/similarity-of-elements-pseudometric-spaces.lagda.md index f9caa041d2..6a249158e4 100644 --- a/src/metric-spaces/similarity-of-elements-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/similarity-of-elements-pseudometric-spaces.lagda.md @@ -22,6 +22,7 @@ open import foundation.propositions open import foundation.transport-along-identifications open import foundation.universe-levels +open import metric-spaces.isometries-pseudometric-spaces open import metric-spaces.pseudometric-spaces open import metric-spaces.rational-neighborhood-relations open import metric-spaces.short-functions-pseudometric-spaces @@ -172,13 +173,13 @@ module _ where abstract - preserves-neighborhood-left-sim-Pseudometric-Space : + preserves-neighborhoods-left-sim-Pseudometric-Space : { x y : type-Pseudometric-Space A} → ( sim-Pseudometric-Space A x y) → ( d : ℚ⁺) (z : type-Pseudometric-Space A) → neighborhood-Pseudometric-Space A d x z → neighborhood-Pseudometric-Space A d y z - preserves-neighborhood-left-sim-Pseudometric-Space {x} {y} x≍y d z Nxz = + preserves-neighborhoods-left-sim-Pseudometric-Space {x} {y} x≍y d z Nxz = saturated-neighborhood-Pseudometric-Space ( A) ( d) @@ -203,46 +204,46 @@ module _ ( y) ( x≍y δ)))) - preserves-neighborhood-right-sim-Pseudometric-Space : + preserves-neighborhoods-right-sim-Pseudometric-Space : { x y : type-Pseudometric-Space A} → ( sim-Pseudometric-Space A x y) → ( d : ℚ⁺) (z : type-Pseudometric-Space A) → neighborhood-Pseudometric-Space A d z x → neighborhood-Pseudometric-Space A d z y - preserves-neighborhood-right-sim-Pseudometric-Space {x} {y} x≍y d z Nzx = + preserves-neighborhoods-right-sim-Pseudometric-Space {x} {y} x≍y d z Nzx = symmetric-neighborhood-Pseudometric-Space A d y z - ( preserves-neighborhood-left-sim-Pseudometric-Space x≍y d z + ( preserves-neighborhoods-left-sim-Pseudometric-Space x≍y d z ( symmetric-neighborhood-Pseudometric-Space A d z x Nzx)) - preserves-neighborhood-sim-Pseudometric-Space : + preserves-neighborhoods-sim-Pseudometric-Space : {x x' y y' : type-Pseudometric-Space A} → sim-Pseudometric-Space A x x' → sim-Pseudometric-Space A y y' → (d : ℚ⁺) → neighborhood-Pseudometric-Space A d x y → neighborhood-Pseudometric-Space A d x' y' - preserves-neighborhood-sim-Pseudometric-Space + preserves-neighborhoods-sim-Pseudometric-Space {x} {x'} {y} {y'} x~x' y~y' d Nxy = - preserves-neighborhood-left-sim-Pseudometric-Space + preserves-neighborhoods-left-sim-Pseudometric-Space ( x~x') ( d) ( y') - ( preserves-neighborhood-right-sim-Pseudometric-Space + ( preserves-neighborhoods-right-sim-Pseudometric-Space ( y~y') ( d) ( x) ( Nxy)) - reflects-neighborhood-sim-Pseudometric-Space : + reflects-neighborhoods-sim-Pseudometric-Space : {x x' y y' : type-Pseudometric-Space A} → sim-Pseudometric-Space A x x' → sim-Pseudometric-Space A y y' → (d : ℚ⁺) → neighborhood-Pseudometric-Space A d x' y' → neighborhood-Pseudometric-Space A d x y - reflects-neighborhood-sim-Pseudometric-Space + reflects-neighborhoods-sim-Pseudometric-Space {x} {x'} {y} {y'} x~x' y~y' = - preserves-neighborhood-sim-Pseudometric-Space + preserves-neighborhoods-sim-Pseudometric-Space ( inv-sim-Pseudometric-Space A x~x') ( inv-sim-Pseudometric-Space A y~y') @@ -254,8 +255,8 @@ module _ neighborhood-Pseudometric-Space A d y z) same-neighbors-iff-sim-Pseudometric-Space = ( λ x≍y d z → - ( preserves-neighborhood-left-sim-Pseudometric-Space x≍y d z) , - ( preserves-neighborhood-left-sim-Pseudometric-Space + ( preserves-neighborhoods-left-sim-Pseudometric-Space x≍y d z) , + ( preserves-neighborhoods-left-sim-Pseudometric-Space ( inv-sim-Pseudometric-Space A x≍y) ( d) ( z))) , @@ -314,15 +315,46 @@ module _ ( A : Pseudometric-Space l1 l2) ( B : Pseudometric-Space l1' l2') ( f : short-function-Pseudometric-Space A B) - where + where abstract + + preserves-sim-map-short-function-Pseudometric-Space : + ( x y : type-Pseudometric-Space A) → + ( sim-Pseudometric-Space A x y) → + ( sim-Pseudometric-Space B + ( map-short-function-Pseudometric-Space A B f x) + ( map-short-function-Pseudometric-Space A B f y)) + preserves-sim-map-short-function-Pseudometric-Space x y x~y d = + is-short-map-short-function-Pseudometric-Space A B f d x y (x~y d) +``` - abstract - preserves-sim-map-short-function-Pseudometric-Space : - ( x y : type-Pseudometric-Space A) → - ( sim-Pseudometric-Space A x y) → - ( sim-Pseudometric-Space B - ( map-short-function-Pseudometric-Space A B f x) - ( map-short-function-Pseudometric-Space A B f y)) - preserves-sim-map-short-function-Pseudometric-Space x y x~y d = - is-short-map-short-function-Pseudometric-Space A B f d x y (x~y d) +### Isometries between pseudometric spaces preserve and reflect similarity + +```agda +module _ + { l1 l2 l1' l2' : Level} + ( A : Pseudometric-Space l1 l2) + ( B : Pseudometric-Space l1' l2') + ( f : isometry-Pseudometric-Space A B) + where abstract + + preserves-sim-map-isometry-Pseudometric-Space : + ( x y : type-Pseudometric-Space A) → + ( sim-Pseudometric-Space A x y) → + ( sim-Pseudometric-Space B + ( map-isometry-Pseudometric-Space A B f x) + ( map-isometry-Pseudometric-Space A B f y)) + preserves-sim-map-isometry-Pseudometric-Space = + preserves-sim-map-short-function-Pseudometric-Space + ( A) + ( B) + ( short-isometry-Pseudometric-Space A B f) + + reflects-sim-map-isometry-Pseudometric-Space : + ( x y : type-Pseudometric-Space A) → + ( sim-Pseudometric-Space B + ( map-isometry-Pseudometric-Space A B f x) + ( map-isometry-Pseudometric-Space A B f y)) → + ( sim-Pseudometric-Space A x y) + reflects-sim-map-isometry-Pseudometric-Space x y fx~fy d = + reflects-neighborhoods-map-isometry-Pseudometric-Space A B f d x y (fx~fy d) ``` diff --git a/src/real-numbers/proper-closed-intervals-real-numbers.lagda.md b/src/real-numbers/proper-closed-intervals-real-numbers.lagda.md index 21f5ab7e36..082ca043df 100644 --- a/src/real-numbers/proper-closed-intervals-real-numbers.lagda.md +++ b/src/real-numbers/proper-closed-intervals-real-numbers.lagda.md @@ -20,6 +20,7 @@ open import foundation.subtypes open import foundation.transport-along-identifications open import foundation.universe-levels +open import metric-spaces.action-on-cauchy-approximations-short-maps-metric-spaces open import metric-spaces.cauchy-approximations-metric-spaces open import metric-spaces.closed-subsets-metric-spaces open import metric-spaces.complete-metric-spaces