diff --git a/src/metric-spaces.lagda.md b/src/metric-spaces.lagda.md
index 4dd23a4e05..1a1c144508 100644
--- a/src/metric-spaces.lagda.md
+++ b/src/metric-spaces.lagda.md
@@ -65,6 +65,8 @@ open import metric-spaces.category-of-metric-spaces-and-short-functions 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
+open import metric-spaces.cauchy-precompletion-of-metric-spaces public
+open import metric-spaces.cauchy-precompletion-of-pseudometric-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/cauchy-precompletion-of-metric-spaces.lagda.md b/src/metric-spaces/cauchy-precompletion-of-metric-spaces.lagda.md
new file mode 100644
index 0000000000..45cc5b4dc8
--- /dev/null
+++ b/src/metric-spaces/cauchy-precompletion-of-metric-spaces.lagda.md
@@ -0,0 +1,380 @@
+# The Cauchy precompletion of a metric space
+
+```agda
+{-# OPTIONS --lossy-unification #-}
+
+module metric-spaces.cauchy-precompletion-of-metric-spaces where
+```
+
+Imports
+
+```agda
+open import category-theory.isomorphisms-in-precategories
+
+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.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-spaces
+open import metric-spaces.cauchy-approximations-pseudometric-spaces
+open import metric-spaces.cauchy-precompletion-of-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
+
+The
+{{#concept "Cauchy precompletion" Disambiguation="of a metric space Agda=cauchy-precompletion-Metric-Space}}
+of a [metric space](metric-spaces.metric-spaces.md) `M` is the
+[Cauchy precompletion](metric-spaces.cauchy-precompletion-of-pseudometric-spaces.md)
+of its underlying [pseudometric space](metric-spaces.pseudometric-spaces.md),
+i.e., the
+[metric quotient](metric-spaces.metric-quotients-of-pseudometric-spaces.md)
+`[C M]` of its
+[Cauchy pseudocompletion](metric-spaces.cauchy-pseudocompletion-of-metric-spaces.md)
+`C M`.
+
+The natural [isometry](metric-spaces.isometries-metric-spaces.md)
+
+```text
+M → [C M]
+```
+
+is an [equivalence](foundation.equivalences.md) if and only if `M` is
+[complete](metric-spaces.complete-metric-spaces.md).
+
+## Definitions
+
+### The Cauchy precompletion of a metric space
+
+```agda
+module _
+ {l1 l2 : Level} (M : Metric-Space l1 l2)
+ where
+
+ cauchy-precompletion-Metric-Space :
+ Metric-Space (l1 ⊔ l2) (l1 ⊔ l2)
+ cauchy-precompletion-Metric-Space =
+ cauchy-precompletion-Pseudometric-Space
+ ( pseudometric-Metric-Space M)
+
+ pseudometric-cauchy-precompletion-Metric-Space :
+ Pseudometric-Space (l1 ⊔ l2) (l1 ⊔ l2)
+ pseudometric-cauchy-precompletion-Metric-Space =
+ pseudometric-Metric-Space
+ cauchy-precompletion-Metric-Space
+
+ type-cauchy-precompletion-Metric-Space : UU (l1 ⊔ l2)
+ type-cauchy-precompletion-Metric-Space =
+ type-Metric-Space cauchy-precompletion-Metric-Space
+```
+
+### The isometry from the Cauchy pseudocompletion of a metric space into its Cauchy precompletion
+
+```agda
+module _
+ {l1 l2 : Level} (M : Metric-Space l1 l2)
+ where
+
+ isometry-cauchy-precompletion-cauchy-pseudocompletion-Metric-Space :
+ isometry-Pseudometric-Space
+ ( cauchy-pseudocompletion-Metric-Space M)
+ ( pseudometric-cauchy-precompletion-Metric-Space M)
+ isometry-cauchy-precompletion-cauchy-pseudocompletion-Metric-Space =
+ isometry-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( pseudometric-Metric-Space M)
+
+ map-cauchy-precompletion-cauchy-pseudocompletion-Metric-Space :
+ type-function-Pseudometric-Space
+ ( cauchy-pseudocompletion-Metric-Space M)
+ ( pseudometric-cauchy-precompletion-Metric-Space M)
+ map-cauchy-precompletion-cauchy-pseudocompletion-Metric-Space =
+ map-isometry-Pseudometric-Space
+ ( cauchy-pseudocompletion-Metric-Space M)
+ ( pseudometric-cauchy-precompletion-Metric-Space M)
+ ( isometry-cauchy-precompletion-cauchy-pseudocompletion-Metric-Space)
+```
+
+### The isometry from a metric space into its Cauchy precompletion
+
+```agda
+module _
+ {l1 l2 : Level} (M : Metric-Space l1 l2)
+ where
+
+ isometry-cauchy-precompletion-Metric-Space :
+ isometry-Metric-Space
+ ( M)
+ ( cauchy-precompletion-Metric-Space M)
+ isometry-cauchy-precompletion-Metric-Space =
+ isometry-cauchy-precompletion-Pseudometric-Space
+ ( pseudometric-Metric-Space M)
+
+ map-cauchy-precompletion-Metric-Space :
+ type-function-Metric-Space
+ ( M)
+ ( cauchy-precompletion-Metric-Space M)
+ map-cauchy-precompletion-Metric-Space =
+ map-isometry-Metric-Space
+ ( M)
+ ( cauchy-precompletion-Metric-Space M)
+ ( isometry-cauchy-precompletion-Metric-Space)
+
+ is-isometry-map-cauchy-precompletion-Metric-Space :
+ is-isometry-Metric-Space
+ ( M)
+ ( cauchy-precompletion-Metric-Space M)
+ ( map-cauchy-precompletion-Metric-Space)
+ is-isometry-map-cauchy-precompletion-Metric-Space =
+ is-isometry-map-isometry-Metric-Space
+ ( M)
+ ( cauchy-precompletion-Metric-Space M)
+ ( isometry-cauchy-precompletion-Metric-Space)
+```
+
+## Properties
+
+### The mapping from a complete metric space into its Cauchy precompletion is an isometric equivalence
+
+```agda
+module _
+ {l1 l2 : Level} (M : Metric-Space l1 l2)
+ (is-complete-M : is-complete-Metric-Space M)
+ where
+
+ short-map-lim-cauchy-precompletion-is-complete-Metric-Space :
+ short-function-Metric-Space
+ ( cauchy-precompletion-Metric-Space M)
+ ( M)
+ short-map-lim-cauchy-precompletion-is-complete-Metric-Space =
+ short-map-short-function-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Metric-Space M)
+ ( M)
+ ( short-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space
+ ( M)
+ ( is-complete-M))
+
+ map-lim-cauchy-precompletion-is-complete-Metric-Space :
+ type-function-Metric-Space
+ ( cauchy-precompletion-Metric-Space M)
+ ( M)
+ map-lim-cauchy-precompletion-is-complete-Metric-Space =
+ map-short-function-Metric-Space
+ ( cauchy-precompletion-Metric-Space M)
+ ( M)
+ ( short-map-lim-cauchy-precompletion-is-complete-Metric-Space)
+
+ is-short-map-lim-cauchy-precompletion-is-completr-Metric-Space :
+ is-short-function-Metric-Space
+ ( cauchy-precompletion-Metric-Space M)
+ ( M)
+ ( map-lim-cauchy-precompletion-is-complete-Metric-Space)
+ is-short-map-lim-cauchy-precompletion-is-completr-Metric-Space =
+ is-short-map-short-function-Metric-Space
+ ( cauchy-precompletion-Metric-Space M)
+ ( M)
+ ( short-map-lim-cauchy-precompletion-is-complete-Metric-Space)
+
+ compute-map-lim-cauchy-precompletion-is-complete-Metric-Space :
+ (X : type-cauchy-precompletion-Metric-Space M) →
+ (x : cauchy-approximation-Metric-Space M) →
+ is-in-class-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Metric-Space M)
+ ( X)
+ ( x) →
+ map-lim-cauchy-precompletion-is-complete-Metric-Space X =
+ limit-cauchy-approximation-Complete-Metric-Space
+ ( M , is-complete-M)
+ ( x)
+ compute-map-lim-cauchy-precompletion-is-complete-Metric-Space =
+ compute-map-short-function-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Metric-Space M)
+ ( M)
+ ( short-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space
+ ( M)
+ (is-complete-M))
+
+ is-section-map-cauchy-precompletion-is-complete-Metric-Space :
+ ( map-cauchy-precompletion-Metric-Space M ∘
+ map-lim-cauchy-precompletion-is-complete-Metric-Space) ~
+ ( id)
+ is-section-map-cauchy-precompletion-is-complete-Metric-Space U =
+ let
+ open
+ do-syntax-trunc-Prop
+ ( Id-Prop
+ ( set-Metric-Space
+ ( cauchy-precompletion-Metric-Space M))
+ ( map-cauchy-precompletion-Metric-Space M
+ ( map-lim-cauchy-precompletion-is-complete-Metric-Space U))
+ ( U))
+ in do
+ (u , u∈U) ←
+ is-inhabited-class-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Metric-Space M)
+ ( U)
+ let
+ lim-u : type-Metric-Space M
+ lim-u =
+ limit-cauchy-approximation-Complete-Metric-Space
+ ( M , is-complete-M)
+ ( u)
+
+ compute-map-lim-U :
+ map-lim-cauchy-precompletion-is-complete-Metric-Space U = lim-u
+ compute-map-lim-U =
+ compute-map-lim-cauchy-precompletion-is-complete-Metric-Space
+ ( U)
+ ( u)
+ ( u∈U)
+
+ sim-u-lim-u :
+ sim-Pseudometric-Space
+ ( cauchy-pseudocompletion-Metric-Space M)
+ ( u)
+ ( const-cauchy-approximation-Metric-Space
+ ( M)
+ ( lim-u))
+ sim-u-lim-u =
+ sim-const-is-limit-cauchy-approximation-Metric-Space
+ ( M)
+ ( u)
+ ( lim-u)
+ ( is-limit-map-lim-cauchy-pseudocompletion-is-complete-Metric-Space
+ ( M)
+ ( is-complete-M)
+ ( u))
+
+ [u]=[lim-u] :
+ ( map-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Metric-Space M)
+ ( u)) =
+ ( map-cauchy-precompletion-Metric-Space M lim-u)
+ [u]=[lim-u] =
+ apply-effectiveness-quotient-map'
+ ( equivalence-relation-sim-Pseudometric-Space
+ ( cauchy-pseudocompletion-Metric-Space M))
+ ( sim-u-lim-u)
+ ( ( ap
+ ( map-cauchy-precompletion-Metric-Space M)
+ ( compute-map-lim-U)) ∙
+ ( inv [u]=[lim-u]) ∙
+ ( eq-set-quotient-equivalence-class-set-quotient
+ ( equivalence-relation-sim-Pseudometric-Space
+ ( cauchy-pseudocompletion-Metric-Space M))
+ ( U)
+ ( u∈U)))
+
+ is-retraction-map-cauchy-precompletion-is-complete-Metric-Space :
+ ( map-lim-cauchy-precompletion-is-complete-Metric-Space ∘
+ map-cauchy-precompletion-Metric-Space M) ~
+ ( id)
+ is-retraction-map-cauchy-precompletion-is-complete-Metric-Space x =
+ ( compute-map-lim-cauchy-precompletion-is-complete-Metric-Space
+ ( map-cauchy-precompletion-Metric-Space M x)
+ ( const-cauchy-approximation-Metric-Space M x)
+ ( is-in-class-map-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Metric-Space M)
+ ( const-cauchy-approximation-Metric-Space M x))) ∙
+ ( is-retraction-limit-cauchy-approximation-Complete-Metric-Space
+ ( M , is-complete-M)
+ ( x))
+
+ is-equiv-map-cauchy-precompletion-is-complete-Metric-Space :
+ is-equiv
+ ( map-cauchy-precompletion-Metric-Space M)
+ is-equiv-map-cauchy-precompletion-is-complete-Metric-Space =
+ is-equiv-is-invertible
+ ( map-lim-cauchy-precompletion-is-complete-Metric-Space)
+ ( is-section-map-cauchy-precompletion-is-complete-Metric-Space)
+ ( is-retraction-map-cauchy-precompletion-is-complete-Metric-Space)
+
+ isometric-equiv-cauchy-precompletion-is-complete-Metric-Space' :
+ isometric-equiv-Metric-Space'
+ ( M)
+ ( cauchy-precompletion-Metric-Space M)
+ isometric-equiv-cauchy-precompletion-is-complete-Metric-Space' =
+ ( map-cauchy-precompletion-Metric-Space M ,
+ is-equiv-map-cauchy-precompletion-is-complete-Metric-Space ,
+ is-isometry-map-cauchy-precompletion-Metric-Space M)
+```
+
+### If the mapping from a metric space into its Cauchy precompletion is an equivalence, the metric space is complete
+
+```agda
+module _
+ {l1 l2 : Level} (M : Metric-Space l1 l2)
+ where
+
+ is-complete-is-equiv-map-cauchy-precompletion-Metric-Space :
+ is-equiv (map-cauchy-precompletion-Metric-Space M) →
+ is-complete-Metric-Space M
+ is-complete-is-equiv-map-cauchy-precompletion-Metric-Space H u =
+ (lim-u , is-limit-lim-u)
+ where
+
+ lim-u : type-Metric-Space M
+ lim-u =
+ map-inv-is-equiv
+ ( H)
+ ( map-cauchy-precompletion-cauchy-pseudocompletion-Metric-Space
+ ( M)
+ ( u))
+
+ is-limit-lim-u :
+ is-limit-cauchy-approximation-Metric-Space
+ ( M)
+ ( u)
+ ( lim-u)
+ is-limit-lim-u =
+ is-limit-sim-const-cauchy-approximation-Metric-Space
+ ( M)
+ ( u)
+ ( lim-u)
+ ( apply-effectiveness-quotient-map
+ ( equivalence-relation-sim-Pseudometric-Space
+ ( cauchy-pseudocompletion-Metric-Space M))
+ ( inv
+ ( is-section-map-section-is-equiv
+ ( H)
+ ( map-cauchy-precompletion-cauchy-pseudocompletion-Metric-Space
+ ( M)
+ ( u)))))
+```
diff --git a/src/metric-spaces/cauchy-precompletion-of-pseudometric-spaces.lagda.md b/src/metric-spaces/cauchy-precompletion-of-pseudometric-spaces.lagda.md
new file mode 100644
index 0000000000..ab54c62874
--- /dev/null
+++ b/src/metric-spaces/cauchy-precompletion-of-pseudometric-spaces.lagda.md
@@ -0,0 +1,801 @@
+# The Cauchy precompletion of a pseudometric space
+
+```agda
+module metric-spaces.cauchy-precompletion-of-pseudometric-spaces where
+```
+
+Imports
+
+```agda
+open import category-theory.isomorphisms-in-precategories
+
+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.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-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-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
+
+Let `M` be a [pseudometric space](metric-spaces.pseudometric-spaces.md) and
+`C M` denote its
+[Cauchy pseudocompletion](metric-spaces.cauchy-pseudocompletion-of-pseudometric-spaces.md);
+the
+{{#concept "Cauchy precompletion" Disambiguation="of a pseudometric space" Agda=cauchy-precompletion-Pseudometric-Space}}
+of `M` is the
+[metric quotient](metric-spaces.metric-quotients-of-pseudometric-spaces.md)
+
+```text
+[C M] = C M / ~
+```
+
+There are [isometries](metric-spaces.isometries-pseudometric-spaces.md)
+
+```text
+M → C M → [C M]
+```
+
+The Cauchy precompletion of the Cauchy pseudocompletion of a pseudometric space
+is the Cauchy precompletion of the pseudometric space:
+
+```text
+[C (C M)] = [C M]
+```
+
+A [Cauchy approximation](metric-spaces.cauchy-approximations-metric-spaces.md)
+in `[C M]`, `f : C [C M]` is
+[convergent](metric-spaces.convergent-cauchy-approximations-metric-spaces.md) if
+and only if it is
+[similar](metric-spaces.similarity-of-elements-pseudometric-spaces.md) in
+`C [C M]` to the
+[pointwise quotient](metric-spaces.cauchy-approximations-metric-quotients-of-pseudometric-spaces.md)
+of some
+[Cauchy approximation](metric-spaces.cauchy-approximations-pseudometric-spaces.md)
+`g : C (C M)`.
+
+## Definition
+
+### The Cauchy precompletion of a pseudometric space
+
+```agda
+module _
+ {l1 l2 : Level} (P : Pseudometric-Space l1 l2)
+ where
+
+ cauchy-precompletion-Pseudometric-Space :
+ Metric-Space (l1 ⊔ l2) (l1 ⊔ l2)
+ cauchy-precompletion-Pseudometric-Space =
+ metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+
+ pseudometric-cauchy-precompletion-Pseudometric-Space :
+ Pseudometric-Space (l1 ⊔ l2) (l1 ⊔ l2)
+ pseudometric-cauchy-precompletion-Pseudometric-Space =
+ pseudometric-Metric-Space
+ cauchy-precompletion-Pseudometric-Space
+
+ type-cauchy-precompletion-Pseudometric-Space : UU (l1 ⊔ l2)
+ type-cauchy-precompletion-Pseudometric-Space =
+ type-Metric-Space cauchy-precompletion-Pseudometric-Space
+```
+
+### The Cauchy precompletion of the Cauchy pseudocompletion of a pseudometric space
+
+```agda
+module _
+ {l1 l2 : Level} (P : Pseudometric-Space l1 l2)
+ where
+
+ cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space :
+ Metric-Space (l1 ⊔ l2) (l1 ⊔ l2)
+ cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space =
+ cauchy-precompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+```
+
+## Properties
+
+### The isometry from the Cauchy pseudocompletion of a pseudometric space into its Cauchy precompletion
+
+```agda
+module _
+ {l1 l2 : Level} (P : Pseudometric-Space l1 l2)
+ where
+
+ isometry-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space :
+ isometry-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( pseudometric-cauchy-precompletion-Pseudometric-Space P)
+ isometry-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space =
+ isometry-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+```
+
+### The isometry from a pseudometric space into its Cauchy precompletion
+
+```agda
+module _
+ {l1 l2 : Level} (P : Pseudometric-Space l1 l2)
+ where
+
+ isometry-cauchy-precompletion-Pseudometric-Space :
+ isometry-Pseudometric-Space
+ ( P)
+ ( pseudometric-cauchy-precompletion-Pseudometric-Space P)
+ isometry-cauchy-precompletion-Pseudometric-Space =
+ comp-isometry-Pseudometric-Space
+ ( P)
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( pseudometric-cauchy-precompletion-Pseudometric-Space P)
+ ( isometry-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( P))
+ ( isometry-cauchy-pseudocompletion-Pseudometric-Space P)
+```
+
+### The isometry from the Cauchy pseudocompletion of the Cauchy pseudocompletion into the Cauchy precompletion
+
+```agda
+module _
+ { l1 l2 : Level} (P : Pseudometric-Space l1 l2)
+ where
+
+ isometry-cauchy-precompletion-cauchy-pseudocompletion²-Pseudometric-Space :
+ isometry-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( pseudometric-cauchy-precompletion-Pseudometric-Space P)
+ isometry-cauchy-precompletion-cauchy-pseudocompletion²-Pseudometric-Space =
+ comp-isometry-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( pseudometric-cauchy-precompletion-Pseudometric-Space P)
+ ( isometry-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( isometry-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P))
+
+ short-map-cauchy-precompletion-cauchy-pseudocompletion²-Pseudometric-Space :
+ short-function-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( pseudometric-cauchy-precompletion-Pseudometric-Space P)
+ short-map-cauchy-precompletion-cauchy-pseudocompletion²-Pseudometric-Space =
+ short-isometry-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( pseudometric-cauchy-precompletion-Pseudometric-Space P)
+ ( isometry-cauchy-precompletion-cauchy-pseudocompletion²-Pseudometric-Space)
+```
+
+### The short isomorphism from the Cauchy precompletion of the Cauchy pseudocompletion of a pseudometric space into its Cauchy precompletion
+
+```agda
+module _
+ {l1 l2 : Level} (P : Pseudometric-Space l1 l2)
+ where
+
+ short-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space :
+ short-function-Metric-Space
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space P)
+ ( cauchy-precompletion-Pseudometric-Space P)
+ short-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space =
+ short-map-short-function-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( short-map-cauchy-precompletion-cauchy-pseudocompletion²-Pseudometric-Space
+ ( P))
+
+ map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space :
+ type-function-Metric-Space
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space P)
+ ( cauchy-precompletion-Pseudometric-Space P)
+ map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space =
+ map-short-function-Metric-Space
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space P)
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( short-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space)
+
+ compute-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space :
+ ( X :
+ type-cauchy-precompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)) →
+ ( x :
+ cauchy-approximation-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)) →
+ is-in-class-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( X)
+ ( x) →
+ map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space X =
+ map-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)
+ ( x))
+ compute-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ =
+ compute-map-short-function-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( short-map-cauchy-precompletion-cauchy-pseudocompletion²-Pseudometric-Space
+ ( P))
+
+ short-map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space :
+ short-function-Metric-Space
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space P)
+ short-map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space =
+ short-map-short-function-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space P)
+ ( comp-short-function-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( pseudometric-cauchy-precompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( short-map-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)))
+ ( short-map-cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)))
+
+ map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space :
+ type-function-Metric-Space
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space P)
+ map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space =
+ map-short-function-Metric-Space
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space P)
+ ( short-map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space)
+
+ compute-map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space :
+ (X : type-cauchy-precompletion-Pseudometric-Space P) →
+ (x : cauchy-approximation-Pseudometric-Space P) →
+ is-in-class-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( X)
+ ( x) →
+ map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( X) =
+ map-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( map-cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( x))
+ compute-map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ =
+ compute-map-short-function-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space P)
+ ( comp-short-function-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( pseudometric-cauchy-precompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( short-map-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)))
+ ( short-map-cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)))
+
+ is-section-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space :
+ ( map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space ∘
+ map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space) ~
+ id
+ is-section-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ X =
+ let
+ open
+ do-syntax-trunc-Prop
+ ( Id-Prop
+ ( set-Metric-Space
+ ( cauchy-precompletion-Pseudometric-Space P))
+ ( map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( X)))
+ ( X))
+ in do
+ ( x , x∈X) ←
+ is-inhabited-class-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( X)
+ let
+ map-inv-X =
+ map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( X)
+
+ compute-map-inv-X :
+ map-inv-X =
+ map-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( map-cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( x))
+ compute-map-inv-X =
+ compute-map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( X)
+ ( x)
+ ( x∈X)
+
+ is-in-class-x :
+ is-in-class-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( map-inv-X)
+ ( map-cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( x))
+ is-in-class-x =
+ inv-tr
+ ( λ Y →
+ is-in-class-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( Y)
+ ( map-cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( x)))
+ ( compute-map-inv-X)
+ ( is-in-class-map-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( map-cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( x)))
+
+ compute-map :
+ map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( map-inv-X) =
+ map-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)
+ ( map-cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( x)))
+ compute-map =
+ compute-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( map-inv-X)
+ ( map-cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( x))
+ ( is-in-class-x)
+
+ compute-quotient-lim :
+ map-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)
+ ( map-cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( x))) =
+ map-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( x)
+ compute-quotient-lim =
+ apply-effectiveness-quotient-map'
+ ( equivalence-relation-sim-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( all-sim-is-limit-cauchy-approximation-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( map-cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( x))
+ ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)
+ ( map-cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( x)))
+ ( x)
+ ( is-limit-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)
+ ( map-cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( x)))
+ ( is-limit-const-cauchy-approximation-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( x)))
+
+ compute-quotient-x :
+ map-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( x) = X
+ compute-quotient-x =
+ eq-set-quotient-equivalence-class-set-quotient
+ ( equivalence-relation-sim-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( X)
+ ( x∈X)
+
+ ( compute-map ∙
+ compute-quotient-lim ∙
+ compute-quotient-x)
+
+ is-retraction-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space :
+ ( map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space ∘
+ map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space)
+ ~
+ id
+ is-retraction-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ X =
+ let
+ open
+ do-syntax-trunc-Prop
+ ( Id-Prop
+ ( set-Metric-Space
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)))
+ ( map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( X)))
+ ( X))
+
+ in do
+ ( x , x∈X) ←
+ is-inhabited-class-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( X)
+ let
+ map-X =
+ map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( X)
+
+ compute-map-X :
+ map-X =
+ map-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)
+ ( x))
+ compute-map-X =
+ compute-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( X)
+ ( x)
+ ( x∈X)
+
+ is-in-class-map-X :
+ is-in-class-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( map-X)
+ ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)
+ ( x))
+ is-in-class-map-X =
+ inv-tr
+ ( λ Y →
+ is-in-class-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( Y)
+ ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)
+ ( x)))
+ ( compute-map-X)
+ ( is-in-class-map-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)
+ ( x)))
+
+ compute-map-inv :
+ map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( map-X) =
+ map-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( map-cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)
+ ( x)))
+ compute-map-inv =
+ compute-map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( map-X)
+ ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)
+ ( x))
+ ( is-in-class-map-X)
+
+ compute-map-quotient-lim :
+ map-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( map-cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)
+ ( x))) =
+ map-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( x)
+ compute-map-quotient-lim =
+ apply-effectiveness-quotient-map'
+ ( equivalence-relation-sim-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)))
+ ( symmetric-sim-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( x)
+ ( map-cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)
+ ( x)))
+ ( sim-const-is-limit-cauchy-approximation-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( x)
+ ( lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)
+ ( x))
+ ( is-limit-lim-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)
+ ( x))))
+
+ compute-quotient-x :
+ map-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( x) =
+ X
+ compute-quotient-x =
+ eq-set-quotient-equivalence-class-set-quotient
+ ( equivalence-relation-sim-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)))
+ ( X)
+ ( x∈X)
+
+ ( compute-map-inv ∙
+ compute-map-quotient-lim ∙
+ compute-quotient-x)
+
+ is-iso-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space :
+ is-iso-Precategory
+ precategory-short-function-Metric-Space
+ { cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space P}
+ { cauchy-precompletion-Pseudometric-Space P}
+ short-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ pr1
+ is-iso-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ =
+ short-map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ pr2
+ is-iso-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ =
+ ( ( eq-htpy-map-short-function-Metric-Space
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( comp-short-function-Metric-Space
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( P))
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( short-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space)
+ ( short-map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space))
+ ( short-id-Metric-Space
+ ( cauchy-precompletion-Pseudometric-Space P))
+ ( is-section-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space)) ,
+ ( eq-htpy-map-short-function-Metric-Space
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space P)
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space P)
+ ( comp-short-function-Metric-Space
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( P))
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( P))
+ ( short-map-inv-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space)
+ ( short-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space))
+ ( short-id-Metric-Space
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)))
+ ( is-retraction-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space)))
+
+ iso-metric-pseudocompeletion-cauchy-pseudocompletion-Pseudometric-Space :
+ iso-Precategory
+ ( precategory-short-function-Metric-Space)
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space P)
+ ( cauchy-precompletion-Pseudometric-Space P)
+ iso-metric-pseudocompeletion-cauchy-pseudocompletion-Pseudometric-Space =
+ ( short-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space ,
+ is-iso-map-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space)
+```
+
+### The equality between the Cauchy precompletion of the Cauchy pseudocompletion of a pseudometric space and its Cauchy precompletion
+
+```agda
+module _
+ {l1 l2 : Level} (P : Pseudometric-Space l1 l2)
+ where
+
+ eq-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space :
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space P) =
+ ( cauchy-precompletion-Pseudometric-Space P)
+ eq-cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space =
+ eq-isometric-equiv-Metric-Space'
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space P)
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( map-equiv-isometric-equiv-iso-short-function-Metric-Space'
+ ( cauchy-precompletion-cauchy-pseudocompletion-Pseudometric-Space P)
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( iso-metric-pseudocompeletion-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)))
+```
+
+### Cauchy approximations similar to pointwise quotient of Cauchy approximations in the Cauchy pseudocompletion are convergent
+
+```agda
+module _
+ {l1 l2 : Level} (P : Pseudometric-Space l1 l2)
+ ( u :
+ cauchy-approximation-Metric-Space
+ ( cauchy-precompletion-Pseudometric-Space P))
+ where
+
+ is-convergent-has-lift-cauchy-approximation-cauchy-precompletion-Pseudometric-Space :
+ has-lift-cauchy-approximation-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( u) →
+ is-convergent-cauchy-approximation-Metric-Space
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( u)
+ is-convergent-has-lift-cauchy-approximation-cauchy-precompletion-Pseudometric-Space
+ sim-lift =
+ let
+ open
+ do-syntax-trunc-Prop
+ ( is-convergent-prop-cauchy-approximation-Metric-Space
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( u))
+ in do
+ ( v , u~[v]) ← sim-lift
+ let
+ ( lim-v , is-lim-v) =
+ has-limit-cauchy-approximation-cauchy-pseudocompletion-Pseudometric-Space
+ ( P)
+ ( v)
+
+ lim-u =
+ map-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( lim-v)
+
+ is-lim[v]-lim-u :
+ is-limit-cauchy-approximation-Metric-Space
+ ( metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P))
+ ( map-metric-quotient-cauchy-approximation-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( v))
+ ( lim-u)
+ is-lim[v]-lim-u =
+ preserves-limit-map-metric-quotient-cauchy-approximation-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( v)
+ ( lim-v)
+ ( is-lim-v)
+
+ [lim-u] =
+ const-cauchy-approximation-Metric-Space
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( lim-u)
+
+ u~[lim-u] :
+ sim-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( pseudometric-cauchy-precompletion-Pseudometric-Space P))
+ ( u)
+ ( [lim-u])
+ u~[lim-u] =
+ transitive-sim-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space
+ ( pseudometric-cauchy-precompletion-Pseudometric-Space P))
+ ( u)
+ ( map-metric-quotient-cauchy-approximation-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( v))
+ ( [lim-u])
+ ( sim-const-is-limit-cauchy-approximation-Pseudometric-Space
+ ( pseudometric-cauchy-precompletion-Pseudometric-Space P)
+ ( map-metric-quotient-cauchy-approximation-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( v))
+ ( lim-u)
+ ( is-lim[v]-lim-u))
+ ( u~[v])
+ ( ( lim-u) ,
+ ( is-limit-sim-const-cauchy-approximation-Pseudometric-Space
+ ( pseudometric-cauchy-precompletion-Pseudometric-Space P)
+ ( u)
+ ( lim-u)
+ ( u~[lim-u])))
+
+ iff-has-lift-is-convergent-cauchy-approximation-cauchy-precompletion-Pseudometric-Space :
+ is-convergent-cauchy-approximation-Metric-Space
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( u) ↔
+ has-lift-cauchy-approximation-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( u)
+ pr1
+ iff-has-lift-is-convergent-cauchy-approximation-cauchy-precompletion-Pseudometric-Space
+ =
+ has-lift-is-convergent-cauchy-approximation-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( u)
+ pr2
+ iff-has-lift-is-convergent-cauchy-approximation-cauchy-precompletion-Pseudometric-Space
+ =
+ is-convergent-has-lift-cauchy-approximation-cauchy-precompletion-Pseudometric-Space
+
+ equiv-has-lift-is-convergent-cauchy-approximation-cauchy-precompletion-Pseudometric-Space :
+ is-convergent-cauchy-approximation-Metric-Space
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( u) ≃
+ has-lift-cauchy-approximation-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( u)
+ equiv-has-lift-is-convergent-cauchy-approximation-cauchy-precompletion-Pseudometric-Space
+ =
+ equiv-iff
+ ( is-convergent-prop-cauchy-approximation-Metric-Space
+ ( cauchy-precompletion-Pseudometric-Space P)
+ ( u))
+ ( has-lift-prop-cauchy-approximation-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( u))
+ ( has-lift-is-convergent-cauchy-approximation-metric-quotient-Pseudometric-Space
+ ( cauchy-pseudocompletion-Pseudometric-Space P)
+ ( u))
+ ( is-convergent-has-lift-cauchy-approximation-cauchy-precompletion-Pseudometric-Space)
+```