Skip to content

Commit 7b66474

Browse files
authored
Universal property of Cauchy pseudocompletions and short maps of pseudometric spaces (#1818)
This PR introduces the concept of **precomplete** short maps `f : P → M` from a pseudometric space in a metric space: short maps such that for all Cauchy approximation `u : C P`, `Cf u` is convergent in `M`. Precomplete short maps extend along the unit map of Cauchy pseudocompletions `κ : P → C P`: if `f` is precomplete, there exists some `g : C P → M` such that `f ~ g ∘ κ`. Then, we prove the universal property of Cauchy pseudocompletions of pseudometric spaces w.r.t. short maps to metric spaces: Given a metric space `M` and a pseudometric space `P`, precomposition with the unit map of Cauchy pseudocompletions `κ : P → C P` maps short maps `g : C P → M` to short maps `g ∘ κ : P → M`. For any Cauchy approximation `u : C P`, its pointwise image `C(g ∘ κ) u : C M` converges to `g u` so `g` is determined by its restriction to `P`, `g ∘ κ`, which is precomplete. Therefore, extensions of short maps `f : P → M` along the unit map of Cauchy pseudocompletions `κ : P → C P` are unique and exist iff `f` is **precomplete**. In particular, a metric space `M` is _complete_ if and only if the unit map `κ : M → C M` has a short retraction, i.e. a short map `lim : C M → M` such that `lim ∘ κ ~ id`.
1 parent a23557e commit 7b66474

14 files changed

Lines changed: 1974 additions & 345 deletions

src/metric-spaces.lagda.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@ open import metric-spaces.poset-of-rational-neighborhood-relations public
163163
open import metric-spaces.precategory-of-metric-spaces-and-isometries public
164164
open import metric-spaces.precategory-of-metric-spaces-and-maps public
165165
open import metric-spaces.precategory-of-metric-spaces-and-short-maps public
166+
open import metric-spaces.precomplete-short-maps-pseudometric-spaces public
166167
open import metric-spaces.preimages-rational-neighborhood-relations public
167168
open import metric-spaces.pseudometric-spaces public
168169
open import metric-spaces.rational-approximations-of-zero public
@@ -186,6 +187,7 @@ open import metric-spaces.uniform-limit-theorem-uniformly-continuous-maps-metric
186187
open import metric-spaces.uniformly-continuous-maps-metric-spaces public
187188
open import metric-spaces.unit-map-metric-quotients-of-pseudometric-spaces public
188189
open import metric-spaces.universal-property-isometries-metric-quotients-of-pseudometric-spaces public
190+
open import metric-spaces.universal-property-short-maps-cauchy-pseudocompletions-of-pseudometric-spaces public
189191
open import metric-spaces.universal-property-short-maps-metric-quotients-of-pseudometric-spaces public
190192
```
191193

src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,19 @@ module _
110110

111111
```agda
112112
module _
113-
{ l1 l2 : Level} (A : Metric-Space l1 l2)
114-
{ f g : cauchy-approximation-Metric-Space A}
115-
( f~g :
113+
{l1 l2 : Level} (A : Metric-Space l1 l2)
114+
(f g : cauchy-approximation-Metric-Space A)
115+
where
116+
117+
htpy-map-cauchy-approximation-Metric-Space : UU l1
118+
htpy-map-cauchy-approximation-Metric-Space =
116119
map-cauchy-approximation-Metric-Space A f ~
117-
map-cauchy-approximation-Metric-Space A g)
120+
map-cauchy-approximation-Metric-Space A g
121+
122+
module _
123+
{l1 l2 : Level} (A : Metric-Space l1 l2)
124+
{f g : cauchy-approximation-Metric-Space A}
125+
(f~g : htpy-map-cauchy-approximation-Metric-Space A f g)
118126
where
119127
120128
eq-htpy-cauchy-approximation-Metric-Space : f = g

src/metric-spaces/cauchy-approximations-pseudometric-spaces.lagda.md

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,14 +108,23 @@ module _
108108

109109
```agda
110110
module _
111-
{ l1 l2 : Level} (A : Pseudometric-Space l1 l2)
112-
{ f g : cauchy-approximation-Pseudometric-Space A}
113-
( f~g :
111+
{l1 l2 : Level} (A : Pseudometric-Space l1 l2)
112+
(f g : cauchy-approximation-Pseudometric-Space A)
113+
where
114+
115+
htpy-map-cauchy-approximation-Pseudometric-Space : UU l1
116+
htpy-map-cauchy-approximation-Pseudometric-Space =
114117
map-cauchy-approximation-Pseudometric-Space A f ~
115-
map-cauchy-approximation-Pseudometric-Space A g)
118+
map-cauchy-approximation-Pseudometric-Space A g
119+
120+
module _
121+
{l1 l2 : Level} (A : Pseudometric-Space l1 l2)
122+
{f g : cauchy-approximation-Pseudometric-Space A}
123+
(f~g : htpy-map-cauchy-approximation-Pseudometric-Space A f g)
116124
where
117125
118-
eq-htpy-cauchy-approximation-Pseudometric-Space : f = g
126+
eq-htpy-cauchy-approximation-Pseudometric-Space :
127+
f = g
119128
eq-htpy-cauchy-approximation-Pseudometric-Space =
120129
eq-type-subtype
121130
( is-cauchy-approximation-prop-Pseudometric-Space A)

0 commit comments

Comments
 (0)