From 6508a945f5bf9cff6e39cb6a331361d6257d5eee Mon Sep 17 00:00:00 2001 From: malarbol Date: Sat, 22 Nov 2025 18:28:07 +0100 Subject: [PATCH 01/41] misc results --- ...-quotients-of-pseudometric-spaces.lagda.md | 2 +- ...uchy-approximations-metric-spaces.lagda.md | 2 +- ...pproximations-pseudometric-spaces.lagda.md | 24 ++- ...pseudocompletion-of-metric-spaces.lagda.md | 100 +++++++++++ ...completion-of-pseudometric-spaces.lagda.md | 160 ++++++++++++++++-- ...-quotients-of-pseudometric-spaces.lagda.md | 14 ++ ...y-of-elements-pseudometric-spaces.lagda.md | 40 +++-- 7 files changed, 318 insertions(+), 24 deletions(-) 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 9184f29af6a..4c46e7a886c 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 @@ -107,7 +107,7 @@ module _ ( 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-short-function-Pseudometric-Space ( M) ( pseudometric-metric-quotient-Pseudometric-Space M) ( short-map-metric-quotient-Pseudometric-Space M) diff --git a/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md b/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md index caf5ee3d31c..d8bf919a55c 100644 --- a/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md @@ -123,7 +123,7 @@ module _ cauchy-approximation-Metric-Space A → cauchy-approximation-Metric-Space B map-short-function-cauchy-approximation-Metric-Space = - map-short-function-cauchy-approximation-Pseudometric-Space + map-cauchy-approximation-short-function-Pseudometric-Space ( pseudometric-Metric-Space A) ( pseudometric-Metric-Space B) ( f) diff --git a/src/metric-spaces/cauchy-approximations-pseudometric-spaces.lagda.md b/src/metric-spaces/cauchy-approximations-pseudometric-spaces.lagda.md index 3f7b863d422..b6b0b62a391 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 ``` @@ -112,10 +113,10 @@ module _ (f : short-function-Pseudometric-Space A B) where - map-short-function-cauchy-approximation-Pseudometric-Space : + map-cauchy-approximation-short-function-Pseudometric-Space : cauchy-approximation-Pseudometric-Space A → cauchy-approximation-Pseudometric-Space B - map-short-function-cauchy-approximation-Pseudometric-Space (u , H) = + 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 @@ -128,6 +129,25 @@ module _ ( H ε δ)) ``` +### 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) +``` + ### 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 9dad3ad6549..2cdba77681c 100644 --- a/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md @@ -437,3 +437,103 @@ module _ ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u) ( is-limit-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u) ``` + +### The isometry from the Cauchy pseudocompletion of 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-neighborhood-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-neighborhood-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + δ x y Nδ = + reflects-neighborhood-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-neighborhood-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-neighborhood-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 5bc301fcc11..d4b849e8777 100644 --- a/src/metric-spaces/cauchy-pseudocompletion-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-pseudocompletion-of-pseudometric-spaces.lagda.md @@ -412,6 +412,64 @@ module _ ( λ d → H d α β) ``` +### Similarity in the Cauchy pseudocompletion preserves and reflects limits + +```agda +module _ + {l1 l2 : Level} (M : Pseudometric-Space l1 l2) + (u v : cauchy-approximation-Pseudometric-Space M) + (x : type-Pseudometric-Space M) + where + + has-same-limit-sim-cauchy-approximation-Pseudometric-Space : + sim-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( u) + ( 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) + ( v) + ( u) + ( const-cauchy-approximation-Pseudometric-Space M x) + ( sim-const-is-limit-cauchy-approximation-Pseudometric-Space + ( M) + ( u) + ( x) + ( lim-u)) + ( inv-sim-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( u~v))) + + 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) + ( u) + ( v) + sim-has-same-limit-cauchy-approximation-Pseudometric-Space lim-u lim-v = + transitive-sim-Pseudometric-Space + ( cauchy-pseudocompletion-Pseudometric-Space M) + ( u) + ( 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) +``` + ### Any Cauchy approximation in the Cauchy pseudocompletion of a pseudometric space has a limit ```agda @@ -772,12 +830,12 @@ module _ (f : short-function-Pseudometric-Space A B) where - is-short-map-short-function-cauchy-approximation-Pseudometric-Space : + is-short-map-cauchy-approximation-short-function-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 + ( map-cauchy-approximation-short-function-Pseudometric-Space A B f) + is-short-map-cauchy-approximation-short-function-Pseudometric-Space d x y Nxy α β = is-short-map-short-function-Pseudometric-Space A B f ( α +ℚ⁺ β +ℚ⁺ d) @@ -785,13 +843,95 @@ module _ ( map-cauchy-approximation-Pseudometric-Space A y β) ( Nxy α β) - short-map-short-function-cauchy-approximation-Pseudometric-Space : + short-map-cauchy-approximation-short-function-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) + short-map-cauchy-approximation-short-function-Pseudometric-Space = + ( map-cauchy-approximation-short-function-Pseudometric-Space A B f , + is-short-map-cauchy-approximation-short-function-Pseudometric-Space) +``` + +### 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-neighborhood-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-neighborhood-map-cauchy-approximation-isometry-Pseudometric-Space = + is-short-map-cauchy-approximation-short-function-Pseudometric-Space + ( A) + ( B) + ( short-isometry-Pseudometric-Space A B f) + + reflects-neighborhood-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-neighborhood-map-cauchy-approximation-isometry-Pseudometric-Space + d x y Nxy α β = + reflects-neighborhood-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-neighborhood-map-cauchy-approximation-isometry-Pseudometric-Space + ( d) + ( x) + ( y)) , + ( reflects-neighborhood-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) ``` ### The image of a Cauchy approximation in the Cauchy pseudocompletion is convergent @@ -805,7 +945,7 @@ module _ is-limit-map-cauchy-approximation-cauchy-pseudocompletion-Ppseudometric-Space : is-limit-cauchy-approximation-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space M) - ( map-short-function-cauchy-approximation-Pseudometric-Space + ( map-cauchy-approximation-short-function-Pseudometric-Space ( M) ( cauchy-pseudocompletion-Pseudometric-Space M) ( short-map-cauchy-pseudocompletion-Pseudometric-Space M) @@ -839,7 +979,7 @@ module _ sim-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space M)) - ( map-short-function-cauchy-approximation-Pseudometric-Space + ( map-cauchy-approximation-short-function-Pseudometric-Space ( M) ( cauchy-pseudocompletion-Pseudometric-Space M) ( short-map-cauchy-pseudocompletion-Pseudometric-Space M) @@ -850,7 +990,7 @@ module _ sim-map-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space = sim-const-is-limit-cauchy-approximation-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space M) - ( map-short-function-cauchy-approximation-Pseudometric-Space + ( map-cauchy-approximation-short-function-Pseudometric-Space ( M) ( cauchy-pseudocompletion-Pseudometric-Space M) ( short-map-cauchy-pseudocompletion-Pseudometric-Space M) 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 ffecd0aafca..3f48274856b 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,20 @@ 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 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 f9caa041d21..168c7d67105 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 @@ -314,15 +315,34 @@ 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 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 + + 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-neighborhood-map-isometry-Pseudometric-Space A B f d x y (fx~fy d) ``` From 02e4ae067ab829386dfce8bacd5c0a67ced06ef1 Mon Sep 17 00:00:00 2001 From: malarbol Date: Sat, 22 Nov 2025 18:47:20 +0100 Subject: [PATCH 02/41] metric extensions --- src/metric-spaces.lagda.md | 1 + ...extensions-of-pseudometric-spaces.lagda.md | 231 ++++++++++++++++++ 2 files changed, 232 insertions(+) create mode 100644 src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md diff --git a/src/metric-spaces.lagda.md b/src/metric-spaces.lagda.md index bc48c2ee7e7..bb1b20c3bec 100644 --- a/src/metric-spaces.lagda.md +++ b/src/metric-spaces.lagda.md @@ -106,6 +106,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-of-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/metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md new file mode 100644 index 00000000000..c6e0fe412fe --- /dev/null +++ b/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md @@ -0,0 +1,231 @@ +# Metric extensions of pseudometric spaces + +```agda +module metric-spaces.metric-extensions-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.binary-transport +open import foundation.dependent-pair-types +open import foundation.equivalences +open import foundation.existential-quantification +open import foundation.function-types +open import foundation.homotopies +open import foundation.identity-types +open import foundation.logical-equivalences +open import foundation.propositional-truncations +open import foundation.propositions +open import foundation.set-quotients +open import foundation.sets +open import foundation.transport-along-identifications +open import foundation.universe-levels + +open import metric-spaces.cauchy-approximations-metric-quotients-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-metric-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.equality-of-metric-spaces +open import metric-spaces.functions-metric-spaces +open import metric-spaces.functions-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.limits-of-cauchy-approximations-pseudometric-spaces +open import metric-spaces.metric-quotients-of-pseudometric-spaces +open import metric-spaces.metric-spaces +open import metric-spaces.precategory-of-metric-spaces-and-short-functions +open import metric-spaces.pseudometric-spaces +open import metric-spaces.rational-neighborhood-relations +open import metric-spaces.short-functions-metric-spaces +open import metric-spaces.short-functions-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`. + +## 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-Extension : + isometry-Pseudometric-Space P pseudometric-space-Metric-Extension + isometry-Metric-Extension = pr2 M +``` + +## Properties + +### 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-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 +``` + +### Cauchy approximations converging to the same image in a metric extension are similar in the Cauchy pseudocompletion + +```agda +module _ + {l1 l2 l3 l4 : Level} + (P : Pseudometric-Space l1 l2) + (M : Metric-Extension l3 l4 P) + (y : type-metric-space-Metric-Extension P M) + (u v : cauchy-approximation-Pseudometric-Space P) + where + + lemma-sim-is-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) + lemma-sim-is-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) + ( transitive-sim-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space + ( metric-space-Metric-Extension P M)) + ( map-cauchy-pseudocompletion-Metric-Extension P M u) + ( const-cauchy-approximation-Metric-Space + ( metric-space-Metric-Extension P M) + ( y)) + ( map-cauchy-pseudocompletion-Metric-Extension P M v) + ( symmetric-sim-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space + ( metric-space-Metric-Extension P M)) + ( map-cauchy-pseudocompletion-Metric-Extension P M v) + ( const-cauchy-approximation-Metric-Space + ( metric-space-Metric-Extension P M) + ( y)) + ( sim-const-is-limit-cauchy-approximation-Metric-Space + ( metric-space-Metric-Extension P M) + ( map-cauchy-pseudocompletion-Metric-Extension P M v) + ( y) + ( lim-v))) + ( sim-const-is-limit-cauchy-approximation-Metric-Space + ( metric-space-Metric-Extension P M) + ( map-cauchy-pseudocompletion-Metric-Extension P M u) + ( y) + ( lim-u))) +``` From d36ea7a609a94b7795acab5a1275f9ff1c5d2659 Mon Sep 17 00:00:00 2001 From: malarbol Date: Sat, 22 Nov 2025 19:10:00 +0100 Subject: [PATCH 03/41] unused imports --- .../cauchy-approximations-metric-spaces.lagda.md | 4 ---- .../cauchy-pseudocompletion-of-metric-spaces.lagda.md | 5 ----- ...auchy-pseudocompletion-of-pseudometric-spaces.lagda.md | 8 -------- ...limits-of-cauchy-approximations-metric-spaces.lagda.md | 3 --- 4 files changed, 20 deletions(-) diff --git a/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md b/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md index d8bf919a55c..a6651165e3e 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 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 2cdba77681c..62e4bac8a72 100644 --- a/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md @@ -9,17 +9,13 @@ 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 @@ -27,7 +23,6 @@ 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 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 d4b849e8777..05628e7f6cd 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 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 d9a5fe6ea14..84a29eb976c 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,12 +10,9 @@ 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.cauchy-approximations-metric-spaces From 03c3e2bbe1f0d9e5ea6e1b17a2549f8eb18a6555 Mon Sep 17 00:00:00 2001 From: malarbol Date: Sat, 22 Nov 2025 20:01:48 +0100 Subject: [PATCH 04/41] refactor --- ...extensions-of-pseudometric-spaces.lagda.md | 58 ++++++++++--------- ...y-of-elements-pseudometric-spaces.lagda.md | 14 ++++- 2 files changed, 44 insertions(+), 28 deletions(-) diff --git a/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md index c6e0fe412fe..d826e58e519 100644 --- a/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md @@ -177,25 +177,25 @@ module _ is-limit-map-cauchy-pseudocompletion-prop-Metric-Extension ``` -### Cauchy approximations converging to the same image in a metric extension are similar in the Cauchy pseudocompletion +### 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) - (y : type-metric-space-Metric-Extension P M) (u v : cauchy-approximation-Pseudometric-Space P) + (y : type-metric-space-Metric-Extension P M) where - lemma-sim-is-limit-map-cauchy-pseudocompletion-Metric-Extension : + 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) - lemma-sim-is-limit-map-cauchy-pseudocompletion-Metric-Extension lim-u lim-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 @@ -203,29 +203,33 @@ module _ ( isometry-cauchy-pseudocompletion-Metric-Extension P M) ( u) ( v) - ( transitive-sim-Pseudometric-Space - ( cauchy-pseudocompletion-Metric-Space - ( metric-space-Metric-Extension P M)) + ( sim-has-same-limit-cauchy-approximation-Pseudometric-Space + ( pseudometric-space-Metric-Extension P M) ( map-cauchy-pseudocompletion-Metric-Extension P M u) - ( const-cauchy-approximation-Metric-Space - ( metric-space-Metric-Extension P M) - ( y)) ( map-cauchy-pseudocompletion-Metric-Extension P M v) - ( symmetric-sim-Pseudometric-Space - ( cauchy-pseudocompletion-Metric-Space - ( metric-space-Metric-Extension P M)) - ( map-cauchy-pseudocompletion-Metric-Extension P M v) - ( const-cauchy-approximation-Metric-Space - ( metric-space-Metric-Extension P M) - ( y)) - ( sim-const-is-limit-cauchy-approximation-Metric-Space - ( metric-space-Metric-Extension P M) - ( map-cauchy-pseudocompletion-Metric-Extension P M v) - ( y) - ( lim-v))) - ( sim-const-is-limit-cauchy-approximation-Metric-Space - ( metric-space-Metric-Extension P M) - ( map-cauchy-pseudocompletion-Metric-Extension P M u) - ( y) - ( lim-u))) + ( 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/similarity-of-elements-pseudometric-spaces.lagda.md b/src/metric-spaces/similarity-of-elements-pseudometric-spaces.lagda.md index 168c7d67105..205dd76d739 100644 --- a/src/metric-spaces/similarity-of-elements-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/similarity-of-elements-pseudometric-spaces.lagda.md @@ -327,7 +327,7 @@ module _ is-short-map-short-function-Pseudometric-Space A B f d x y (x~y d) ``` -### Isometries between pseudometric spaces reflect similarity +### Isometries between pseudometric spaces preserve and reflect similarity ```agda module _ @@ -337,6 +337,18 @@ module _ ( 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 From 7a21f12076c561bbac36b3e4cd8fb68d8c6857ec Mon Sep 17 00:00:00 2001 From: malarbol Date: Sat, 22 Nov 2025 21:28:03 +0100 Subject: [PATCH 05/41] isometries between metric extensions --- src/metric-spaces.lagda.md | 1 + ...extensions-of-pseudometric-spaces.lagda.md | 274 ++++++++++++++++++ ...extensions-of-pseudometric-spaces.lagda.md | 8 + 3 files changed, 283 insertions(+) create mode 100644 src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md diff --git a/src/metric-spaces.lagda.md b/src/metric-spaces.lagda.md index bb1b20c3bec..ee5c43ff9ae 100644 --- a/src/metric-spaces.lagda.md +++ b/src/metric-spaces.lagda.md @@ -97,6 +97,7 @@ open import metric-spaces.images-uniformly-continuous-functions-metric-spaces pu open import metric-spaces.indexed-sums-metric-spaces public open import metric-spaces.inhabited-totally-bounded-subspaces-metric-spaces public open import metric-spaces.interior-subsets-metric-spaces public +open import metric-spaces.isometries-between-metric-extensions-of-pseudometric-spaces public open import metric-spaces.isometries-metric-spaces public open import metric-spaces.isometries-pseudometric-spaces public open import metric-spaces.limits-of-cauchy-approximations-metric-spaces public diff --git a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md new file mode 100644 index 00000000000..6bb5f93e15e --- /dev/null +++ b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md @@ -0,0 +1,274 @@ +# Isometries between metric extensions of a pseudometric space + +```agda +module metric-spaces.isometries-between-metric-extensions-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.binary-transport +open import foundation.dependent-pair-types +open import foundation.equivalences +open import foundation.existential-quantification +open import foundation.function-types +open import foundation.homotopies +open import foundation.identity-types +open import foundation.logical-equivalences +open import foundation.propositional-truncations +open import foundation.propositions +open import foundation.set-quotients +open import foundation.sets +open import foundation.subtypes +open import foundation.transport-along-identifications +open import foundation.universe-levels + +open import metric-spaces.cauchy-approximations-metric-quotients-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-metric-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.equality-of-metric-spaces +open import metric-spaces.functions-metric-spaces +open import metric-spaces.functions-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.limits-of-cauchy-approximations-pseudometric-spaces +open import metric-spaces.metric-extensions-of-pseudometric-spaces +open import metric-spaces.metric-quotients-of-pseudometric-spaces +open import metric-spaces.metric-spaces +open import metric-spaces.precategory-of-metric-spaces-and-short-functions +open import metric-spaces.pseudometric-spaces +open import metric-spaces.rational-neighborhood-relations +open import metric-spaces.short-functions-metric-spaces +open import metric-spaces.short-functions-pseudometric-spaces +open import metric-spaces.similarity-of-elements-pseudometric-spaces +``` + +
+ +## Idea + +Given a [pseudometric space](metric-spaces.pseudometric-spaces.md) `P`, an +{{#concept "isometry" Disambiguation="between metric extensions of a pseudometric space Agda=hom-isometry-Metric-Extension}} +between two +[metric extensions](metric-spaces.metric-extensions-of-pseudometric-spaces.md) +`i : P → M` and `j : P → N` of `P` is an +[isometry](metric-spaces.isometry-metric-spaces.md) `f : M → N` such that + +```text +f ∘ i ~ j. +``` + +## Definitions + +### The property of being an homomorphic isometry between metric extensions + +```agda +module _ + { l1 l2 l3 l4 l5 l6 : Level} + ( P : Pseudometric-Space l1 l2) + ( M : Metric-Extension l3 l4 P) + ( N : Metric-Extension l5 l6 P) + ( f : isometry-Metric-Space + ( metric-space-Metric-Extension P M) + ( metric-space-Metric-Extension P N)) + where + + is-hom-prop-isometry-metric-space-Metric-Extension : Prop (l1 ⊔ l5) + is-hom-prop-isometry-metric-space-Metric-Extension = + Π-Prop + ( type-Pseudometric-Space P) + ( λ x → + Id-Prop + ( set-Metric-Space + ( metric-space-Metric-Extension P N)) + ( map-isometry-Pseudometric-Space + ( P) + ( pseudometric-space-Metric-Extension P N) + ( comp-isometry-Pseudometric-Space + ( P) + ( pseudometric-space-Metric-Extension P M) + ( pseudometric-space-Metric-Extension P N) + ( f) + ( isometry-Metric-Extension P M)) + ( x)) + ( map-isometry-Metric-Extension P N x)) + + is-hom-isometry-metric-space-Metric-Extension : UU (l1 ⊔ l5) + is-hom-isometry-metric-space-Metric-Extension = + type-Prop is-hom-prop-isometry-metric-space-Metric-Extension + + is-prop-is-hom-isometry-metric-space-Metric-Extension : + is-prop is-hom-isometry-metric-space-Metric-Extension + is-prop-is-hom-isometry-metric-space-Metric-Extension = + is-prop-type-Prop is-hom-prop-isometry-metric-space-Metric-Extension +``` + +### The type of isometries between metric extensions of a pseudometric space + +```agda +module _ + { l1 l2 l3 l4 l5 l6 : Level} + ( P : Pseudometric-Space l1 l2) + ( M : Metric-Extension l3 l4 P) + ( N : Metric-Extension l5 l6 P) + where + + hom-isometry-Metric-Extension : UU (l1 ⊔ l3 ⊔ l4 ⊔ l5 ⊔ l6) + hom-isometry-Metric-Extension = + type-subtype + ( is-hom-prop-isometry-metric-space-Metric-Extension P M N) + +module _ + { l1 l2 l3 l4 l5 l6 : Level} + ( P : Pseudometric-Space l1 l2) + ( M : Metric-Extension l3 l4 P) + ( N : Metric-Extension l5 l6 P) + ( f : hom-isometry-Metric-Extension P M N) + where + + isometry-metric-space-hom-isometry-Metric-Extension : + isometry-Metric-Space + ( metric-space-Metric-Extension P M) + ( metric-space-Metric-Extension P N) + isometry-metric-space-hom-isometry-Metric-Extension = pr1 f + + map-metric-space-hom-isometry-Metric-Extension : + type-metric-space-Metric-Extension P M → + type-metric-space-Metric-Extension P N + map-metric-space-hom-isometry-Metric-Extension = + map-isometry-Metric-Space + ( metric-space-Metric-Extension P M) + ( metric-space-Metric-Extension P N) + ( isometry-metric-space-hom-isometry-Metric-Extension) + + is-isometry-map-metric-space-hom-isometry-Metric-Extension : + is-isometry-Metric-Space + ( metric-space-Metric-Extension P M) + ( metric-space-Metric-Extension P N) + ( map-metric-space-hom-isometry-Metric-Extension) + is-isometry-map-metric-space-hom-isometry-Metric-Extension = + is-isometry-map-isometry-Metric-Space + ( metric-space-Metric-Extension P M) + ( metric-space-Metric-Extension P N) + ( isometry-metric-space-hom-isometry-Metric-Extension) + + is-hom-isometry-metric-space-hom-isometry-Metric-Extension : + ( ( map-metric-space-hom-isometry-Metric-Extension) ∘ + ( map-isometry-Metric-Extension P M)) ~ + ( map-isometry-Metric-Extension P N) + is-hom-isometry-metric-space-hom-isometry-Metric-Extension = pr2 f +``` + +## Properties + +### The identity isometry of a metric extension + +```agda +module _ + {l1 l2 l3 l4 : Level} + (P : Pseudometric-Space l1 l2) + (M : Metric-Extension l3 l4 P) + where + + isometry-id-metric-space-Metric-Extension : + isometry-Metric-Space + ( metric-space-Metric-Extension P M) + ( metric-space-Metric-Extension P M) + isometry-id-metric-space-Metric-Extension = + isometry-id-Metric-Space (metric-space-Metric-Extension P M) + + is-hom-isometry-id-metric-space-Metric-Extension : + is-hom-isometry-metric-space-Metric-Extension P M M + ( isometry-id-metric-space-Metric-Extension) + is-hom-isometry-id-metric-space-Metric-Extension x = + refl + + id-hom-isometry-Metric-Extension : hom-isometry-Metric-Extension P M M + id-hom-isometry-Metric-Extension = + ( isometry-id-metric-space-Metric-Extension , + is-hom-isometry-id-metric-space-Metric-Extension) +``` + +### Composition of isometries between metric extensions + +```agda +module _ + {l l' lu lu' lv lv' lw lw' : Level} + (P : Pseudometric-Space l l') + (U : Metric-Extension lu lu' P) + (V : Metric-Extension lv lv' P) + (W : Metric-Extension lw lw' P) + (g : hom-isometry-Metric-Extension P V W) + (f : hom-isometry-Metric-Extension P U V) + where + + abstract + is-hom-comp-hom-isometry-Metric-Extension : + is-hom-isometry-metric-space-Metric-Extension P U W + ( comp-isometry-Metric-Space + ( metric-space-Metric-Extension P U) + ( metric-space-Metric-Extension P V) + ( metric-space-Metric-Extension P W) + ( isometry-metric-space-hom-isometry-Metric-Extension P V W g) + ( isometry-metric-space-hom-isometry-Metric-Extension P U V f)) + is-hom-comp-hom-isometry-Metric-Extension x = + ( ap + ( map-metric-space-hom-isometry-Metric-Extension P V W g) + ( is-hom-isometry-metric-space-hom-isometry-Metric-Extension + ( P) + ( U) + ( V) + ( f) + ( x))) ∙ + ( is-hom-isometry-metric-space-hom-isometry-Metric-Extension P V W g x) + + comp-hom-isometry-Metric-Extension : hom-isometry-Metric-Extension P U W + pr1 comp-hom-isometry-Metric-Extension = + comp-isometry-Metric-Space + ( metric-space-Metric-Extension P U) + ( metric-space-Metric-Extension P V) + ( metric-space-Metric-Extension P W) + ( isometry-metric-space-hom-isometry-Metric-Extension P V W g) + ( isometry-metric-space-hom-isometry-Metric-Extension P U V f) + pr2 comp-hom-isometry-Metric-Extension = + is-hom-comp-hom-isometry-Metric-Extension +``` + +### Homotopic isometries between metric extensions are equal + +```agda +module _ + { l1 l2 l3 l4 l5 l6 : Level} + ( P : Pseudometric-Space l1 l2) + ( M : Metric-Extension l3 l4 P) + ( N : Metric-Extension l5 l6 P) + ( f g : hom-isometry-Metric-Extension P M N) + ( f~g : + map-metric-space-hom-isometry-Metric-Extension P M N f ~ + map-metric-space-hom-isometry-Metric-Extension P M N g) + where + + eq-htpy-map-metric-space-hom-isometry-Metric-Extension : f = g + eq-htpy-map-metric-space-hom-isometry-Metric-Extension = + eq-type-subtype + ( is-hom-prop-isometry-metric-space-Metric-Extension P M N) + ( eq-htpy-map-isometry-Metric-Space + ( metric-space-Metric-Extension P M) + ( metric-space-Metric-Extension P N) + ( isometry-metric-space-hom-isometry-Metric-Extension P M N f) + ( isometry-metric-space-hom-isometry-Metric-Extension P M N g) + ( f~g)) +``` diff --git a/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md index d826e58e519..ed49a0ca2ee 100644 --- a/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md @@ -99,6 +99,14 @@ module _ isometry-Metric-Extension : isometry-Pseudometric-Space P pseudometric-space-Metric-Extension isometry-Metric-Extension = pr2 M + + map-isometry-Metric-Extension : + type-Pseudometric-Space P → type-metric-space-Metric-Extension + map-isometry-Metric-Extension = + map-isometry-Pseudometric-Space + ( P) + ( pseudometric-space-Metric-Extension) + ( isometry-Metric-Extension) ``` ## Properties From 4afd6bdf7152e15544bc35d9a36a45ff5c9b7fa0 Mon Sep 17 00:00:00 2001 From: malarbol Date: Sat, 22 Nov 2025 21:34:12 +0100 Subject: [PATCH 06/41] fix link --- ...es-between-metric-extensions-of-pseudometric-spaces.lagda.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md index 6bb5f93e15e..01fd43e8c8e 100644 --- a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md @@ -65,7 +65,7 @@ Given a [pseudometric space](metric-spaces.pseudometric-spaces.md) `P`, an between two [metric extensions](metric-spaces.metric-extensions-of-pseudometric-spaces.md) `i : P → M` and `j : P → N` of `P` is an -[isometry](metric-spaces.isometry-metric-spaces.md) `f : M → N` such that +[isometry](metric-spaces.isometries-metric-spaces.md) `f : M → N` such that ```text f ∘ i ~ j. From 9fe2c5f02c2e9bcd84723f0b6ae83d6cf5548855 Mon Sep 17 00:00:00 2001 From: malarbol Date: Sat, 22 Nov 2025 21:43:09 +0100 Subject: [PATCH 07/41] rephrase header --- ...between-metric-extensions-of-pseudometric-spaces.lagda.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md index 01fd43e8c8e..33bdd7b1924 100644 --- a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md @@ -60,11 +60,12 @@ open import metric-spaces.similarity-of-elements-pseudometric-spaces ## Idea -Given a [pseudometric space](metric-spaces.pseudometric-spaces.md) `P`, an +An {{#concept "isometry" Disambiguation="between metric extensions of a pseudometric space Agda=hom-isometry-Metric-Extension}} between two [metric extensions](metric-spaces.metric-extensions-of-pseudometric-spaces.md) -`i : P → M` and `j : P → N` of `P` is an +`(M , i : P → M)` and `(N , j : P → N)` of a +[pseudometric space](metric-spaces.pseudometric-spaces.md) `P` is an [isometry](metric-spaces.isometries-metric-spaces.md) `f : M → N` such that ```text From 83610c8a9a48178f8dca3bcc16222bb0d595bf79 Mon Sep 17 00:00:00 2001 From: malarbol Date: Sun, 23 Nov 2025 15:44:40 +0100 Subject: [PATCH 08/41] Update src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md Co-authored-by: Fredrik Bakke --- ...es-between-metric-extensions-of-pseudometric-spaces.lagda.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md index 33bdd7b1924..903f82f5196 100644 --- a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md @@ -61,7 +61,7 @@ open import metric-spaces.similarity-of-elements-pseudometric-spaces ## Idea An -{{#concept "isometry" Disambiguation="between metric extensions of a pseudometric space Agda=hom-isometry-Metric-Extension}} +{{#concept "isometry" Disambiguation="between metric extensions of a pseudometric space" Agda=hom-isometry-Metric-Extension}} between two [metric extensions](metric-spaces.metric-extensions-of-pseudometric-spaces.md) `(M , i : P → M)` and `(N , j : P → N)` of a From 57e8c8072a4c404859fd6a58062e66cb34527b4b Mon Sep 17 00:00:00 2001 From: malarbol Date: Sun, 23 Nov 2025 15:45:04 +0100 Subject: [PATCH 09/41] Update src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md Co-authored-by: Fredrik Bakke --- ...s-between-metric-extensions-of-pseudometric-spaces.lagda.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md index 903f82f5196..07e640ac767 100644 --- a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md @@ -64,8 +64,7 @@ An {{#concept "isometry" Disambiguation="between metric extensions of a pseudometric space" Agda=hom-isometry-Metric-Extension}} between two [metric extensions](metric-spaces.metric-extensions-of-pseudometric-spaces.md) -`(M , i : P → M)` and `(N , j : P → N)` of a -[pseudometric space](metric-spaces.pseudometric-spaces.md) `P` is an +of a [pseudometric space](metric-spaces.pseudometric-spaces.md) `P`, `i : P → M` and `j : P → N`, is an [isometry](metric-spaces.isometries-metric-spaces.md) `f : M → N` such that ```text From f955463ded1a4d9038d5d5157224c3c85b722aff Mon Sep 17 00:00:00 2001 From: malarbol Date: Sun, 23 Nov 2025 15:45:34 +0100 Subject: [PATCH 10/41] Update src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md Co-authored-by: Fredrik Bakke --- ...tween-metric-extensions-of-pseudometric-spaces.lagda.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md index 07e640ac767..b59d21142f0 100644 --- a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md @@ -81,9 +81,10 @@ module _ ( P : Pseudometric-Space l1 l2) ( M : Metric-Extension l3 l4 P) ( N : Metric-Extension l5 l6 P) - ( f : isometry-Metric-Space - ( metric-space-Metric-Extension P M) - ( metric-space-Metric-Extension P N)) + ( f : + isometry-Metric-Space + ( metric-space-Metric-Extension P M) + ( metric-space-Metric-Extension P N)) where is-hom-prop-isometry-metric-space-Metric-Extension : Prop (l1 ⊔ l5) From 898e0b053786b2d42f469cfdac973c49fbf552a6 Mon Sep 17 00:00:00 2001 From: malarbol Date: Sun, 23 Nov 2025 15:46:54 +0100 Subject: [PATCH 11/41] Update src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md Co-authored-by: Fredrik Bakke --- ...es-between-metric-extensions-of-pseudometric-spaces.lagda.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md index b59d21142f0..f0de5f38221 100644 --- a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md @@ -68,7 +68,7 @@ of a [pseudometric space](metric-spaces.pseudometric-spaces.md) `P`, `i : P → [isometry](metric-spaces.isometries-metric-spaces.md) `f : M → N` such that ```text -f ∘ i ~ j. + f ∘ i ~ j. ``` ## Definitions From 7e0a1f34555220206752a908aba053660a2f1df9 Mon Sep 17 00:00:00 2001 From: malarbol Date: Sun, 23 Nov 2025 15:44:17 +0100 Subject: [PATCH 12/41] fix names --- ...-pseudocompletion-of-metric-spaces.lagda.md | 6 +++--- ...ocompletion-of-pseudometric-spaces.lagda.md | 18 +++++++++--------- ...c-quotients-of-pseudometric-spaces.lagda.md | 5 +---- 3 files changed, 13 insertions(+), 16 deletions(-) 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 62e4bac8a72..7be8a045c4c 100644 --- a/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md @@ -442,7 +442,7 @@ module _ where abstract - reflects-neighborhood-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : + reflects-neighborhoods-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : (δ : ℚ⁺) → (u v : cauchy-approximation-Metric-Space M) → neighborhood-Metric-Space @@ -461,7 +461,7 @@ module _ ( δ) ( u) ( v) - reflects-neighborhood-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + reflects-neighborhoods-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space δ x y Nδ = reflects-neighborhood-sim-Pseudometric-Space ( cauchy-pseudocompletion-Metric-Space M) @@ -517,7 +517,7 @@ module _ ( d) ( x) ( y)) , - ( reflects-neighborhood-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + ( reflects-neighborhoods-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space ( d) ( x) ( y))) 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 05628e7f6cd..cf682cb3e8c 100644 --- a/src/metric-spaces/cauchy-pseudocompletion-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-pseudocompletion-of-pseudometric-spaces.lagda.md @@ -730,7 +730,7 @@ module _ where abstract - reflects-neighborhood-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : + reflects-neighborhoods-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space : ( d : ℚ⁺) → ( u v : cauchy-approximation-Pseudometric-Space @@ -750,7 +750,7 @@ module _ ( d) ( u) ( v) - reflects-neighborhood-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + reflects-neighborhoods-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space d u v N-lim = reflects-neighborhood-sim-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space @@ -798,7 +798,7 @@ module _ ( d) ( x) ( y)) , - ( reflects-neighborhood-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space + ( reflects-neighborhoods-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space ( d) ( x) ( y))) @@ -853,7 +853,7 @@ module _ (f : isometry-Pseudometric-Space A B) where abstract - preserves-neighborhood-map-cauchy-approximation-isometry-Pseudometric-Space : + preserves-neighborhoods-map-cauchy-approximation-isometry-Pseudometric-Space : (d : ℚ⁺) → (x y : cauchy-approximation-Pseudometric-Space A) → neighborhood-Pseudometric-Space @@ -866,13 +866,13 @@ module _ ( d) ( map-cauchy-approximation-isometry-Pseudometric-Space A B f x) ( map-cauchy-approximation-isometry-Pseudometric-Space A B f y) - preserves-neighborhood-map-cauchy-approximation-isometry-Pseudometric-Space = + preserves-neighborhoods-map-cauchy-approximation-isometry-Pseudometric-Space = is-short-map-cauchy-approximation-short-function-Pseudometric-Space ( A) ( B) ( short-isometry-Pseudometric-Space A B f) - reflects-neighborhood-map-cauchy-approximation-isometry-Pseudometric-Space : + reflects-neighborhoods-map-cauchy-approximation-isometry-Pseudometric-Space : (d : ℚ⁺) → (x y : cauchy-approximation-Pseudometric-Space A) → neighborhood-Pseudometric-Space @@ -885,7 +885,7 @@ module _ ( d) ( x) ( y) - reflects-neighborhood-map-cauchy-approximation-isometry-Pseudometric-Space + reflects-neighborhoods-map-cauchy-approximation-isometry-Pseudometric-Space d x y Nxy α β = reflects-neighborhood-map-isometry-Pseudometric-Space ( A) @@ -902,11 +902,11 @@ module _ ( 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-neighborhood-map-cauchy-approximation-isometry-Pseudometric-Space + ( ( preserves-neighborhoods-map-cauchy-approximation-isometry-Pseudometric-Space ( d) ( x) ( y)) , - ( reflects-neighborhood-map-cauchy-approximation-isometry-Pseudometric-Space + ( reflects-neighborhoods-map-cauchy-approximation-isometry-Pseudometric-Space ( d) ( x) ( y))) 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 3f48274856b..fb63b3dccab 100644 --- a/src/metric-spaces/metric-quotients-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/metric-quotients-of-pseudometric-spaces.lagda.md @@ -390,10 +390,7 @@ module _ 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) → + 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 From 621ab658077b297a54dfd254c2e689971c5803c5 Mon Sep 17 00:00:00 2001 From: malarbol Date: Sun, 23 Nov 2025 16:33:03 +0100 Subject: [PATCH 13/41] fix names `isometry-Metric-Extension` --- ...extensions-of-pseudometric-spaces.lagda.md | 164 ++++++++++-------- ...extensions-of-pseudometric-spaces.lagda.md | 12 +- 2 files changed, 93 insertions(+), 83 deletions(-) diff --git a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md index f0de5f38221..55f4236e4c3 100644 --- a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md @@ -61,11 +61,12 @@ open import metric-spaces.similarity-of-elements-pseudometric-spaces ## Idea An -{{#concept "isometry" Disambiguation="between metric extensions of a pseudometric space" Agda=hom-isometry-Metric-Extension}} +{{#concept "isometry" Disambiguation="between metric extensions of a pseudometric space" Agda=isometry-Metric-Extension}} between two [metric extensions](metric-spaces.metric-extensions-of-pseudometric-spaces.md) -of a [pseudometric space](metric-spaces.pseudometric-spaces.md) `P`, `i : P → M` and `j : P → N`, is an -[isometry](metric-spaces.isometries-metric-spaces.md) `f : M → N` such that +of a [pseudometric space](metric-spaces.pseudometric-spaces.md) `P`, `i : P → M` +and `j : P → N`, is an [isometry](metric-spaces.isometries-metric-spaces.md) +`f : M → N` such that ```text f ∘ i ~ j. @@ -73,7 +74,7 @@ of a [pseudometric space](metric-spaces.pseudometric-spaces.md) `P`, `i : P → ## Definitions -### The property of being an homomorphic isometry between metric extensions +### The property of being an isometry between metric extensions ```agda module _ @@ -87,8 +88,9 @@ module _ ( metric-space-Metric-Extension P N)) where - is-hom-prop-isometry-metric-space-Metric-Extension : Prop (l1 ⊔ l5) - is-hom-prop-isometry-metric-space-Metric-Extension = + coherence-triangle-prop-isometry-metric-space-Metric-Extension : + Prop (l1 ⊔ l5) + coherence-triangle-prop-isometry-metric-space-Metric-Extension = Π-Prop ( type-Pseudometric-Space P) ( λ x → @@ -103,18 +105,20 @@ module _ ( pseudometric-space-Metric-Extension P M) ( pseudometric-space-Metric-Extension P N) ( f) - ( isometry-Metric-Extension P M)) + ( isometry-metric-space-Metric-Extension P M)) ( x)) - ( map-isometry-Metric-Extension P N x)) - - is-hom-isometry-metric-space-Metric-Extension : UU (l1 ⊔ l5) - is-hom-isometry-metric-space-Metric-Extension = - type-Prop is-hom-prop-isometry-metric-space-Metric-Extension - - is-prop-is-hom-isometry-metric-space-Metric-Extension : - is-prop is-hom-isometry-metric-space-Metric-Extension - is-prop-is-hom-isometry-metric-space-Metric-Extension = - is-prop-type-Prop is-hom-prop-isometry-metric-space-Metric-Extension + ( map-isometry-metric-space-Metric-Extension P N x)) + + coherence-triangle-isometry-metric-space-Metric-Extension : UU (l1 ⊔ l5) + coherence-triangle-isometry-metric-space-Metric-Extension = + type-Prop + coherence-triangle-prop-isometry-metric-space-Metric-Extension + + is-prop-coherence-triangle-isometry-metric-space-Metric-Extension : + is-prop coherence-triangle-isometry-metric-space-Metric-Extension + is-prop-coherence-triangle-isometry-metric-space-Metric-Extension = + is-prop-type-Prop + coherence-triangle-prop-isometry-metric-space-Metric-Extension ``` ### The type of isometries between metric extensions of a pseudometric space @@ -127,50 +131,52 @@ module _ ( N : Metric-Extension l5 l6 P) where - hom-isometry-Metric-Extension : UU (l1 ⊔ l3 ⊔ l4 ⊔ l5 ⊔ l6) - hom-isometry-Metric-Extension = + isometry-Metric-Extension : UU (l1 ⊔ l3 ⊔ l4 ⊔ l5 ⊔ l6) + isometry-Metric-Extension = type-subtype - ( is-hom-prop-isometry-metric-space-Metric-Extension P M N) + ( coherence-triangle-prop-isometry-metric-space-Metric-Extension P M N) module _ { l1 l2 l3 l4 l5 l6 : Level} ( P : Pseudometric-Space l1 l2) ( M : Metric-Extension l3 l4 P) ( N : Metric-Extension l5 l6 P) - ( f : hom-isometry-Metric-Extension P M N) + ( f : isometry-Metric-Extension P M N) where - isometry-metric-space-hom-isometry-Metric-Extension : + isometry-metric-space-isometry-Metric-Extension : isometry-Metric-Space ( metric-space-Metric-Extension P M) ( metric-space-Metric-Extension P N) - isometry-metric-space-hom-isometry-Metric-Extension = pr1 f + isometry-metric-space-isometry-Metric-Extension = pr1 f - map-metric-space-hom-isometry-Metric-Extension : + map-metric-space-isometry-Metric-Extension : type-metric-space-Metric-Extension P M → type-metric-space-Metric-Extension P N - map-metric-space-hom-isometry-Metric-Extension = + map-metric-space-isometry-Metric-Extension = map-isometry-Metric-Space ( metric-space-Metric-Extension P M) ( metric-space-Metric-Extension P N) - ( isometry-metric-space-hom-isometry-Metric-Extension) + ( isometry-metric-space-isometry-Metric-Extension) - is-isometry-map-metric-space-hom-isometry-Metric-Extension : + is-isometry-map-metric-space-isometry-Metric-Extension : is-isometry-Metric-Space ( metric-space-Metric-Extension P M) ( metric-space-Metric-Extension P N) - ( map-metric-space-hom-isometry-Metric-Extension) - is-isometry-map-metric-space-hom-isometry-Metric-Extension = + ( map-metric-space-isometry-Metric-Extension) + is-isometry-map-metric-space-isometry-Metric-Extension = is-isometry-map-isometry-Metric-Space ( metric-space-Metric-Extension P M) ( metric-space-Metric-Extension P N) - ( isometry-metric-space-hom-isometry-Metric-Extension) - - is-hom-isometry-metric-space-hom-isometry-Metric-Extension : - ( ( map-metric-space-hom-isometry-Metric-Extension) ∘ - ( map-isometry-Metric-Extension P M)) ~ - ( map-isometry-Metric-Extension P N) - is-hom-isometry-metric-space-hom-isometry-Metric-Extension = pr2 f + ( isometry-metric-space-isometry-Metric-Extension) + + coh-triangle-isometry-metric-space-isometry-Metric-Extension : + coherence-triangle-isometry-metric-space-Metric-Extension + ( P) + ( M) + ( N) + ( isometry-metric-space-isometry-Metric-Extension) + coh-triangle-isometry-metric-space-isometry-Metric-Extension = pr2 f ``` ## Properties @@ -184,23 +190,11 @@ module _ (M : Metric-Extension l3 l4 P) where - isometry-id-metric-space-Metric-Extension : - isometry-Metric-Space + id-isometry-Metric-Extension : isometry-Metric-Extension P M M + pr1 id-isometry-Metric-Extension = + isometry-id-Metric-Space ( metric-space-Metric-Extension P M) - ( metric-space-Metric-Extension P M) - isometry-id-metric-space-Metric-Extension = - isometry-id-Metric-Space (metric-space-Metric-Extension P M) - - is-hom-isometry-id-metric-space-Metric-Extension : - is-hom-isometry-metric-space-Metric-Extension P M M - ( isometry-id-metric-space-Metric-Extension) - is-hom-isometry-id-metric-space-Metric-Extension x = - refl - - id-hom-isometry-Metric-Extension : hom-isometry-Metric-Extension P M M - id-hom-isometry-Metric-Extension = - ( isometry-id-metric-space-Metric-Extension , - is-hom-isometry-id-metric-space-Metric-Extension) + pr2 id-isometry-Metric-Extension = refl-htpy ``` ### Composition of isometries between metric extensions @@ -212,40 +206,39 @@ module _ (U : Metric-Extension lu lu' P) (V : Metric-Extension lv lv' P) (W : Metric-Extension lw lw' P) - (g : hom-isometry-Metric-Extension P V W) - (f : hom-isometry-Metric-Extension P U V) + (g : isometry-Metric-Extension P V W) + (f : isometry-Metric-Extension P U V) where abstract - is-hom-comp-hom-isometry-Metric-Extension : - is-hom-isometry-metric-space-Metric-Extension P U W + coh-comp-isometry-Metric-Extension : + coherence-triangle-isometry-metric-space-Metric-Extension P U W ( comp-isometry-Metric-Space ( metric-space-Metric-Extension P U) ( metric-space-Metric-Extension P V) ( metric-space-Metric-Extension P W) - ( isometry-metric-space-hom-isometry-Metric-Extension P V W g) - ( isometry-metric-space-hom-isometry-Metric-Extension P U V f)) - is-hom-comp-hom-isometry-Metric-Extension x = + ( isometry-metric-space-isometry-Metric-Extension P V W g) + ( isometry-metric-space-isometry-Metric-Extension P U V f)) + coh-comp-isometry-Metric-Extension x = ( ap - ( map-metric-space-hom-isometry-Metric-Extension P V W g) - ( is-hom-isometry-metric-space-hom-isometry-Metric-Extension + ( map-metric-space-isometry-Metric-Extension P V W g) + ( coh-triangle-isometry-metric-space-isometry-Metric-Extension ( P) ( U) ( V) ( f) ( x))) ∙ - ( is-hom-isometry-metric-space-hom-isometry-Metric-Extension P V W g x) + ( coh-triangle-isometry-metric-space-isometry-Metric-Extension P V W g x) - comp-hom-isometry-Metric-Extension : hom-isometry-Metric-Extension P U W - pr1 comp-hom-isometry-Metric-Extension = + comp-isometry-Metric-Extension : isometry-Metric-Extension P U W + pr1 comp-isometry-Metric-Extension = comp-isometry-Metric-Space ( metric-space-Metric-Extension P U) ( metric-space-Metric-Extension P V) ( metric-space-Metric-Extension P W) - ( isometry-metric-space-hom-isometry-Metric-Extension P V W g) - ( isometry-metric-space-hom-isometry-Metric-Extension P U V f) - pr2 comp-hom-isometry-Metric-Extension = - is-hom-comp-hom-isometry-Metric-Extension + ( isometry-metric-space-isometry-Metric-Extension P V W g) + ( isometry-metric-space-isometry-Metric-Extension P U V f) + pr2 comp-isometry-Metric-Extension = coh-comp-isometry-Metric-Extension ``` ### Homotopic isometries between metric extensions are equal @@ -256,20 +249,37 @@ module _ ( P : Pseudometric-Space l1 l2) ( M : Metric-Extension l3 l4 P) ( N : Metric-Extension l5 l6 P) - ( f g : hom-isometry-Metric-Extension P M N) - ( f~g : - map-metric-space-hom-isometry-Metric-Extension P M N f ~ - map-metric-space-hom-isometry-Metric-Extension P M N g) + ( f g : isometry-Metric-Extension P M N) where - eq-htpy-map-metric-space-hom-isometry-Metric-Extension : f = g - eq-htpy-map-metric-space-hom-isometry-Metric-Extension = + htpy-isometry-Metric-Extension : UU (l3 ⊔ l5) + htpy-isometry-Metric-Extension = + ( map-metric-space-isometry-Metric-Extension P M N f ~ + map-metric-space-isometry-Metric-Extension P M N g) + + is-prop-htpy-isometry-Metric-Extension : + is-prop htpy-isometry-Metric-Extension + is-prop-htpy-isometry-Metric-Extension = + is-prop-Π + ( λ x → + is-set-type-Metric-Space + ( metric-space-Metric-Extension P N) + ( map-metric-space-isometry-Metric-Extension P M N f x) + ( map-metric-space-isometry-Metric-Extension P M N g x)) + + htpy-prop-isometry-Metric-Extension : Prop (l3 ⊔ l5) + htpy-prop-isometry-Metric-Extension = + ( htpy-isometry-Metric-Extension , is-prop-htpy-isometry-Metric-Extension) + + eq-htpy-isometry-Metric-Extension : + htpy-isometry-Metric-Extension → f = g + eq-htpy-isometry-Metric-Extension f~g = eq-type-subtype - ( is-hom-prop-isometry-metric-space-Metric-Extension P M N) + ( coherence-triangle-prop-isometry-metric-space-Metric-Extension P M N) ( eq-htpy-map-isometry-Metric-Space ( metric-space-Metric-Extension P M) ( metric-space-Metric-Extension P N) - ( isometry-metric-space-hom-isometry-Metric-Extension P M N f) - ( isometry-metric-space-hom-isometry-Metric-Extension P M N g) + ( isometry-metric-space-isometry-Metric-Extension P M N f) + ( isometry-metric-space-isometry-Metric-Extension P M N g) ( f~g)) ``` diff --git a/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md index ed49a0ca2ee..73ff78856c9 100644 --- a/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md @@ -96,17 +96,17 @@ module _ type-metric-space-Metric-Extension = type-Metric-Space metric-space-Metric-Extension - isometry-Metric-Extension : + isometry-metric-space-Metric-Extension : isometry-Pseudometric-Space P pseudometric-space-Metric-Extension - isometry-Metric-Extension = pr2 M + isometry-metric-space-Metric-Extension = pr2 M - map-isometry-Metric-Extension : + map-isometry-metric-space-Metric-Extension : type-Pseudometric-Space P → type-metric-space-Metric-Extension - map-isometry-Metric-Extension = + map-isometry-metric-space-Metric-Extension = map-isometry-Pseudometric-Space ( P) ( pseudometric-space-Metric-Extension) - ( isometry-Metric-Extension) + ( isometry-metric-space-Metric-Extension) ``` ## Properties @@ -128,7 +128,7 @@ module _ isometry-map-cauchy-approximation-isometry-Pseudometric-Space ( P) ( pseudometric-space-Metric-Extension P M) - ( isometry-Metric-Extension P M) + ( isometry-metric-space-Metric-Extension P M) map-cauchy-pseudocompletion-Metric-Extension : cauchy-approximation-Pseudometric-Space P → From aebfd7eef46347948c8b646543deabd273bcb98c Mon Sep 17 00:00:00 2001 From: malarbol Date: Sun, 23 Nov 2025 16:41:42 +0100 Subject: [PATCH 14/41] shorter name --- ...ween-metric-extensions-of-pseudometric-spaces.lagda.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md index 55f4236e4c3..f4f5c3d59d8 100644 --- a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md @@ -170,13 +170,13 @@ module _ ( metric-space-Metric-Extension P N) ( isometry-metric-space-isometry-Metric-Extension) - coh-triangle-isometry-metric-space-isometry-Metric-Extension : + coh-isometry-Metric-Extension : coherence-triangle-isometry-metric-space-Metric-Extension ( P) ( M) ( N) ( isometry-metric-space-isometry-Metric-Extension) - coh-triangle-isometry-metric-space-isometry-Metric-Extension = pr2 f + coh-isometry-Metric-Extension = pr2 f ``` ## Properties @@ -222,13 +222,13 @@ module _ coh-comp-isometry-Metric-Extension x = ( ap ( map-metric-space-isometry-Metric-Extension P V W g) - ( coh-triangle-isometry-metric-space-isometry-Metric-Extension + ( coh-isometry-Metric-Extension ( P) ( U) ( V) ( f) ( x))) ∙ - ( coh-triangle-isometry-metric-space-isometry-Metric-Extension P V W g x) + ( coh-isometry-Metric-Extension P V W g x) comp-isometry-Metric-Extension : isometry-Metric-Extension P U W pr1 comp-isometry-Metric-Extension = From 78d28663bf41b2573f1ed7c43120f125955fb415 Mon Sep 17 00:00:00 2001 From: malarbol Date: Sun, 23 Nov 2025 17:41:06 +0100 Subject: [PATCH 15/41] Update src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md Co-authored-by: Fredrik Bakke --- ...tric-extensions-of-pseudometric-spaces.lagda.md | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md index f4f5c3d59d8..3876afec82c 100644 --- a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md @@ -219,16 +219,10 @@ module _ ( metric-space-Metric-Extension P W) ( isometry-metric-space-isometry-Metric-Extension P V W g) ( isometry-metric-space-isometry-Metric-Extension P U V f)) - coh-comp-isometry-Metric-Extension x = - ( ap - ( map-metric-space-isometry-Metric-Extension P V W g) - ( coh-isometry-Metric-Extension - ( P) - ( U) - ( V) - ( f) - ( x))) ∙ - ( coh-isometry-Metric-Extension P V W g x) + coh-comp-isometry-Metric-Extension = + ( ( map-metric-space-isometry-Metric-Extension P V W g) ·l + ( coh-isometry-Metric-Extension P U V f)) ∙h + ( coh-isometry-Metric-Extension P V W g) comp-isometry-Metric-Extension : isometry-Metric-Extension P U W pr1 comp-isometry-Metric-Extension = From 3b1d036c489f31614038656bafc997613ca18f94 Mon Sep 17 00:00:00 2001 From: malarbol Date: Sun, 23 Nov 2025 18:04:11 +0100 Subject: [PATCH 16/41] import whiskering --- ...ies-between-metric-extensions-of-pseudometric-spaces.lagda.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md index 3876afec82c..7d17f8789f4 100644 --- a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md @@ -30,6 +30,7 @@ open import foundation.sets open import foundation.subtypes open import foundation.transport-along-identifications open import foundation.universe-levels +open import foundation.whiskering-homotopies-composition open import metric-spaces.cauchy-approximations-metric-quotients-of-pseudometric-spaces open import metric-spaces.cauchy-approximations-metric-spaces From dc35782b696b7ae083acc6c000b695cfb8b3512a Mon Sep 17 00:00:00 2001 From: malarbol Date: Sun, 23 Nov 2025 18:25:15 +0100 Subject: [PATCH 17/41] fix name id-isometry-XX --- ...extensions-of-pseudometric-spaces.lagda.md | 3 +-- .../isometries-metric-spaces.lagda.md | 12 +++++------ .../isometries-pseudometric-spaces.lagda.md | 20 +++++++++---------- ...y-of-metric-spaces-and-isometries.lagda.md | 2 +- 4 files changed, 18 insertions(+), 19 deletions(-) diff --git a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md index 7d17f8789f4..27aae4dbe52 100644 --- a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md @@ -193,8 +193,7 @@ module _ id-isometry-Metric-Extension : isometry-Metric-Extension P M M pr1 id-isometry-Metric-Extension = - isometry-id-Metric-Space - ( metric-space-Metric-Extension P M) + id-isometry-Metric-Space (metric-space-Metric-Extension P M) pr2 id-isometry-Metric-Extension = refl-htpy ``` diff --git a/src/metric-spaces/isometries-metric-spaces.lagda.md b/src/metric-spaces/isometries-metric-spaces.lagda.md index 3fee4dcad8f..463b3396a2b 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 ``` @@ -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 35d81a521c0..665040a49f9 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) ``` @@ -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/precategory-of-metric-spaces-and-isometries.lagda.md b/src/metric-spaces/precategory-of-metric-spaces-and-isometries.lagda.md index ba315c5ba83..04989c2beae 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) From d0bc999d0440d0407a007ffd500f47ebf17deec9 Mon Sep 17 00:00:00 2001 From: malarbol Date: Sun, 23 Nov 2025 18:31:38 +0100 Subject: [PATCH 18/41] fix name id-short-function-XX --- .../cauchy-approximations-metric-spaces.lagda.md | 2 +- ...-of-metric-spaces-and-short-functions.lagda.md | 6 +++--- .../short-functions-metric-spaces.lagda.md | 10 +++++----- .../short-functions-pseudometric-spaces.lagda.md | 15 ++++++++------- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md b/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md index a6651165e3e..e48cfc33262 100644 --- a/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md @@ -133,7 +133,7 @@ module _ map-short-function-cauchy-approximation-Metric-Space ( A) ( A) - ( short-id-Metric-Space A) = + ( id-short-function-Metric-Space A) = id eq-id-map-short-function-cauchy-approximation-Metric-Space = refl 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 6d3251395db..c494f32b3d5 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/short-functions-metric-spaces.lagda.md b/src/metric-spaces/short-functions-metric-spaces.lagda.md index 64e55931bc5..e0cb7d72f27 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 2075b6e1006..ca153a94086 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) ``` From ba5385e7c9282be9b0447ce8677b42fa0053377a Mon Sep 17 00:00:00 2001 From: malarbol Date: Tue, 25 Nov 2025 18:20:14 +0100 Subject: [PATCH 19/41] forgetful metric extensions of metric spaces --- ...extensions-of-pseudometric-spaces.lagda.md | 20 +++++++++++++++++++ ...extensions-of-pseudometric-spaces.lagda.md | 14 +++++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md index 27aae4dbe52..411d45fc060 100644 --- a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md @@ -1,6 +1,8 @@ # Isometries between metric extensions of a pseudometric space ```agda +{-# OPTIONS --lossy-unification #-} + module metric-spaces.isometries-between-metric-extensions-of-pseudometric-spaces where ``` @@ -182,6 +184,24 @@ module _ ## Properties +### Isometries of metric spaces are isometries of metric extensions + +```agda +module _ + {l1 l2 l3 l4 : Level} + (M : Metric-Space l1 l2) + (N : Metric-Space l3 l4) + (f : isometry-Metric-Space M N) + where + + forgetful-isometry-Metric-Extension : + isometry-Metric-Extension + ( pseudometric-Metric-Space M) + ( forgetful-Metric-Extension M) + ( N , f) + forgetful-isometry-Metric-Extension = (f , refl-htpy) +``` + ### The identity isometry of a metric extension ```agda diff --git a/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md index 73ff78856c9..f8cd5045c8a 100644 --- a/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md @@ -1,6 +1,8 @@ # Metric extensions of pseudometric spaces ```agda +{-# OPTIONS --lossy-unification #-} + module metric-spaces.metric-extensions-of-pseudometric-spaces where ``` @@ -111,6 +113,18 @@ module _ ## Properties +### 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 From fd43093c9145c2eb3a80eb10b856b07f97d5a5d8 Mon Sep 17 00:00:00 2001 From: malarbol Date: Tue, 25 Nov 2025 18:39:12 +0100 Subject: [PATCH 20/41] plural (preserves|reflects)-neighborhoods-XXX --- ...e-decompositions-of-metric-spaces.lagda.md | 12 ++++---- ...-quotients-of-pseudometric-spaces.lagda.md | 2 +- ...pseudocompletion-of-metric-spaces.lagda.md | 6 ++-- ...completion-of-pseudometric-spaces.lagda.md | 22 +++++++------- .../indexed-sums-metric-spaces.lagda.md | 7 +++-- .../isometries-metric-spaces.lagda.md | 8 ++--- .../isometries-pseudometric-spaces.lagda.md | 8 ++--- ...-quotients-of-pseudometric-spaces.lagda.md | 30 +++++++++---------- ...ort-functions-pseudometric-spaces.lagda.md | 2 +- ...y-of-elements-pseudometric-spaces.lagda.md | 30 +++++++++---------- 10 files changed, 64 insertions(+), 63 deletions(-) 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 ea2bf3aa077..57bdd01bc5a 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 @@ -213,7 +213,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 +224,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 +237,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 +248,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 +280,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-metric-quotients-of-pseudometric-spaces.lagda.md b/src/metric-spaces/cauchy-approximations-metric-quotients-of-pseudometric-spaces.lagda.md index 4c46e7a886c..b5ce744455e 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 @@ -233,7 +233,7 @@ module _ ( x) ( x∈uε) in - preserves-neighborhood-sim-Pseudometric-Space + preserves-neighborhoods-sim-Pseudometric-Space ( M) ( uε~x) ( lim~y) 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 7be8a045c4c..802663a17b7 100644 --- a/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md @@ -349,7 +349,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 @@ -463,7 +463,7 @@ module _ ( v) reflects-neighborhoods-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space δ x y Nδ = - reflects-neighborhood-sim-Pseudometric-Space + reflects-neighborhoods-sim-Pseudometric-Space ( cauchy-pseudocompletion-Metric-Space M) { x} { const-cauchy-approximation-Metric-Space @@ -488,7 +488,7 @@ module _ ( is-complete-M) ( y)) ( δ) - ( preserves-neighborhood-map-isometry-Pseudometric-Space + ( preserves-neighborhoods-map-isometry-Pseudometric-Space ( pseudometric-Metric-Space M) ( cauchy-pseudocompletion-Metric-Space M) ( isometry-cauchy-pseudocompletion-Metric-Space M) 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 cf682cb3e8c..41506234ff6 100644 --- a/src/metric-spaces/cauchy-pseudocompletion-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-pseudocompletion-of-pseudometric-spaces.lagda.md @@ -295,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 @@ -303,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) @@ -317,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 ( λ δ → @@ -335,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))) @@ -666,7 +666,7 @@ module _ ( M))) is-short-function-const-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space d u v = - preserves-neighborhood-sim-Pseudometric-Space + preserves-neighborhoods-sim-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space M)) { u} @@ -697,7 +697,7 @@ module _ ( 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 + reflects-neighborhoods-map-cauchy-pseudocompletion-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space M) ( d) ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space @@ -752,7 +752,7 @@ module _ ( v) reflects-neighborhoods-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space d u v N-lim = - reflects-neighborhood-sim-Pseudometric-Space + reflects-neighborhoods-sim-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space M)) { u} @@ -774,7 +774,7 @@ module _ ( M) ( v)) ( d) - ( preserves-neighborhood-map-cauchy-pseudocompletion-Pseudometric-Space + ( preserves-neighborhoods-map-cauchy-pseudocompletion-Pseudometric-Space ( cauchy-pseudocompletion-Pseudometric-Space M) ( d) ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space @@ -887,7 +887,7 @@ module _ ( y) reflects-neighborhoods-map-cauchy-approximation-isometry-Pseudometric-Space d x y Nxy α β = - reflects-neighborhood-map-isometry-Pseudometric-Space + reflects-neighborhoods-map-isometry-Pseudometric-Space ( A) ( B) ( f) diff --git a/src/metric-spaces/indexed-sums-metric-spaces.lagda.md b/src/metric-spaces/indexed-sums-metric-spaces.lagda.md index 4ed15b71da2..c07e513fe37 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 463b3396a2b..92c1c0a3e88 100644 --- a/src/metric-spaces/isometries-metric-spaces.lagda.md +++ b/src/metric-spaces/isometries-metric-spaces.lagda.md @@ -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) ``` diff --git a/src/metric-spaces/isometries-pseudometric-spaces.lagda.md b/src/metric-spaces/isometries-pseudometric-spaces.lagda.md index 665040a49f9..7147daf5c02 100644 --- a/src/metric-spaces/isometries-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/isometries-pseudometric-spaces.lagda.md @@ -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) ``` 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 fb63b3dccab..d4228503f38 100644 --- a/src/metric-spaces/metric-quotients-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/metric-quotients-of-pseudometric-spaces.lagda.md @@ -408,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 @@ -416,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' = @@ -434,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) @@ -450,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) @@ -462,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 @@ -769,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 @@ -782,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) @@ -791,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 @@ -804,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) @@ -825,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/short-functions-pseudometric-spaces.lagda.md b/src/metric-spaces/short-functions-pseudometric-spaces.lagda.md index ca153a94086..c4e262d3a3d 100644 --- a/src/metric-spaces/short-functions-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/short-functions-pseudometric-spaces.lagda.md @@ -296,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 205dd76d739..6a249158e43 100644 --- a/src/metric-spaces/similarity-of-elements-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/similarity-of-elements-pseudometric-spaces.lagda.md @@ -173,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) @@ -204,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') @@ -255,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))) , @@ -356,5 +356,5 @@ module _ ( 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-neighborhood-map-isometry-Pseudometric-Space A B f d x y (fx~fy d) + reflects-neighborhoods-map-isometry-Pseudometric-Space A B f d x y (fx~fy d) ``` From 1e8202cd2fda258df106f56a519a85b46345e607 Mon Sep 17 00:00:00 2001 From: malarbol Date: Tue, 25 Nov 2025 20:20:11 +0100 Subject: [PATCH 21/41] remove --lossy-unification --lossy-unification breaks some proof of #1726 --- .../metric-extensions-of-pseudometric-spaces.lagda.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md index f8cd5045c8a..4868e97993a 100644 --- a/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md @@ -1,8 +1,6 @@ # Metric extensions of pseudometric spaces ```agda -{-# OPTIONS --lossy-unification #-} - module metric-spaces.metric-extensions-of-pseudometric-spaces where ``` From 4b1c84f7f1c7790ce9266096a8857aaaef7dd1d6 Mon Sep 17 00:00:00 2001 From: malarbol Date: Mon, 1 Dec 2025 19:44:58 +0100 Subject: [PATCH 22/41] refactor action of functions --- src/metric-spaces.lagda.md | 4 + ...nts-subsets-located-metric-spaces.lagda.md | 1 + ...pproximations-pseudometric-spaces.lagda.md | 143 +++++ ...uchy-approximations-metric-spaces.lagda.md | 92 +++ ...pproximations-pseudometric-spaces.lagda.md | 97 ++++ ...e-decompositions-of-metric-spaces.lagda.md | 1 + ...ompletions-of-pseudometric-spaces.lagda.md | 465 +++++++++++++++ ...-quotients-of-pseudometric-spaces.lagda.md | 1 + ...uchy-approximations-metric-spaces.lagda.md | 48 -- ...pproximations-pseudometric-spaces.lagda.md | 44 -- ...pseudocompletion-of-metric-spaces.lagda.md | 1 + ...completion-of-pseudometric-spaces.lagda.md | 529 ------------------ .../dependent-products-metric-spaces.lagda.md | 1 + ...uchy-approximations-metric-spaces.lagda.md | 1 + ...extensions-of-pseudometric-spaces.lagda.md | 1 + ...uchy-approximations-metric-spaces.lagda.md | 1 + .../rational-cauchy-approximations.lagda.md | 1 + ...per-closed-intervals-real-numbers.lagda.md | 1 + 18 files changed, 811 insertions(+), 621 deletions(-) create mode 100644 src/metric-spaces/action-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md create mode 100644 src/metric-spaces/action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md create mode 100644 src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md create mode 100644 src/metric-spaces/cauchy-approximations-in-cauchy-pseudocompletions-of-pseudometric-spaces.lagda.md diff --git a/src/metric-spaces.lagda.md b/src/metric-spaces.lagda.md index ee5c43ff9ae..d063fc5b2ec 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-of-isometries-on-cauchy-approximations-pseudometric-spaces public +open import metric-spaces.action-of-short-maps-on-cauchy-approximations-metric-spaces public +open import metric-spaces.action-of-short-maps-on-cauchy-approximations-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 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 8f84ddb5099..d676e6cdd1a 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-of-short-maps-on-cauchy-approximations-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-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md b/src/metric-spaces/action-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md new file mode 100644 index 00000000000..35911a8d158 --- /dev/null +++ b/src/metric-spaces/action-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md @@ -0,0 +1,143 @@ +# The action of isometries on Cauchy approximations in pseudometric spaces + +```agda +module metric-spaces.action-of-isometries-on-cauchy-approximations-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.function-extensionality +open import foundation.function-types +open import foundation.homotopies +open import foundation.identity-types +open import foundation.propositions +open import foundation.subtypes +open import foundation.universe-levels + +open import metric-spaces.action-of-short-maps-on-cauchy-approximations-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 their +[Cauchy approximations](metric-spaces.cauchy-approximations-pseudometric-spaces.md) +and induce an isometry between their +[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-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md b/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md new file mode 100644 index 00000000000..2804c3a79fa --- /dev/null +++ b/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md @@ -0,0 +1,92 @@ +# The action of short maps on Cauchy approximations in metric spaces + +```agda +module metric-spaces.action-of-short-maps-on-cauchy-approximations-metric-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.function-extensionality +open import foundation.function-types +open import foundation.homotopies +open import foundation.identity-types +open import foundation.propositions +open import foundation.subtypes +open import foundation.universe-levels + +open import metric-spaces.action-of-short-maps-on-cauchy-approximations-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 + +[Short maps](metric-spaces.short-functions-metric-spaces.md) between +[metric spaces](metric-spaces.metric-spaces.md) act on their +[cauchy approximations](metric-spaces.cauchy-approximations-metric-spaces.md) +and induce a short map between their +[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-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md b/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md new file mode 100644 index 00000000000..6b875735b38 --- /dev/null +++ b/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md @@ -0,0 +1,97 @@ +# The action of short maps on Cauchy approximations in pseudometric spaces + +```agda +module metric-spaces.action-of-short-maps-on-cauchy-approximations-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.function-extensionality +open import foundation.function-types +open import foundation.homotopies +open import foundation.identity-types +open import foundation.propositions +open import foundation.subtypes +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.isometries-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 +[premetric spaces](metric-spaces.premetric-spaces.md) act on their +[cauchy approximations](metric-spaces.cauchy-approximations-pseudometric-spaces.md) +and induce a short map between their +[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 57bdd01bc5a..84c62fa608a 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-of-short-maps-on-cauchy-approximations-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 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 00000000000..3808c41c3f2 --- /dev/null +++ b/src/metric-spaces/cauchy-approximations-in-cauchy-pseudocompletions-of-pseudometric-spaces.lagda.md @@ -0,0 +1,465 @@ +# 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-of-isometries-on-cauchy-approximations-pseudometric-spaces +open import metric-spaces.action-of-short-maps-on-cauchy-approximations-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) +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₁ + + 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)) + 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 b5ce744455e..52d02a64fd6 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-of-short-maps-on-cauchy-approximations-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 diff --git a/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md b/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md index e48cfc33262..b1fd39f15f9 100644 --- a/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md @@ -106,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-cauchy-approximation-short-function-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) - ( id-short-function-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 b6b0b62a391..280b955661b 100644 --- a/src/metric-spaces/cauchy-approximations-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-approximations-pseudometric-spaces.lagda.md @@ -104,50 +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-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 ε δ)) -``` - -### 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) -``` - ### 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 802663a17b7..5e8315499cd 100644 --- a/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md @@ -19,6 +19,7 @@ open import foundation.identity-types 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 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 41506234ff6..044b7d09c6c 100644 --- a/src/metric-spaces/cauchy-pseudocompletion-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-pseudocompletion-of-pseudometric-spaces.lagda.md @@ -461,532 +461,3 @@ module _ ( lim-v))) ( sim-const-is-limit-cauchy-approximation-Pseudometric-Space M u x lim-u) ``` - -### 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₁ - - 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)) - 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 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-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) - is-short-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 , - is-short-map-cauchy-approximation-short-function-Pseudometric-Space) -``` - -### 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 = - is-short-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) -``` - -### 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/dependent-products-metric-spaces.lagda.md b/src/metric-spaces/dependent-products-metric-spaces.lagda.md index 2675d11b694..65b0ff68295 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-of-short-maps-on-cauchy-approximations-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/limits-of-cauchy-approximations-metric-spaces.lagda.md b/src/metric-spaces/limits-of-cauchy-approximations-metric-spaces.lagda.md index 84a29eb976c..5d4ed51b9c5 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 @@ -15,6 +15,7 @@ open import foundation.identity-types open import foundation.propositions open import foundation.universe-levels +open import metric-spaces.action-of-short-maps-on-cauchy-approximations-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-of-pseudometric-spaces.lagda.md b/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md index 4868e97993a..a8f6eee93c6 100644 --- a/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md @@ -30,6 +30,7 @@ open import foundation.sets open import foundation.transport-along-identifications open import foundation.universe-levels +open import metric-spaces.action-of-isometries-on-cauchy-approximations-pseudometric-spaces open import metric-spaces.cauchy-approximations-metric-quotients-of-pseudometric-spaces open import metric-spaces.cauchy-approximations-metric-spaces open import metric-spaces.cauchy-approximations-pseudometric-spaces 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 85dc63e6e88..94e7901a912 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-of-short-maps-on-cauchy-approximations-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/rational-cauchy-approximations.lagda.md b/src/metric-spaces/rational-cauchy-approximations.lagda.md index d5f5d1b4321..4af06b861fc 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-of-short-maps-on-cauchy-approximations-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/real-numbers/proper-closed-intervals-real-numbers.lagda.md b/src/real-numbers/proper-closed-intervals-real-numbers.lagda.md index 21f5ab7e363..7f0d4c180e4 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-of-short-maps-on-cauchy-approximations-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 From 3f01f29428abefb2e479f4eedd85cf5d62600eb6 Mon Sep 17 00:00:00 2001 From: malarbol Date: Mon, 1 Dec 2025 19:57:36 +0100 Subject: [PATCH 23/41] fix link --- ...-in-cauchy-pseudocompletions-of-pseudometric-spaces.lagda.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 3808c41c3f2..6475e0fcf83 100644 --- 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 @@ -40,7 +40,7 @@ open import metric-spaces.similarity-of-elements-pseudometric-spaces ## Idea -[Cauchy approximations](metric-spaces.cauchy-approximations-pseudometric-spaces) +[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 From a48c9a72caf913ba09fc8d020abd70c6a31b7f9a Mon Sep 17 00:00:00 2001 From: malarbol Date: Mon, 1 Dec 2025 20:00:08 +0100 Subject: [PATCH 24/41] fix link --- ...t-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md b/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md index 6b875735b38..62ff20ea6d1 100644 --- a/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md @@ -31,7 +31,7 @@ open import metric-spaces.short-functions-pseudometric-spaces ## Idea [Short maps](metric-spaces.short-functions-pseudometric-spaces.md) between -[premetric spaces](metric-spaces.premetric-spaces.md) act on their +[pseudometric spaces](metric-spaces.pseudometric-spaces.md) act on their [cauchy approximations](metric-spaces.cauchy-approximations-pseudometric-spaces.md) and induce a short map between their [Cauchy pseudocompletions](metric-spaces.cauchy-pseudocompletion-of-pseudometric-spaces.md). From 4979c5183f4ea2bbc7355ef8dcf6b57a84956d32 Mon Sep 17 00:00:00 2001 From: malarbol Date: Tue, 2 Dec 2025 19:29:06 +0100 Subject: [PATCH 25/41] remove metric extensions --- src/metric-spaces.lagda.md | 2 - ...extensions-of-pseudometric-spaces.lagda.md | 299 ------------------ ...extensions-of-pseudometric-spaces.lagda.md | 256 --------------- 3 files changed, 557 deletions(-) delete mode 100644 src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md delete mode 100644 src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md diff --git a/src/metric-spaces.lagda.md b/src/metric-spaces.lagda.md index d063fc5b2ec..3df9a5f0423 100644 --- a/src/metric-spaces.lagda.md +++ b/src/metric-spaces.lagda.md @@ -101,7 +101,6 @@ open import metric-spaces.images-uniformly-continuous-functions-metric-spaces pu open import metric-spaces.indexed-sums-metric-spaces public open import metric-spaces.inhabited-totally-bounded-subspaces-metric-spaces public open import metric-spaces.interior-subsets-metric-spaces public -open import metric-spaces.isometries-between-metric-extensions-of-pseudometric-spaces public open import metric-spaces.isometries-metric-spaces public open import metric-spaces.isometries-pseudometric-spaces public open import metric-spaces.limits-of-cauchy-approximations-metric-spaces public @@ -111,7 +110,6 @@ 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-of-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/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md deleted file mode 100644 index 411d45fc060..00000000000 --- a/src/metric-spaces/isometries-between-metric-extensions-of-pseudometric-spaces.lagda.md +++ /dev/null @@ -1,299 +0,0 @@ -# Isometries between metric extensions of a pseudometric space - -```agda -{-# OPTIONS --lossy-unification #-} - -module metric-spaces.isometries-between-metric-extensions-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.binary-transport -open import foundation.dependent-pair-types -open import foundation.equivalences -open import foundation.existential-quantification -open import foundation.function-types -open import foundation.homotopies -open import foundation.identity-types -open import foundation.logical-equivalences -open import foundation.propositional-truncations -open import foundation.propositions -open import foundation.set-quotients -open import foundation.sets -open import foundation.subtypes -open import foundation.transport-along-identifications -open import foundation.universe-levels -open import foundation.whiskering-homotopies-composition - -open import metric-spaces.cauchy-approximations-metric-quotients-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-metric-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.equality-of-metric-spaces -open import metric-spaces.functions-metric-spaces -open import metric-spaces.functions-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.limits-of-cauchy-approximations-pseudometric-spaces -open import metric-spaces.metric-extensions-of-pseudometric-spaces -open import metric-spaces.metric-quotients-of-pseudometric-spaces -open import metric-spaces.metric-spaces -open import metric-spaces.precategory-of-metric-spaces-and-short-functions -open import metric-spaces.pseudometric-spaces -open import metric-spaces.rational-neighborhood-relations -open import metric-spaces.short-functions-metric-spaces -open import metric-spaces.short-functions-pseudometric-spaces -open import metric-spaces.similarity-of-elements-pseudometric-spaces -``` - -
- -## Idea - -An -{{#concept "isometry" Disambiguation="between metric extensions of a pseudometric space" Agda=isometry-Metric-Extension}} -between two -[metric extensions](metric-spaces.metric-extensions-of-pseudometric-spaces.md) -of a [pseudometric space](metric-spaces.pseudometric-spaces.md) `P`, `i : P → M` -and `j : P → N`, is an [isometry](metric-spaces.isometries-metric-spaces.md) -`f : M → N` such that - -```text - f ∘ i ~ j. -``` - -## Definitions - -### The property of being an isometry between metric extensions - -```agda -module _ - { l1 l2 l3 l4 l5 l6 : Level} - ( P : Pseudometric-Space l1 l2) - ( M : Metric-Extension l3 l4 P) - ( N : Metric-Extension l5 l6 P) - ( f : - isometry-Metric-Space - ( metric-space-Metric-Extension P M) - ( metric-space-Metric-Extension P N)) - where - - coherence-triangle-prop-isometry-metric-space-Metric-Extension : - Prop (l1 ⊔ l5) - coherence-triangle-prop-isometry-metric-space-Metric-Extension = - Π-Prop - ( type-Pseudometric-Space P) - ( λ x → - Id-Prop - ( set-Metric-Space - ( metric-space-Metric-Extension P N)) - ( map-isometry-Pseudometric-Space - ( P) - ( pseudometric-space-Metric-Extension P N) - ( comp-isometry-Pseudometric-Space - ( P) - ( pseudometric-space-Metric-Extension P M) - ( pseudometric-space-Metric-Extension P N) - ( f) - ( isometry-metric-space-Metric-Extension P M)) - ( x)) - ( map-isometry-metric-space-Metric-Extension P N x)) - - coherence-triangle-isometry-metric-space-Metric-Extension : UU (l1 ⊔ l5) - coherence-triangle-isometry-metric-space-Metric-Extension = - type-Prop - coherence-triangle-prop-isometry-metric-space-Metric-Extension - - is-prop-coherence-triangle-isometry-metric-space-Metric-Extension : - is-prop coherence-triangle-isometry-metric-space-Metric-Extension - is-prop-coherence-triangle-isometry-metric-space-Metric-Extension = - is-prop-type-Prop - coherence-triangle-prop-isometry-metric-space-Metric-Extension -``` - -### The type of isometries between metric extensions of a pseudometric space - -```agda -module _ - { l1 l2 l3 l4 l5 l6 : Level} - ( P : Pseudometric-Space l1 l2) - ( M : Metric-Extension l3 l4 P) - ( N : Metric-Extension l5 l6 P) - where - - isometry-Metric-Extension : UU (l1 ⊔ l3 ⊔ l4 ⊔ l5 ⊔ l6) - isometry-Metric-Extension = - type-subtype - ( coherence-triangle-prop-isometry-metric-space-Metric-Extension P M N) - -module _ - { l1 l2 l3 l4 l5 l6 : Level} - ( P : Pseudometric-Space l1 l2) - ( M : Metric-Extension l3 l4 P) - ( N : Metric-Extension l5 l6 P) - ( f : isometry-Metric-Extension P M N) - where - - isometry-metric-space-isometry-Metric-Extension : - isometry-Metric-Space - ( metric-space-Metric-Extension P M) - ( metric-space-Metric-Extension P N) - isometry-metric-space-isometry-Metric-Extension = pr1 f - - map-metric-space-isometry-Metric-Extension : - type-metric-space-Metric-Extension P M → - type-metric-space-Metric-Extension P N - map-metric-space-isometry-Metric-Extension = - map-isometry-Metric-Space - ( metric-space-Metric-Extension P M) - ( metric-space-Metric-Extension P N) - ( isometry-metric-space-isometry-Metric-Extension) - - is-isometry-map-metric-space-isometry-Metric-Extension : - is-isometry-Metric-Space - ( metric-space-Metric-Extension P M) - ( metric-space-Metric-Extension P N) - ( map-metric-space-isometry-Metric-Extension) - is-isometry-map-metric-space-isometry-Metric-Extension = - is-isometry-map-isometry-Metric-Space - ( metric-space-Metric-Extension P M) - ( metric-space-Metric-Extension P N) - ( isometry-metric-space-isometry-Metric-Extension) - - coh-isometry-Metric-Extension : - coherence-triangle-isometry-metric-space-Metric-Extension - ( P) - ( M) - ( N) - ( isometry-metric-space-isometry-Metric-Extension) - coh-isometry-Metric-Extension = pr2 f -``` - -## Properties - -### Isometries of metric spaces are isometries of metric extensions - -```agda -module _ - {l1 l2 l3 l4 : Level} - (M : Metric-Space l1 l2) - (N : Metric-Space l3 l4) - (f : isometry-Metric-Space M N) - where - - forgetful-isometry-Metric-Extension : - isometry-Metric-Extension - ( pseudometric-Metric-Space M) - ( forgetful-Metric-Extension M) - ( N , f) - forgetful-isometry-Metric-Extension = (f , refl-htpy) -``` - -### The identity isometry of a metric extension - -```agda -module _ - {l1 l2 l3 l4 : Level} - (P : Pseudometric-Space l1 l2) - (M : Metric-Extension l3 l4 P) - where - - id-isometry-Metric-Extension : isometry-Metric-Extension P M M - pr1 id-isometry-Metric-Extension = - id-isometry-Metric-Space (metric-space-Metric-Extension P M) - pr2 id-isometry-Metric-Extension = refl-htpy -``` - -### Composition of isometries between metric extensions - -```agda -module _ - {l l' lu lu' lv lv' lw lw' : Level} - (P : Pseudometric-Space l l') - (U : Metric-Extension lu lu' P) - (V : Metric-Extension lv lv' P) - (W : Metric-Extension lw lw' P) - (g : isometry-Metric-Extension P V W) - (f : isometry-Metric-Extension P U V) - where - - abstract - coh-comp-isometry-Metric-Extension : - coherence-triangle-isometry-metric-space-Metric-Extension P U W - ( comp-isometry-Metric-Space - ( metric-space-Metric-Extension P U) - ( metric-space-Metric-Extension P V) - ( metric-space-Metric-Extension P W) - ( isometry-metric-space-isometry-Metric-Extension P V W g) - ( isometry-metric-space-isometry-Metric-Extension P U V f)) - coh-comp-isometry-Metric-Extension = - ( ( map-metric-space-isometry-Metric-Extension P V W g) ·l - ( coh-isometry-Metric-Extension P U V f)) ∙h - ( coh-isometry-Metric-Extension P V W g) - - comp-isometry-Metric-Extension : isometry-Metric-Extension P U W - pr1 comp-isometry-Metric-Extension = - comp-isometry-Metric-Space - ( metric-space-Metric-Extension P U) - ( metric-space-Metric-Extension P V) - ( metric-space-Metric-Extension P W) - ( isometry-metric-space-isometry-Metric-Extension P V W g) - ( isometry-metric-space-isometry-Metric-Extension P U V f) - pr2 comp-isometry-Metric-Extension = coh-comp-isometry-Metric-Extension -``` - -### Homotopic isometries between metric extensions are equal - -```agda -module _ - { l1 l2 l3 l4 l5 l6 : Level} - ( P : Pseudometric-Space l1 l2) - ( M : Metric-Extension l3 l4 P) - ( N : Metric-Extension l5 l6 P) - ( f g : isometry-Metric-Extension P M N) - where - - htpy-isometry-Metric-Extension : UU (l3 ⊔ l5) - htpy-isometry-Metric-Extension = - ( map-metric-space-isometry-Metric-Extension P M N f ~ - map-metric-space-isometry-Metric-Extension P M N g) - - is-prop-htpy-isometry-Metric-Extension : - is-prop htpy-isometry-Metric-Extension - is-prop-htpy-isometry-Metric-Extension = - is-prop-Π - ( λ x → - is-set-type-Metric-Space - ( metric-space-Metric-Extension P N) - ( map-metric-space-isometry-Metric-Extension P M N f x) - ( map-metric-space-isometry-Metric-Extension P M N g x)) - - htpy-prop-isometry-Metric-Extension : Prop (l3 ⊔ l5) - htpy-prop-isometry-Metric-Extension = - ( htpy-isometry-Metric-Extension , is-prop-htpy-isometry-Metric-Extension) - - eq-htpy-isometry-Metric-Extension : - htpy-isometry-Metric-Extension → f = g - eq-htpy-isometry-Metric-Extension f~g = - eq-type-subtype - ( coherence-triangle-prop-isometry-metric-space-Metric-Extension P M N) - ( eq-htpy-map-isometry-Metric-Space - ( metric-space-Metric-Extension P M) - ( metric-space-Metric-Extension P N) - ( isometry-metric-space-isometry-Metric-Extension P M N f) - ( isometry-metric-space-isometry-Metric-Extension P M N g) - ( f~g)) -``` diff --git a/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md b/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md deleted file mode 100644 index a8f6eee93c6..00000000000 --- a/src/metric-spaces/metric-extensions-of-pseudometric-spaces.lagda.md +++ /dev/null @@ -1,256 +0,0 @@ -# Metric extensions of pseudometric spaces - -```agda -module metric-spaces.metric-extensions-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.binary-transport -open import foundation.dependent-pair-types -open import foundation.equivalences -open import foundation.existential-quantification -open import foundation.function-types -open import foundation.homotopies -open import foundation.identity-types -open import foundation.logical-equivalences -open import foundation.propositional-truncations -open import foundation.propositions -open import foundation.set-quotients -open import foundation.sets -open import foundation.transport-along-identifications -open import foundation.universe-levels - -open import metric-spaces.action-of-isometries-on-cauchy-approximations-pseudometric-spaces -open import metric-spaces.cauchy-approximations-metric-quotients-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-metric-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.equality-of-metric-spaces -open import metric-spaces.functions-metric-spaces -open import metric-spaces.functions-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.limits-of-cauchy-approximations-pseudometric-spaces -open import metric-spaces.metric-quotients-of-pseudometric-spaces -open import metric-spaces.metric-spaces -open import metric-spaces.precategory-of-metric-spaces-and-short-functions -open import metric-spaces.pseudometric-spaces -open import metric-spaces.rational-neighborhood-relations -open import metric-spaces.short-functions-metric-spaces -open import metric-spaces.short-functions-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`. - -## 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) -``` - -## Properties - -### 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)) -``` From ec29d82391903e77ce70fcc980cfdd843556add3 Mon Sep 17 00:00:00 2001 From: malarbol Date: Fri, 5 Dec 2025 17:54:52 +0100 Subject: [PATCH 26/41] Update src/metric-spaces/action-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md Co-authored-by: Fredrik Bakke --- ...etries-on-cauchy-approximations-pseudometric-spaces.lagda.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/metric-spaces/action-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md b/src/metric-spaces/action-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md index 35911a8d158..40f263991a4 100644 --- a/src/metric-spaces/action-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/action-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md @@ -1,4 +1,4 @@ -# The action of isometries on Cauchy approximations in pseudometric spaces +# The action on Cauchy approximations of isometries between pseudometric spaces ```agda module metric-spaces.action-of-isometries-on-cauchy-approximations-pseudometric-spaces where From 95f93b92ea309d10dbc75f93c9e15dfacc6af304 Mon Sep 17 00:00:00 2001 From: malarbol Date: Fri, 5 Dec 2025 17:55:23 +0100 Subject: [PATCH 27/41] Update src/metric-spaces/action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md Co-authored-by: Fredrik Bakke --- ...f-short-maps-on-cauchy-approximations-metric-spaces.lagda.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md b/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md index 2804c3a79fa..95da516d185 100644 --- a/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md +++ b/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md @@ -1,4 +1,4 @@ -# The action of short maps on Cauchy approximations in metric spaces +# The action on Cauchy approximations of short maps between metric spaces ```agda module metric-spaces.action-of-short-maps-on-cauchy-approximations-metric-spaces where From bc8bc1eb1e2b0ddf2ffde82f79ed036e30273034 Mon Sep 17 00:00:00 2001 From: malarbol Date: Fri, 5 Dec 2025 17:55:51 +0100 Subject: [PATCH 28/41] Update src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md Co-authored-by: Fredrik Bakke --- ...t-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md b/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md index 62ff20ea6d1..28a7f4ae4f8 100644 --- a/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md @@ -1,4 +1,4 @@ -# The action of short maps on Cauchy approximations in pseudometric spaces +# The action on Cauchy approximations of short maps between pseudometric spaces ```agda module metric-spaces.action-of-short-maps-on-cauchy-approximations-pseudometric-spaces where From 7864a775f44f8bfc84c82b8904f7b41781551d80 Mon Sep 17 00:00:00 2001 From: malarbol Date: Fri, 5 Dec 2025 17:56:24 +0100 Subject: [PATCH 29/41] Update src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md Co-authored-by: Fredrik Bakke --- ...maps-on-cauchy-approximations-pseudometric-spaces.lagda.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md b/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md index 28a7f4ae4f8..80448cc9bbe 100644 --- a/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md @@ -31,9 +31,9 @@ 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 their +[pseudometric spaces](metric-spaces.pseudometric-spaces.md) act on [cauchy approximations](metric-spaces.cauchy-approximations-pseudometric-spaces.md) -and induce a short map between their +and induce a short map between the [Cauchy pseudocompletions](metric-spaces.cauchy-pseudocompletion-of-pseudometric-spaces.md). ## Definitions From 10bac4c00a0e3ba67024dc9c62e0eb9aa6d4d1ec Mon Sep 17 00:00:00 2001 From: malarbol Date: Fri, 5 Dec 2025 17:57:12 +0100 Subject: [PATCH 30/41] Update src/metric-spaces/action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md Co-authored-by: Fredrik Bakke --- ...hort-maps-on-cauchy-approximations-metric-spaces.lagda.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md b/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md index 95da516d185..b0cfac4fe36 100644 --- a/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md +++ b/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md @@ -29,10 +29,9 @@ open import metric-spaces.short-functions-metric-spaces ## Idea -[Short maps](metric-spaces.short-functions-metric-spaces.md) between -[metric spaces](metric-spaces.metric-spaces.md) act on their +[metric spaces](metric-spaces.metric-spaces.md) act on [cauchy approximations](metric-spaces.cauchy-approximations-metric-spaces.md) -and induce a short map between their +and induce a short map between the [Cauchy pseudocompletions](metric-spaces.cauchy-pseudocompletion-of-metric-spaces.md). ## Definitions From 3d3307b5e19a863ad04e85a756d54e61a8c1c0da Mon Sep 17 00:00:00 2001 From: malarbol Date: Fri, 5 Dec 2025 17:57:49 +0100 Subject: [PATCH 31/41] Update src/metric-spaces/action-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md Co-authored-by: Fredrik Bakke --- ...ries-on-cauchy-approximations-pseudometric-spaces.lagda.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/metric-spaces/action-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md b/src/metric-spaces/action-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md index 40f263991a4..aa8577fdb98 100644 --- a/src/metric-spaces/action-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/action-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md @@ -32,9 +32,9 @@ 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 their +[pseudometric spaces](metric-spaces.pseudometric-spaces.md) act on [Cauchy approximations](metric-spaces.cauchy-approximations-pseudometric-spaces.md) -and induce an isometry between their +and induce an isometry between the [Cauchy pseudocompletions](metric-spaces.cauchy-pseudocompletion-of-pseudometric-spaces.md). ## Definitions From 76a216b1f65f27f46b3f9a53000cbefd1cd34687 Mon Sep 17 00:00:00 2001 From: malarbol Date: Fri, 5 Dec 2025 17:58:53 +0100 Subject: [PATCH 32/41] Update src/metric-spaces/cauchy-approximations-in-cauchy-pseudocompletions-of-pseudometric-spaces.lagda.md Co-authored-by: Fredrik Bakke --- ...n-cauchy-pseudocompletions-of-pseudometric-spaces.lagda.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 index 6475e0fcf83..e1088130cd3 100644 --- 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 @@ -3,7 +3,9 @@ ```agda {-# OPTIONS --lossy-unification #-} -module metric-spaces.cauchy-approximations-in-cauchy-pseudocompletions-of-pseudometric-spaces where +module + metric-spaces.cauchy-approximations-in-cauchy-pseudocompletions-of-pseudometric-spaces + where ```
Imports From ca042bd82425eb1653614b0c0db4afc1e2802424 Mon Sep 17 00:00:00 2001 From: malarbol Date: Fri, 5 Dec 2025 18:08:13 +0100 Subject: [PATCH 33/41] fix phrasing --- .../cauchy-pseudocompletion-of-metric-spaces.lagda.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 5e8315499cd..a45d8538921 100644 --- a/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md @@ -434,7 +434,7 @@ module _ ( is-limit-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u) ``` -### The isometry from the Cauchy pseudocompletion of a complete metric space to its limit +### The isometry mapping a Cauchy approximation in a complete metric space to its limit ```agda module _ From fac7192e5cd555ffb91218a8670e5c2c6e4ab657 Mon Sep 17 00:00:00 2001 From: malarbol Date: Fri, 5 Dec 2025 18:11:44 +0100 Subject: [PATCH 34/41] abstract --- ...ompletions-of-pseudometric-spaces.lagda.md | 168 +++++++++--------- 1 file changed, 85 insertions(+), 83 deletions(-) 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 index e1088130cd3..8c4339018a3 100644 --- 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 @@ -94,32 +94,33 @@ module _ 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 - _ _ _ _) + 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 @@ -127,39 +128,51 @@ module _ ( 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 = + 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 @@ -167,31 +180,20 @@ module _ ( η)) ( 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 + ( associative-add-ℚ⁺ + ( η +ℚ⁺ θ) ( δ) - ( η)) - ( map-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space - ( θ)) - ( η +ℚ⁺ θ +ℚ⁺ δ) - ( η +ℚ⁺ θ +ℚ⁺ δ +ℚ⁺ ε) - ( le-left-add-ℚ⁺ ( η +ℚ⁺ θ +ℚ⁺ δ) ε) - ( lemma-lim)) + ( ε)) + ( 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) From 7cfa0ca6ddb2060812cb9bdfd2fd365340263041 Mon Sep 17 00:00:00 2001 From: malarbol Date: Fri, 5 Dec 2025 18:20:00 +0100 Subject: [PATCH 35/41] fix module names --- src/metric-spaces.lagda.md | 6 +++--- ...cumulation-points-subsets-located-metric-spaces.lagda.md | 2 +- ...-approximations-isometries-pseudometric-spaces.lagda.md} | 4 ++-- ...cauchy-approximations-short-maps-metric-spaces.lagda.md} | 4 ++-- ...-approximations-short-maps-pseudometric-spaces.lagda.md} | 2 +- ...ounded-distance-decompositions-of-metric-spaces.lagda.md | 2 +- ...cauchy-pseudocompletions-of-pseudometric-spaces.lagda.md | 4 ++-- ...mations-metric-quotients-of-pseudometric-spaces.lagda.md | 2 +- src/metric-spaces/dependent-products-metric-spaces.lagda.md | 2 +- .../limits-of-cauchy-approximations-metric-spaces.lagda.md | 2 +- ...ic-space-of-cauchy-approximations-metric-spaces.lagda.md | 2 +- src/metric-spaces/rational-cauchy-approximations.lagda.md | 2 +- .../proper-closed-intervals-real-numbers.lagda.md | 2 +- 13 files changed, 18 insertions(+), 18 deletions(-) rename src/metric-spaces/{action-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md => action-on-cauchy-approximations-isometries-pseudometric-spaces.lagda.md} (96%) rename src/metric-spaces/{action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md => action-on-cauchy-approximations-short-maps-metric-spaces.lagda.md} (93%) rename src/metric-spaces/{action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md => action-on-cauchy-approximations-short-maps-pseudometric-spaces.lagda.md} (97%) diff --git a/src/metric-spaces.lagda.md b/src/metric-spaces.lagda.md index 3df9a5f0423..f21672acaa2 100644 --- a/src/metric-spaces.lagda.md +++ b/src/metric-spaces.lagda.md @@ -57,9 +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-of-isometries-on-cauchy-approximations-pseudometric-spaces public -open import metric-spaces.action-of-short-maps-on-cauchy-approximations-metric-spaces public -open import metric-spaces.action-of-short-maps-on-cauchy-approximations-pseudometric-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 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 d676e6cdd1a..4eb9cb16375 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,7 +28,7 @@ open import lists.sequences open import logic.functoriality-existential-quantification -open import metric-spaces.action-of-short-maps-on-cauchy-approximations-metric-spaces +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-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md b/src/metric-spaces/action-on-cauchy-approximations-isometries-pseudometric-spaces.lagda.md similarity index 96% rename from src/metric-spaces/action-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md rename to src/metric-spaces/action-on-cauchy-approximations-isometries-pseudometric-spaces.lagda.md index aa8577fdb98..d4c567f6d30 100644 --- a/src/metric-spaces/action-of-isometries-on-cauchy-approximations-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/action-on-cauchy-approximations-isometries-pseudometric-spaces.lagda.md @@ -1,7 +1,7 @@ # The action on Cauchy approximations of isometries between pseudometric spaces ```agda -module metric-spaces.action-of-isometries-on-cauchy-approximations-pseudometric-spaces where +module metric-spaces.action-on-cauchy-approximations-isometries-pseudometric-spaces where ```
Imports @@ -19,7 +19,7 @@ open import foundation.propositions open import foundation.subtypes open import foundation.universe-levels -open import metric-spaces.action-of-short-maps-on-cauchy-approximations-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 diff --git a/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md b/src/metric-spaces/action-on-cauchy-approximations-short-maps-metric-spaces.lagda.md similarity index 93% rename from src/metric-spaces/action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md rename to src/metric-spaces/action-on-cauchy-approximations-short-maps-metric-spaces.lagda.md index b0cfac4fe36..8498e11bb7f 100644 --- a/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-metric-spaces.lagda.md +++ b/src/metric-spaces/action-on-cauchy-approximations-short-maps-metric-spaces.lagda.md @@ -1,7 +1,7 @@ # The action on Cauchy approximations of short maps between metric spaces ```agda -module metric-spaces.action-of-short-maps-on-cauchy-approximations-metric-spaces where +module metric-spaces.action-on-cauchy-approximations-short-maps-metric-spaces where ```
Imports @@ -19,7 +19,7 @@ open import foundation.propositions open import foundation.subtypes open import foundation.universe-levels -open import metric-spaces.action-of-short-maps-on-cauchy-approximations-pseudometric-spaces +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 diff --git a/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md b/src/metric-spaces/action-on-cauchy-approximations-short-maps-pseudometric-spaces.lagda.md similarity index 97% rename from src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md rename to src/metric-spaces/action-on-cauchy-approximations-short-maps-pseudometric-spaces.lagda.md index 80448cc9bbe..fed604aa918 100644 --- a/src/metric-spaces/action-of-short-maps-on-cauchy-approximations-pseudometric-spaces.lagda.md +++ b/src/metric-spaces/action-on-cauchy-approximations-short-maps-pseudometric-spaces.lagda.md @@ -1,7 +1,7 @@ # The action on Cauchy approximations of short maps between pseudometric spaces ```agda -module metric-spaces.action-of-short-maps-on-cauchy-approximations-pseudometric-spaces where +module metric-spaces.action-on-cauchy-approximations-short-maps-pseudometric-spaces where ```
Imports 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 84c62fa608a..035604397f3 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,7 +33,7 @@ open import foundation.subtypes open import foundation.transport-along-identifications open import foundation.universe-levels -open import metric-spaces.action-of-short-maps-on-cauchy-approximations-metric-spaces +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 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 index 8c4339018a3..d147667cdad 100644 --- 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 @@ -26,8 +26,8 @@ open import foundation.propositions open import foundation.transport-along-identifications open import foundation.universe-levels -open import metric-spaces.action-of-isometries-on-cauchy-approximations-pseudometric-spaces -open import metric-spaces.action-of-short-maps-on-cauchy-approximations-pseudometric-spaces +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 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 52d02a64fd6..fa0240aa85b 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,7 +42,7 @@ open import foundation.universe-levels open import logic.functoriality-existential-quantification -open import metric-spaces.action-of-short-maps-on-cauchy-approximations-pseudometric-spaces +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 diff --git a/src/metric-spaces/dependent-products-metric-spaces.lagda.md b/src/metric-spaces/dependent-products-metric-spaces.lagda.md index 65b0ff68295..993b77a8ba0 100644 --- a/src/metric-spaces/dependent-products-metric-spaces.lagda.md +++ b/src/metric-spaces/dependent-products-metric-spaces.lagda.md @@ -15,7 +15,7 @@ open import foundation.propositions open import foundation.sets open import foundation.universe-levels -open import metric-spaces.action-of-short-maps-on-cauchy-approximations-metric-spaces +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/limits-of-cauchy-approximations-metric-spaces.lagda.md b/src/metric-spaces/limits-of-cauchy-approximations-metric-spaces.lagda.md index 5d4ed51b9c5..38768d09c11 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 @@ -15,7 +15,7 @@ open import foundation.identity-types open import foundation.propositions open import foundation.universe-levels -open import metric-spaces.action-of-short-maps-on-cauchy-approximations-metric-spaces +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-space-of-cauchy-approximations-metric-spaces.lagda.md b/src/metric-spaces/metric-space-of-cauchy-approximations-metric-spaces.lagda.md index 94e7901a912..9c7767b0ce0 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,7 +17,7 @@ open import foundation.involutions open import foundation.subtypes open import foundation.universe-levels -open import metric-spaces.action-of-short-maps-on-cauchy-approximations-metric-spaces +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/rational-cauchy-approximations.lagda.md b/src/metric-spaces/rational-cauchy-approximations.lagda.md index 4af06b861fc..1da25063eaa 100644 --- a/src/metric-spaces/rational-cauchy-approximations.lagda.md +++ b/src/metric-spaces/rational-cauchy-approximations.lagda.md @@ -19,7 +19,7 @@ open import foundation.propositions open import foundation.subtypes open import foundation.universe-levels -open import metric-spaces.action-of-short-maps-on-cauchy-approximations-metric-spaces +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/real-numbers/proper-closed-intervals-real-numbers.lagda.md b/src/real-numbers/proper-closed-intervals-real-numbers.lagda.md index 7f0d4c180e4..082ca043dfb 100644 --- a/src/real-numbers/proper-closed-intervals-real-numbers.lagda.md +++ b/src/real-numbers/proper-closed-intervals-real-numbers.lagda.md @@ -20,7 +20,7 @@ open import foundation.subtypes open import foundation.transport-along-identifications open import foundation.universe-levels -open import metric-spaces.action-of-short-maps-on-cauchy-approximations-metric-spaces +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 From c71ea937f2ab7a8bc0c58d2f4e01f5c49aa04409 Mon Sep 17 00:00:00 2001 From: malarbol Date: Fri, 5 Dec 2025 18:54:32 +0100 Subject: [PATCH 36/41] typo --- ...tions-metric-quotients-of-pseudometric-spaces.lagda.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 fa0240aa85b..99576416d5b 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 @@ -102,12 +102,12 @@ module _ {l1 l2 : Level} (M : Pseudometric-Space l1 l2) where - short-map-metric-quotient-cauchy-apprtoximation-Pseudometric-Space : + short-map-metric-quotient-cauchy-approximation-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-metric-quotient-cauchy-approximation-Pseudometric-Space = short-map-cauchy-approximation-short-function-Pseudometric-Space ( M) ( pseudometric-metric-quotient-Pseudometric-Space M) @@ -122,7 +122,7 @@ module _ ( cauchy-pseudocompletion-Pseudometric-Space M) ( cauchy-pseudocompletion-Metric-Space ( metric-quotient-Pseudometric-Space M)) - ( short-map-metric-quotient-cauchy-apprtoximation-Pseudometric-Space) + ( short-map-metric-quotient-cauchy-approximation-Pseudometric-Space) is-short-map-metric-quotient-cauchy-approximation-Pseudometric-Space : is-short-function-Pseudometric-Space @@ -135,7 +135,7 @@ module _ ( cauchy-pseudocompletion-Pseudometric-Space M) ( cauchy-pseudocompletion-Metric-Space ( metric-quotient-Pseudometric-Space M)) - ( short-map-metric-quotient-cauchy-apprtoximation-Pseudometric-Space) + ( short-map-metric-quotient-cauchy-approximation-Pseudometric-Space) ``` ### Lifts of Cauchy approximations in the quotient metric space up to similarity From 033f6d5edfea83386b30d7fcc8fb28c1f79d1f37 Mon Sep 17 00:00:00 2001 From: malarbol Date: Fri, 5 Dec 2025 19:03:35 +0100 Subject: [PATCH 37/41] fix name --- ...-quotients-of-pseudometric-spaces.lagda.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) 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 99576416d5b..5945ef2dc0e 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 @@ -102,40 +102,40 @@ module _ {l1 l2 : Level} (M : Pseudometric-Space l1 l2) where - short-map-metric-quotient-cauchy-approximation-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-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-approximation-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-approximation-Pseudometric-Space) + ( short-map-cauchy-approximation-metric-quotient-Pseudometric-Space) ``` ### Lifts of Cauchy approximations in the quotient metric space up to similarity @@ -156,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 = @@ -207,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 @@ -253,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 From 6958229233c9b635d31f5462fb565bce03d7faaa Mon Sep 17 00:00:00 2001 From: malarbol Date: Mon, 8 Dec 2025 22:32:29 +0100 Subject: [PATCH 38/41] fix header --- ...-on-cauchy-approximations-short-maps-metric-spaces.lagda.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 index 8498e11bb7f..b163b94aa64 100644 --- 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 @@ -29,7 +29,8 @@ open import metric-spaces.short-functions-metric-spaces ## Idea -[metric spaces](metric-spaces.metric-spaces.md) act on +[Short maps](metric-spaces)(metric-spaces.short-functions-metric-spaces.md) +between [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). From badff714ba2d6e9d18fc9ac0249b52a2fdf963f0 Mon Sep 17 00:00:00 2001 From: malarbol Date: Tue, 9 Dec 2025 19:21:59 +0100 Subject: [PATCH 39/41] fix link --- ...on-cauchy-approximations-short-maps-metric-spaces.lagda.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 index b163b94aa64..fb5115c583f 100644 --- 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 @@ -29,8 +29,8 @@ open import metric-spaces.short-functions-metric-spaces ## Idea -[Short maps](metric-spaces)(metric-spaces.short-functions-metric-spaces.md) -between [metric spaces](metric-spaces.metric-spaces.md) act on +[Short maps](metric-spaces.short-functions-metric-spaces.md) between +[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). From 3bd8c5d1cacd716fe48b91e2263241545b6c8a4c Mon Sep 17 00:00:00 2001 From: malarbol Date: Thu, 11 Dec 2025 18:50:25 +0100 Subject: [PATCH 40/41] refactor --- src/metric-spaces.lagda.md | 1 + ...nts-subsets-located-metric-spaces.lagda.md | 6 +- ...imations-short-maps-metric-spaces.lagda.md | 84 +++++- ...ns-short-maps-pseudometric-spaces.lagda.md | 25 +- ...e-decompositions-of-metric-spaces.lagda.md | 2 +- ...pletion-of-complete-metric-spaces.lagda.md | 280 ++++++++++++++++++ ...pseudocompletion-of-metric-spaces.lagda.md | 276 ----------------- .../dependent-products-metric-spaces.lagda.md | 2 +- ...uchy-approximations-metric-spaces.lagda.md | 56 ++-- ...uchy-approximations-metric-spaces.lagda.md | 14 +- .../rational-cauchy-approximations.lagda.md | 2 +- ...per-closed-intervals-real-numbers.lagda.md | 12 +- 12 files changed, 413 insertions(+), 347 deletions(-) create mode 100644 src/metric-spaces/cauchy-pseudocompletion-of-complete-metric-spaces.lagda.md diff --git a/src/metric-spaces.lagda.md b/src/metric-spaces.lagda.md index f21672acaa2..2295e66fa9a 100644 --- a/src/metric-spaces.lagda.md +++ b/src/metric-spaces.lagda.md @@ -71,6 +71,7 @@ open import metric-spaces.cauchy-approximations-in-cauchy-pseudocompletions-of-p 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 +open import metric-spaces.cauchy-pseudocompletion-of-complete-metric-spaces public open import metric-spaces.cauchy-pseudocompletion-of-metric-spaces public open import metric-spaces.cauchy-pseudocompletion-of-pseudometric-spaces public open import metric-spaces.cauchy-sequences-complete-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 4eb9cb16375..017333c0bcf 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 @@ -81,7 +81,7 @@ module _ ( x)) ∧ is-limit-cauchy-approximation-prop-Metric-Space ( metric-space-Located-Metric-Space X) - ( map-short-function-cauchy-approximation-Metric-Space + ( map-cauchy-approximation-short-function-Metric-Space ( subspace-Located-Metric-Space X S) ( metric-space-Located-Metric-Space X) ( short-inclusion-subspace-Metric-Space @@ -156,7 +156,7 @@ module _ ( x) ( saturated-is-limit-cauchy-approximation-Metric-Space ( metric-space-Located-Metric-Space X) - ( map-short-function-cauchy-approximation-Metric-Space + ( map-cauchy-approximation-short-function-Metric-Space ( subspace-Located-Metric-Space ( X) ( subset-closed-subset-Located-Metric-Space X S)) @@ -231,7 +231,7 @@ module _ ( ( λ n → a#x _) , is-limit-cauchy-sequence-cauchy-approximation-Metric-Space ( metric-space-Located-Metric-Space X) - ( map-short-function-cauchy-approximation-Metric-Space + ( map-cauchy-approximation-short-function-Metric-Space ( subspace-Located-Metric-Space X S) ( metric-space-Located-Metric-Space X) ( short-inclusion-subspace-Metric-Space 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 index fb5115c583f..f207c391f2d 100644 --- 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 @@ -21,8 +21,11 @@ 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.cauchy-pseudocompletion-of-metric-spaces +open import metric-spaces.limits-of-cauchy-approximations-metric-spaces open import metric-spaces.metric-spaces open import metric-spaces.short-functions-metric-spaces +open import metric-spaces.short-functions-pseudometric-spaces ```
@@ -35,6 +38,9 @@ open import metric-spaces.short-functions-metric-spaces and induce a short map between the [Cauchy pseudocompletions](metric-spaces.cauchy-pseudocompletion-of-metric-spaces.md). +This action is functorial and preserves +[limits](metric-spaces.limits-of-cauchy-approximations-metric-spaces.md). + ## Definitions ### The action of short maps on Cauchy approximations @@ -46,14 +52,35 @@ module _ (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 + short-map-cauchy-approximation-short-function-Metric-Space : + short-function-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space A) + ( cauchy-pseudocompletion-Metric-Space B) + short-map-cauchy-approximation-short-function-Metric-Space = + short-map-cauchy-approximation-short-function-Pseudometric-Space ( pseudometric-Metric-Space A) ( pseudometric-Metric-Space B) ( f) + + map-cauchy-approximation-short-function-Metric-Space : + cauchy-approximation-Metric-Space A → + cauchy-approximation-Metric-Space B + map-cauchy-approximation-short-function-Metric-Space = + map-short-function-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space A) + ( cauchy-pseudocompletion-Metric-Space B) + ( short-map-cauchy-approximation-short-function-Metric-Space) + + preserves-neighborhoods-map-cauchy-approximation-short-function-Metric-Space : + is-short-function-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space A) + ( cauchy-pseudocompletion-Metric-Space B) + ( map-cauchy-approximation-short-function-Metric-Space) + preserves-neighborhoods-map-cauchy-approximation-short-function-Metric-Space = + is-short-map-short-function-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space A) + ( cauchy-pseudocompletion-Metric-Space B) + ( short-map-cauchy-approximation-short-function-Metric-Space) ``` ## Properties @@ -64,15 +91,15 @@ module _ module _ {l1 l2 : Level} (A : Metric-Space l1 l2) - where + where abstract - htpy-id-map-short-function-cauchy-approximation-Metric-Space : - map-short-function-cauchy-approximation-Metric-Space + htpy-id-map-cauchy-approximation-short-function-Metric-Space : + map-cauchy-approximation-short-function-Metric-Space ( A) ( A) ( id-short-function-Metric-Space A) = id - htpy-id-map-short-function-cauchy-approximation-Metric-Space = refl + htpy-id-map-cauchy-approximation-short-function-Metric-Space = refl module _ {l1a l2a l1b l2b l1c l2c : Level} @@ -81,12 +108,39 @@ module _ (C : Metric-Space l1c l2c) (g : short-function-Metric-Space B C) (f : short-function-Metric-Space A B) - where + where abstract - 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 + htpy-comp-map-cauchy-approximation-short-function-Metric-Space : + ( map-cauchy-approximation-short-function-Metric-Space B C g ∘ + map-cauchy-approximation-short-function-Metric-Space A B f) = + ( map-cauchy-approximation-short-function-Metric-Space A C ( comp-short-function-Metric-Space A B C g f)) - htpy-comp-map-short-function-cauchy-approximation-Metric-Space = refl + htpy-comp-map-cauchy-approximation-short-function-Metric-Space = refl +``` + +### The action of short maps on Cauchy approximations preserves limits + +```agda +module _ + {l1 l2 l1' l2' : Level} + (A : Metric-Space l1 l2) (B : Metric-Space l1' l2') + (f : short-function-Metric-Space A B) + (a : cauchy-approximation-Metric-Space A) + (lim : type-Metric-Space A) + where abstract + + preserves-limit-map-cauchy-approximation-short-function-Metric-Space : + is-limit-cauchy-approximation-Metric-Space A a lim → + is-limit-cauchy-approximation-Metric-Space + ( B) + ( map-cauchy-approximation-short-function-Metric-Space A B f a) + ( map-short-function-Metric-Space A B f lim) + preserves-limit-map-cauchy-approximation-short-function-Metric-Space + is-lim-a ε δ = + is-short-map-short-function-Metric-Space A B + ( f) + ( ε +ℚ⁺ δ) + ( map-cauchy-approximation-Metric-Space A a ε) + ( lim) + ( is-lim-a ε δ) ``` 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 index fed604aa918..fae98702b5b 100644 --- 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 @@ -74,18 +74,19 @@ module _ (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 α β) + abstract + 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 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 035604397f3..006f92d5f20 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 @@ -343,7 +343,7 @@ module _ map-cauchy-approximation-subspace-bounded-distance-component-Metric-Space : cauchy-approximation-Metric-Space A map-cauchy-approximation-subspace-bounded-distance-component-Metric-Space = - map-short-function-cauchy-approximation-Metric-Space + map-cauchy-approximation-short-function-Metric-Space ( subspace-bounded-distance-component-Metric-Space A X) ( A) ( short-inclusion-subspace-Metric-Space diff --git a/src/metric-spaces/cauchy-pseudocompletion-of-complete-metric-spaces.lagda.md b/src/metric-spaces/cauchy-pseudocompletion-of-complete-metric-spaces.lagda.md new file mode 100644 index 00000000000..2e96dafb966 --- /dev/null +++ b/src/metric-spaces/cauchy-pseudocompletion-of-complete-metric-spaces.lagda.md @@ -0,0 +1,280 @@ +# Cauchy pseudocompletions of complete metric space + +```agda +module metric-spaces.cauchy-pseudocompletion-of-complete-metric-spaces where +``` + +
Imports + +```agda +open import elementary-number-theory.addition-positive-rational-numbers +open import elementary-number-theory.positive-rational-numbers + +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.homotopies +open import foundation.identity-types +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-metric-spaces +open import metric-spaces.cauchy-pseudocompletion-of-pseudometric-spaces +open import metric-spaces.complete-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 +open import metric-spaces.similarity-of-elements-pseudometric-spaces +``` + +
+ +## Idea + +Any [complete](metric-spaces.complete-metric-spaces.md) is a +[retract](foundation.retracts-of-types.md) of its +[cauchy pseudocompletion](metric-spaces.cauchy-pseudocompletion-of-metric-spaces.md). + +## Properties + +### Any complete metric space is a short retract of its Cauchy pseudocompletion + +```agda +module _ + {l1 l2 : Level} (M : Metric-Space l1 l2) + (is-complete-M : is-complete-Metric-Space M) + where + + map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : + type-function-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space M) + ( pseudometric-Metric-Space M) + map-lim-cauchy-pseudocompletion-is-complete-Metric-Space = + limit-cauchy-approximation-Complete-Metric-Space + ( M , is-complete-M) + + is-limit-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : + (u : cauchy-approximation-Metric-Space M) → + is-limit-cauchy-approximation-Metric-Space + ( M) + ( u) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u) + is-limit-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space = + is-limit-limit-cauchy-approximation-Complete-Metric-Space + ( M , is-complete-M) + + sim-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : + (u : cauchy-approximation-Metric-Space M) → + sim-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space M) + ( u) + ( const-cauchy-approximation-Metric-Space + ( M) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u)) + sim-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u = + sim-const-is-limit-cauchy-approximation-Metric-Space + ( M) + ( u) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u) + ( is-limit-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u) + + is-short-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : + is-short-function-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space M) + ( cauchy-pseudocompletion-Metric-Space M) + ( ( const-cauchy-approximation-Metric-Space M) ∘ + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space)) + is-short-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + d x y = + preserves-neighborhoods-sim-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space M) + { x} + { const-cauchy-approximation-Metric-Space + ( M) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space x)} + { y} + { const-cauchy-approximation-Metric-Space + ( M) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space y)} + ( sim-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + ( x)) + ( sim-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + ( y)) + ( d) + + is-short-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : + is-short-function-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space M) + ( pseudometric-Metric-Space M) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space) + is-short-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space d x y Nxy = + saturated-neighborhood-Metric-Space + ( M) + ( d) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space x) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space y) + ( lemma-saturated-neighborhood-map-lim) + where + + lemma-saturated-neighborhood-map-lim : + (δ : ℚ⁺) → + neighborhood-Metric-Space + ( M) + ( d +ℚ⁺ δ) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space x) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space y) + lemma-saturated-neighborhood-map-lim δ = + tr + ( is-upper-bound-dist-Metric-Space + ( M) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space x) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space y)) + ( ap (add-ℚ⁺' d) (eq-add-split-ℚ⁺ δ) ∙ commutative-add-ℚ⁺ δ d) + ( is-short-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space + ( d) + ( x) + ( y) + ( Nxy) + ( left-summand-split-ℚ⁺ δ) + ( right-summand-split-ℚ⁺ δ)) + + short-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : + short-function-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space M) + ( pseudometric-Metric-Space M) + short-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space = + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space , + is-short-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space) + + is-retraction-map-cauchy-pseudocompletion-is-complete-Metric-Space : + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space ∘ + map-cauchy-pseudocompletion-Metric-Space M) ~ + ( id) + is-retraction-map-cauchy-pseudocompletion-is-complete-Metric-Space = + is-retraction-limit-cauchy-approximation-Complete-Metric-Space + ( M , is-complete-M) + + sim-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : + (u : cauchy-approximation-Metric-Space M) → + sim-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space M) + ( u) + ( map-cauchy-pseudocompletion-Metric-Space + ( M) + ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u)) + sim-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u = + sim-const-is-limit-cauchy-approximation-Metric-Space + ( M) + ( u) + ( 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-metric-spaces.lagda.md b/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md index a45d8538921..172816aae7c 100644 --- a/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md +++ b/src/metric-spaces/cauchy-pseudocompletion-of-metric-spaces.lagda.md @@ -23,10 +23,8 @@ open import metric-spaces.cauchy-approximations-in-cauchy-pseudocompletions-of-p 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.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 @@ -209,47 +207,6 @@ module _ ( isometry-cauchy-pseudocompletion-Metric-Space) ``` -### Convergent Cauchy approximations are similar to constant Cauchy approximations in the Cauchy pseudocompletion - -```agda -module _ - {l1 l2 : Level} (M : Metric-Space l1 l2) - (u : cauchy-approximation-Metric-Space M) - (x : type-Metric-Space M) - where - - abstract - sim-const-is-limit-cauchy-approximation-Metric-Space : - is-limit-cauchy-approximation-Metric-Space M u x → - sim-Pseudometric-Space - ( cauchy-pseudocompletion-Metric-Space M) - ( u) - ( const-cauchy-approximation-Metric-Space M x) - sim-const-is-limit-cauchy-approximation-Metric-Space H d α β = - monotonic-neighborhood-Metric-Space - ( M) - ( map-cauchy-approximation-Metric-Space M u α) - ( x) - ( α +ℚ⁺ β) - ( α +ℚ⁺ β +ℚ⁺ d) - ( le-left-add-ℚ⁺ (α +ℚ⁺ β) d) - ( H α β) - - is-limit-sim-const-cauchy-approximation-Metric-Space : - sim-Pseudometric-Space - ( cauchy-pseudocompletion-Metric-Space M) - ( u) - ( const-cauchy-approximation-Metric-Space M x) → - is-limit-cauchy-approximation-Metric-Space M u x - is-limit-sim-const-cauchy-approximation-Metric-Space H α β = - saturated-neighborhood-Metric-Space - ( M) - ( α +ℚ⁺ β) - ( map-cauchy-approximation-Metric-Space M u α) - ( x) - ( λ d → H d α β) -``` - ### Any Cauchy approximation in the Cauchy pseudocompletion of a metric space has a limit ```agda @@ -300,236 +257,3 @@ module _ isometry-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space ( pseudometric-Metric-Space M) ``` - -### Any complete metric space is a short retract of its Cauchy pseudocompletion - -```agda -module _ - {l1 l2 : Level} (M : Metric-Space l1 l2) - (is-complete-M : is-complete-Metric-Space M) - where - - map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : - type-function-Pseudometric-Space - ( cauchy-pseudocompletion-Metric-Space M) - ( pseudometric-Metric-Space M) - map-lim-cauchy-pseudocompletion-is-complete-Metric-Space = - limit-cauchy-approximation-Complete-Metric-Space - ( M , is-complete-M) - - is-limit-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : - (u : cauchy-approximation-Metric-Space M) → - is-limit-cauchy-approximation-Metric-Space - ( M) - ( u) - ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u) - is-limit-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space = - is-limit-limit-cauchy-approximation-Complete-Metric-Space - ( M , is-complete-M) - - sim-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : - (u : cauchy-approximation-Metric-Space M) → - sim-Pseudometric-Space - ( cauchy-pseudocompletion-Metric-Space M) - ( u) - ( const-cauchy-approximation-Metric-Space - ( M) - ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u)) - sim-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u = - sim-const-is-limit-cauchy-approximation-Metric-Space - ( M) - ( u) - ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u) - ( is-limit-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u) - - is-short-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : - is-short-function-Pseudometric-Space - ( cauchy-pseudocompletion-Metric-Space M) - ( cauchy-pseudocompletion-Metric-Space M) - ( ( const-cauchy-approximation-Metric-Space M) ∘ - ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space)) - is-short-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space - d x y = - preserves-neighborhoods-sim-Pseudometric-Space - ( cauchy-pseudocompletion-Metric-Space M) - { x} - { const-cauchy-approximation-Metric-Space - ( M) - ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space x)} - { y} - { const-cauchy-approximation-Metric-Space - ( M) - ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space y)} - ( sim-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space - ( x)) - ( sim-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space - ( y)) - ( d) - - is-short-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : - is-short-function-Pseudometric-Space - ( cauchy-pseudocompletion-Metric-Space M) - ( pseudometric-Metric-Space M) - ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space) - is-short-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space d x y Nxy = - saturated-neighborhood-Metric-Space - ( M) - ( d) - ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space x) - ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space y) - ( lemma-saturated-neighborhood-map-lim) - where - - lemma-saturated-neighborhood-map-lim : - (δ : ℚ⁺) → - neighborhood-Metric-Space - ( M) - ( d +ℚ⁺ δ) - ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space x) - ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space y) - lemma-saturated-neighborhood-map-lim δ = - tr - ( is-upper-bound-dist-Metric-Space - ( M) - ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space x) - ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space y)) - ( ap (add-ℚ⁺' d) (eq-add-split-ℚ⁺ δ) ∙ commutative-add-ℚ⁺ δ d) - ( is-short-const-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space - ( d) - ( x) - ( y) - ( Nxy) - ( left-summand-split-ℚ⁺ δ) - ( right-summand-split-ℚ⁺ δ)) - - short-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : - short-function-Pseudometric-Space - ( cauchy-pseudocompletion-Metric-Space M) - ( pseudometric-Metric-Space M) - short-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space = - ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space , - is-short-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space) - - is-retraction-map-cauchy-pseudocompletion-is-complete-Metric-Space : - ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space ∘ - map-cauchy-pseudocompletion-Metric-Space M) ~ - ( id) - is-retraction-map-cauchy-pseudocompletion-is-complete-Metric-Space = - is-retraction-limit-cauchy-approximation-Complete-Metric-Space - ( M , is-complete-M) - - sim-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space : - (u : cauchy-approximation-Metric-Space M) → - sim-Pseudometric-Space - ( cauchy-pseudocompletion-Metric-Space M) - ( u) - ( map-cauchy-pseudocompletion-Metric-Space - ( M) - ( map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u)) - sim-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space u = - sim-const-is-limit-cauchy-approximation-Metric-Space - ( M) - ( u) - ( 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/dependent-products-metric-spaces.lagda.md b/src/metric-spaces/dependent-products-metric-spaces.lagda.md index 993b77a8ba0..cba39fb4901 100644 --- a/src/metric-spaces/dependent-products-metric-spaces.lagda.md +++ b/src/metric-spaces/dependent-products-metric-spaces.lagda.md @@ -172,7 +172,7 @@ module _ ev-cauchy-approximation-Π-Metric-Space : (x : A) → cauchy-approximation-Metric-Space (P x) ev-cauchy-approximation-Π-Metric-Space x = - map-short-function-cauchy-approximation-Metric-Space + map-cauchy-approximation-short-function-Metric-Space ( Π-Metric-Space A P) ( P x) ( short-ev-Π-Metric-Space A P x) 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 38768d09c11..38cba6afa26 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 @@ -15,11 +15,12 @@ open import foundation.identity-types open import foundation.propositions 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.cauchy-pseudocompletion-of-metric-spaces open import metric-spaces.limits-of-cauchy-approximations-pseudometric-spaces open import metric-spaces.metric-spaces open import metric-spaces.short-functions-metric-spaces +open import metric-spaces.similarity-of-elements-pseudometric-spaces ```
@@ -142,32 +143,45 @@ module _ ( x) ``` -### The action of short maps on Cauchy approximations preserves limits +### Convergent Cauchy approximations are similar to constant Cauchy approximations in the Cauchy pseudocompletion ```agda module _ - {l1 l2 l1' l2' : Level} - (A : Metric-Space l1 l2) (B : Metric-Space l1' l2') - (f : short-function-Metric-Space A B) - (a : cauchy-approximation-Metric-Space A) - (lim : type-Metric-Space A) + {l1 l2 : Level} (M : Metric-Space l1 l2) + (u : cauchy-approximation-Metric-Space M) + (x : type-Metric-Space M) where abstract - preserves-limit-cauchy-approximation-map-short-function-Metric-Space : - is-limit-cauchy-approximation-Metric-Space A a lim → - is-limit-cauchy-approximation-Metric-Space - ( B) - ( map-short-function-cauchy-approximation-Metric-Space A B f a) - ( map-short-function-Metric-Space A B f lim) - preserves-limit-cauchy-approximation-map-short-function-Metric-Space - is-lim-a ε δ = - is-short-map-short-function-Metric-Space A B - ( f) - ( ε +ℚ⁺ δ) - ( map-cauchy-approximation-Metric-Space A a ε) - ( lim) - ( is-lim-a ε δ) + sim-const-is-limit-cauchy-approximation-Metric-Space : + is-limit-cauchy-approximation-Metric-Space M u x → + sim-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space M) + ( u) + ( const-cauchy-approximation-Metric-Space M x) + sim-const-is-limit-cauchy-approximation-Metric-Space H d α β = + monotonic-neighborhood-Metric-Space + ( M) + ( map-cauchy-approximation-Metric-Space M u α) + ( x) + ( α +ℚ⁺ β) + ( α +ℚ⁺ β +ℚ⁺ d) + ( le-left-add-ℚ⁺ (α +ℚ⁺ β) d) + ( H α β) + + is-limit-sim-const-cauchy-approximation-Metric-Space : + sim-Pseudometric-Space + ( cauchy-pseudocompletion-Metric-Space M) + ( u) + ( const-cauchy-approximation-Metric-Space M x) → + is-limit-cauchy-approximation-Metric-Space M u x + is-limit-sim-const-cauchy-approximation-Metric-Space H α β = + saturated-neighborhood-Metric-Space + ( M) + ( α +ℚ⁺ β) + ( map-cauchy-approximation-Metric-Space M u α) + ( x) + ( λ d → H d α β) ``` ## See also 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 9c7767b0ce0..e044fdbc746 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 @@ -93,24 +93,16 @@ module _ (f : short-function-Metric-Space A B) where - is-short-map-short-function-cauchy-approximation-Metric-Space : + is-short-map-cauchy-approximation-short-function-Metric-Space : is-short-function-Metric-Space ( metric-space-of-cauchy-approximations-Metric-Space A) ( metric-space-of-cauchy-approximations-Metric-Space B) - ( map-short-function-cauchy-approximation-Metric-Space A B f) - is-short-map-short-function-cauchy-approximation-Metric-Space ε x y Nxy δ = + ( map-cauchy-approximation-short-function-Metric-Space A B f) + is-short-map-cauchy-approximation-short-function-Metric-Space ε x y Nxy δ = is-short-map-short-function-Metric-Space A B f ε ( map-cauchy-approximation-Metric-Space A x δ) ( map-cauchy-approximation-Metric-Space A y δ) ( Nxy δ) - - short-map-short-function-cauchy-approximation-Metric-Space : - short-function-Metric-Space - ( metric-space-of-cauchy-approximations-Metric-Space A) - ( metric-space-of-cauchy-approximations-Metric-Space B) - short-map-short-function-cauchy-approximation-Metric-Space = - map-short-function-cauchy-approximation-Metric-Space A B f , - is-short-map-short-function-cauchy-approximation-Metric-Space ``` ### Swapping the arguments of a Cauchy approximation of Cauchy approximations produces a Cauchy approximation diff --git a/src/metric-spaces/rational-cauchy-approximations.lagda.md b/src/metric-spaces/rational-cauchy-approximations.lagda.md index 1da25063eaa..8e4ef2260e4 100644 --- a/src/metric-spaces/rational-cauchy-approximations.lagda.md +++ b/src/metric-spaces/rational-cauchy-approximations.lagda.md @@ -95,7 +95,7 @@ real-limit-cauchy-approximation-ℚ : cauchy-approximation-ℚ → ℝ lzero real-limit-cauchy-approximation-ℚ f = limit-cauchy-approximation-Complete-Metric-Space ( complete-metric-space-ℝ lzero) - ( map-short-function-cauchy-approximation-Metric-Space + ( map-cauchy-approximation-short-function-Metric-Space ( metric-space-ℚ) ( metric-space-ℝ lzero) ( short-isometry-Metric-Space 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 082ca043dfb..86f77218aa8 100644 --- a/src/real-numbers/proper-closed-intervals-real-numbers.lagda.md +++ b/src/real-numbers/proper-closed-intervals-real-numbers.lagda.md @@ -222,7 +222,7 @@ abstract ( metric-space-ℝ l) ( subtype-proper-closed-interval-ℝ l [a,b]) approx-clamp-add = - map-short-function-cauchy-approximation-Metric-Space + map-cauchy-approximation-short-function-Metric-Space ( metric-space-ℚ) ( metric-space-proper-closed-interval-ℝ l [a,b]) ( short-clamp-add) @@ -244,7 +244,7 @@ abstract tr ( is-limit-cauchy-approximation-Metric-Space ( metric-space-ℝ l) - ( map-short-function-cauchy-approximation-Metric-Space + ( map-cauchy-approximation-short-function-Metric-Space ( metric-space-proper-closed-interval-ℝ l [a,b]) ( metric-space-ℝ l) ( short-inclusion) @@ -257,7 +257,7 @@ abstract by ap-max-ℝ refl (eq-sim-ℝ (right-leq-left-min-ℝ x≤b)) = x by eq-sim-ℝ (left-leq-right-max-ℝ a≤x)) - ( preserves-limit-cauchy-approximation-map-short-function-Metric-Space + ( preserves-limit-map-cauchy-approximation-short-function-Metric-Space ( metric-space-ℚ) ( metric-space-ℝ l) ( comp-short-function-Metric-Space @@ -305,7 +305,7 @@ abstract ( metric-space-ℝ l) ( subtype-proper-closed-interval-ℝ l [a,b]) approx-clamp-diff = - map-short-function-cauchy-approximation-Metric-Space + map-cauchy-approximation-short-function-Metric-Space ( metric-space-ℚ) ( metric-space-proper-closed-interval-ℝ l [a,b]) ( short-clamp-diff) @@ -327,7 +327,7 @@ abstract tr ( is-limit-cauchy-approximation-Metric-Space ( metric-space-ℝ l) - ( map-short-function-cauchy-approximation-Metric-Space + ( map-cauchy-approximation-short-function-Metric-Space ( metric-space-proper-closed-interval-ℝ l [a,b]) ( metric-space-ℝ l) ( short-inclusion) @@ -341,7 +341,7 @@ abstract ap-max-ℝ refl (eq-sim-ℝ (right-leq-left-min-ℝ x≤b)) = x by eq-sim-ℝ (left-leq-right-max-ℝ a≤x)) - ( preserves-limit-cauchy-approximation-map-short-function-Metric-Space + ( preserves-limit-map-cauchy-approximation-short-function-Metric-Space ( metric-space-ℚ) ( metric-space-ℝ l) ( comp-short-function-Metric-Space From e30464a554f31b05e2be6b1192b7a001fedeb101 Mon Sep 17 00:00:00 2001 From: malarbol Date: Thu, 11 Dec 2025 19:00:40 +0100 Subject: [PATCH 41/41] fix name --- ...auchy-approximations-short-maps-metric-spaces.lagda.md | 8 ++++---- ...-space-of-cauchy-approximations-metric-spaces.lagda.md | 8 ++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) 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 index f207c391f2d..a4f3e6afe9a 100644 --- 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 @@ -52,11 +52,11 @@ module _ (f : short-function-Metric-Space A B) where - short-map-cauchy-approximation-short-function-Metric-Space : + short-map-cauchy-pseudocompletion-short-function-Metric-Space : short-function-Pseudometric-Space ( cauchy-pseudocompletion-Metric-Space A) ( cauchy-pseudocompletion-Metric-Space B) - short-map-cauchy-approximation-short-function-Metric-Space = + short-map-cauchy-pseudocompletion-short-function-Metric-Space = short-map-cauchy-approximation-short-function-Pseudometric-Space ( pseudometric-Metric-Space A) ( pseudometric-Metric-Space B) @@ -69,7 +69,7 @@ module _ map-short-function-Pseudometric-Space ( cauchy-pseudocompletion-Metric-Space A) ( cauchy-pseudocompletion-Metric-Space B) - ( short-map-cauchy-approximation-short-function-Metric-Space) + ( short-map-cauchy-pseudocompletion-short-function-Metric-Space) preserves-neighborhoods-map-cauchy-approximation-short-function-Metric-Space : is-short-function-Pseudometric-Space @@ -80,7 +80,7 @@ module _ is-short-map-short-function-Pseudometric-Space ( cauchy-pseudocompletion-Metric-Space A) ( cauchy-pseudocompletion-Metric-Space B) - ( short-map-cauchy-approximation-short-function-Metric-Space) + ( short-map-cauchy-pseudocompletion-short-function-Metric-Space) ``` ## Properties 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 e044fdbc746..bf3bf5b2997 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 @@ -103,6 +103,14 @@ module _ ( map-cauchy-approximation-Metric-Space A x δ) ( map-cauchy-approximation-Metric-Space A y δ) ( Nxy δ) + + short-map-cauchy-approximation-short-function-Metric-Space : + short-function-Metric-Space + ( metric-space-of-cauchy-approximations-Metric-Space A) + ( metric-space-of-cauchy-approximations-Metric-Space B) + short-map-cauchy-approximation-short-function-Metric-Space = + map-cauchy-approximation-short-function-Metric-Space A B f , + is-short-map-cauchy-approximation-short-function-Metric-Space ``` ### Swapping the arguments of a Cauchy approximation of Cauchy approximations produces a Cauchy approximation