Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
083d50e
pseudometric completion & metric quotients
malarbol Aug 30, 2025
74ee6e4
metric pseudocompletion
malarbol Aug 30, 2025
e808b04
fix header
malarbol Aug 30, 2025
989d712
cleanup
malarbol Aug 30, 2025
ae03fa6
Merge branch 'master' into pseudocompletion-pseudometric-spaces
malarbol Aug 30, 2025
1fce623
Merge branch 'master' into pseudocompletion-pseudometric-spaces
malarbol Sep 2, 2025
45db918
progress
malarbol Sep 4, 2025
d069616
Merge branch 'master' into pseudocompletion-pseudometric-spaces
malarbol Sep 8, 2025
2f0e529
fix names & misc lemmas
malarbol Sep 8, 2025
fc3ef5c
pseudometric completion of metric spaces
malarbol Sep 8, 2025
1701401
proof short-lim-pseudometric-completion-is-complete-Metric-Space
malarbol Sep 8, 2025
621891b
metric pseucompletion of metric spaces
malarbol Sep 9, 2025
2312b6a
Merge branch 'master' into pseudocompletion-pseudometric-spaces
malarbol Sep 9, 2025
4774d84
isometric equivalence metric pseudocompletion is-complete metric space
malarbol Sep 9, 2025
5c221c4
characterization of complete metric spaces via metric pseudocompletion
malarbol Sep 9, 2025
8bae8aa
abstract some definitions
malarbol Sep 9, 2025
d213b06
Merge branch 'master' into pseudocompletion-pseudometric-spaces
malarbol Oct 18, 2025
fec25fc
Merge branch 'master' into pseudocompletion-pseudometric-spaces
malarbol Oct 20, 2025
757de69
fix imports and signatures
malarbol Oct 20, 2025
23c4ddf
finish & refactor proofs
malarbol Oct 20, 2025
c7bdecb
fix parenthesis
malarbol Oct 20, 2025
8da27ea
remove empty line
malarbol Oct 20, 2025
37ffddf
Revert "remove empty line"
malarbol Oct 20, 2025
bb8227b
cleanup
malarbol Oct 20, 2025
9a17c2f
reorder and cleanup
malarbol Oct 20, 2025
2d16bf2
typo
malarbol Oct 20, 2025
5558f99
split module Cauchy approximations metric quotients
malarbol Oct 20, 2025
f4586d5
header & cleanup
malarbol Oct 20, 2025
0800c4d
fix duplicate link
malarbol Oct 20, 2025
18bd506
Merge branch 'master' into pseudocompletion-pseudometric-spaces
malarbol Oct 21, 2025
91abe4d
fix link
malarbol Oct 21, 2025
6861f07
format
malarbol Oct 21, 2025
45b0c25
header and cleanup
malarbol Oct 21, 2025
86c2f0b
headers & notation
malarbol Oct 21, 2025
be9891a
fix links
malarbol Oct 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions src/metric-spaces.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,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-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-sequences-complete-metric-spaces public
Expand Down Expand Up @@ -101,6 +102,9 @@ 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-pseudocompletion-of-metric-spaces public
open import metric-spaces.metric-pseudocompletion-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
open import metric-spaces.metric-space-of-convergent-cauchy-approximations-metric-spaces public
Expand All @@ -125,6 +129,8 @@ open import metric-spaces.precategory-of-metric-spaces-and-functions public
open import metric-spaces.precategory-of-metric-spaces-and-isometries public
open import metric-spaces.precategory-of-metric-spaces-and-short-functions public
open import metric-spaces.preimages-rational-neighborhood-relations public
open import metric-spaces.pseudometric-completion-of-metric-spaces public
open import metric-spaces.pseudometric-completion-of-pseudometric-spaces public
open import metric-spaces.pseudometric-spaces public
open import metric-spaces.rational-approximations-of-zero public
open import metric-spaces.rational-cauchy-approximations public
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,312 @@
# Cauchy approximations in metric quotients of pseudometric spaces

```agda
{-# OPTIONS --lossy-unification #-}

module metric-spaces.cauchy-approximations-metric-quotients-of-pseudometric-spaces where
```

<details><summary>Imports</summary>

```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.binary-transport
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
open import foundation.equivalence-classes
open import foundation.equivalences
open import foundation.existential-quantification
open import foundation.fibers-of-maps
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
open import foundation.homotopies
open import foundation.identity-types
open import foundation.inhabited-subtypes
open import foundation.logical-equivalences
open import foundation.propositional-truncations
open import foundation.propositions
open import foundation.reflecting-maps-equivalence-relations
open import foundation.retractions
open import foundation.sections
open import foundation.set-quotients
open import foundation.sets
open import foundation.subtypes
open import foundation.transport-along-identifications
open import foundation.universal-property-set-quotients
open import foundation.universe-levels

open import logic.functoriality-existential-quantification

open import metric-spaces.cauchy-approximations-metric-spaces
open import metric-spaces.cauchy-approximations-pseudometric-spaces
open import metric-spaces.convergent-cauchy-approximations-metric-spaces
open import metric-spaces.equality-of-metric-spaces
open import metric-spaces.extensionality-pseudometric-spaces
open import metric-spaces.functions-metric-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.pseudometric-completion-of-metric-spaces
open import metric-spaces.pseudometric-completion-of-pseudometric-spaces
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
```

</details>

## Idea

The pointwise [quotients](foundation.set-quotients.md) of
[Cauchy approximations](metric-spaces.cauchy-approximations-pseudometric-spaces.md)
by the
[similarity relation](metric-spaces.similarity-of-elements-pseudometric-spaces.md)
in a [pseudometric space](metric-spaces.pseudometric-spaces.md) are Cauchy
approximations in the
[metric quotient](metric-spaces.metric-quotients-of-pseudometric-spaces.md). A
Cauchy approximation in a the metric quotient of a pseudometric space has a
{{#concept "lift up to similarity" Agda=has-lift-cauchy-approximation-metric-quotient-Pseudometric-Space}}
if it is similar (in the
[pseudometric completion](metric-spaces.pseudometric-completion-of-metric-spaces.md)
of the metric quotient) to the pointwise quotient of
[some](foundation.existential-quantification.md) Cauchy approximation in the
pseudometric space.

The pointwise quotient of Cauchy approximations preserves
[limits](metric-spaces.limits-of-cauchy-approximations-pseudometric-spaces.md).
The pointwise quotient of a Cauchy approximation has a lift. A Cauchy
approximation that admits a
[limit](metric-spaces.limits-of-cauchy-approximations-pseudometric-spaces.md)
has a lift.

## Definitions

### The pointwise quotient Cauchy approximation of a Cauchy approximation in a pseudometric space

```agda
module _
{l1 l2 : Level} (M : Pseudometric-Space l1 l2)
where

map-metric-quotient-cauchy-approximation-Pseudometric-Space :
cauchy-approximation-Pseudometric-Space M →
cauchy-approximation-Metric-Space
( metric-quotient-Pseudometric-Space M)
map-metric-quotient-cauchy-approximation-Pseudometric-Space =
map-short-function-cauchy-approximation-Pseudometric-Space
( M)
( pseudometric-metric-quotient-Pseudometric-Space M)
( short-map-metric-quotient-Pseudometric-Space M)
```

### Lifts of Cauchy approximations in the quotient metric space up to similarity

```agda
module _
{ l1 l2 : Level} (A : Pseudometric-Space l1 l2)
( u :
cauchy-approximation-Metric-Space
( metric-quotient-Pseudometric-Space A))
( v : cauchy-approximation-Pseudometric-Space A)
where

is-lift-quotient-prop-cauchy-approximation-Pseudometric-Space :
Prop (l1 ⊔ l2)
is-lift-quotient-prop-cauchy-approximation-Pseudometric-Space =
sim-prop-Pseudometric-Space
( pseudometric-completion-Pseudometric-Space
( pseudometric-metric-quotient-Pseudometric-Space A))
( u)
( map-metric-quotient-cauchy-approximation-Pseudometric-Space A v)

is-lift-quotient-cauchy-approximation-Pseudometric-Space : UU (l1 ⊔ l2)
is-lift-quotient-cauchy-approximation-Pseudometric-Space =
type-Prop is-lift-quotient-prop-cauchy-approximation-Pseudometric-Space

is-prop-is-lift-quotient-cauchy-approximation-Pseudometric-Space :
is-prop is-lift-quotient-cauchy-approximation-Pseudometric-Space
is-prop-is-lift-quotient-cauchy-approximation-Pseudometric-Space =
is-prop-type-Prop
is-lift-quotient-prop-cauchy-approximation-Pseudometric-Space

module _
{l1 l2 : Level} (A : Pseudometric-Space l1 l2)
( u :
cauchy-approximation-Metric-Space
( metric-quotient-Pseudometric-Space A))
where

has-lift-prop-cauchy-approximation-metric-quotient-Pseudometric-Space :
Prop (l1 ⊔ l2)
has-lift-prop-cauchy-approximation-metric-quotient-Pseudometric-Space =
∃ ( cauchy-approximation-Pseudometric-Space A)
( is-lift-quotient-prop-cauchy-approximation-Pseudometric-Space A u)

has-lift-cauchy-approximation-metric-quotient-Pseudometric-Space :
UU (l1 ⊔ l2)
has-lift-cauchy-approximation-metric-quotient-Pseudometric-Space =
type-Prop
has-lift-prop-cauchy-approximation-metric-quotient-Pseudometric-Space

is-prop-has-lift-cauchy-approximation-metric-quotient-Pseudometric-Space :
is-prop has-lift-cauchy-approximation-metric-quotient-Pseudometric-Space
is-prop-has-lift-cauchy-approximation-metric-quotient-Pseudometric-Space =
is-prop-type-Prop
has-lift-prop-cauchy-approximation-metric-quotient-Pseudometric-Space
```

## Properties

### The pointwise quotient of Cauchy approximations in the quotient metric space preserves limits

```agda
module _
{l1 l2 : Level} (M : Pseudometric-Space l1 l2)
(u : cauchy-approximation-Pseudometric-Space M)
(lim : type-Pseudometric-Space M)
(is-lim :
is-limit-cauchy-approximation-Pseudometric-Space M u lim)
where

preserves-limit-map-metric-quotient-cauchy-approximation-Pseudometric-Space :
is-limit-cauchy-approximation-Metric-Space
( metric-quotient-Pseudometric-Space M)
( map-metric-quotient-cauchy-approximation-Pseudometric-Space M u)
( map-metric-quotient-Pseudometric-Space M lim)
preserves-limit-map-metric-quotient-cauchy-approximation-Pseudometric-Space
ε δ (x , x∈uε) (y , y∈lim) =
let
lim~y : sim-Pseudometric-Space M lim y
lim~y =
sim-is-in-equivalence-class-quotient-map-set-quotient
( equivalence-relation-sim-Pseudometric-Space M)
( lim)
( y)
( y∈lim)

uε~x :
sim-Pseudometric-Space M
( map-cauchy-approximation-Pseudometric-Space M u ε)
( x)
uε~x =
sim-is-in-equivalence-class-quotient-map-set-quotient
( equivalence-relation-sim-Pseudometric-Space M)
( map-cauchy-approximation-Pseudometric-Space M u ε)
( x)
( x∈uε)
in
preserves-neighborhood-sim-Pseudometric-Space
( M)
( uε~x)
( lim~y)
( ε +ℚ⁺ δ)
( is-lim ε δ)
```

### Pointwise quotients of Cauchy approximations have lifts

```agda
module _
{l1 l2 : Level} (A : Pseudometric-Space l1 l2)
(u : cauchy-approximation-Pseudometric-Space A)
where

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)
has-lift-map-quotient-cauchy-approximation-metric-quotient-Pseudometric-Space =
unit-trunc-Prop
( u ,
refl-sim-Pseudometric-Space
( pseudometric-completion-Pseudometric-Space
( pseudometric-metric-quotient-Pseudometric-Space A))
( map-metric-quotient-cauchy-approximation-Pseudometric-Space A u))
```

### Convergent Cauchy approximations in the quotient metric space have a lift up to similarity

```agda
module _
{l1 l2 : Level} (A : Pseudometric-Space l1 l2)
( u :
cauchy-approximation-Metric-Space
( metric-quotient-Pseudometric-Space A))
( lim : type-Metric-Space (metric-quotient-Pseudometric-Space A))
( is-lim :
is-limit-cauchy-approximation-Metric-Space
( metric-quotient-Pseudometric-Space A)
( u)
( lim))
where

lemma-sim-lift-is-limit-cauchy-approximation-metric-quotient-Pseudometric-Space :
(x : type-Pseudometric-Space A) →
(is-in-class-metric-quotient-Pseudometric-Space A lim x) →
is-lift-quotient-cauchy-approximation-Pseudometric-Space
( A)
( u)
( const-cauchy-approximation-Pseudometric-Space A x)
lemma-sim-lift-is-limit-cauchy-approximation-metric-quotient-Pseudometric-Space
x x∈lim =
transitive-sim-Pseudometric-Space
( pseudometric-completion-Pseudometric-Space
( pseudometric-metric-quotient-Pseudometric-Space A))
( u)
( const-cauchy-approximation-Pseudometric-Space
( pseudometric-metric-quotient-Pseudometric-Space A)
( lim))
( const-cauchy-approximation-Pseudometric-Space
( pseudometric-metric-quotient-Pseudometric-Space A)
( map-metric-quotient-Pseudometric-Space A x))
( λ d α β →
sim-eq-Pseudometric-Space
( pseudometric-metric-quotient-Pseudometric-Space A)
( lim)
( map-metric-quotient-Pseudometric-Space A x)
( inv
( eq-set-quotient-equivalence-class-set-quotient
( equivalence-relation-sim-Pseudometric-Space A)
( lim)
( x∈lim)))
( α +ℚ⁺ β +ℚ⁺ d))
( sim-const-is-limit-cauchy-approximation-Pseudometric-Space
( pseudometric-metric-quotient-Pseudometric-Space A)
( u)
( lim)
( is-lim))

module _
{l1 l2 : Level} (A : Pseudometric-Space l1 l2)
( u :
cauchy-approximation-Metric-Space
( metric-quotient-Pseudometric-Space A))
where

has-lift-is-convergent-cauchy-approximation-metric-quotient-Pseudometric-Space :
is-convergent-cauchy-approximation-Metric-Space
( metric-quotient-Pseudometric-Space A)
( u) →
has-lift-cauchy-approximation-metric-quotient-Pseudometric-Space A u
has-lift-is-convergent-cauchy-approximation-metric-quotient-Pseudometric-Space
(lim , is-lim) =
map-exists
( is-lift-quotient-cauchy-approximation-Pseudometric-Space A u)
( const-cauchy-approximation-Pseudometric-Space A)
( lemma-sim-lift-is-limit-cauchy-approximation-metric-quotient-Pseudometric-Space
( A)
( u)
( lim)
( is-lim))
( is-inhabited-class-metric-quotient-Pseudometric-Space A lim)
```
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@ module _
( metric-space-Complete-Metric-Space M)
( x)
has-limit-cauchy-sequence-Complete-Metric-Space =
limit-cauchy-sequence-Complete-Metric-Space ,
is-limit-limit-cauchy-sequence-Complete-Metric-Space
( limit-cauchy-sequence-Complete-Metric-Space ,
is-limit-limit-cauchy-sequence-Complete-Metric-Space)
```

### If every Cauchy sequence has a limit in a metric space, the metric space is complete
Expand Down Expand Up @@ -123,5 +123,5 @@ module _
complete-metric-space-cauchy-sequences-have-limits-Metric-Space :
Complete-Metric-Space l1 l2
complete-metric-space-cauchy-sequences-have-limits-Metric-Space =
M , is-complete-metric-space-cauchy-sequences-have-limits-Metric-Space
( M , is-complete-metric-space-cauchy-sequences-have-limits-Metric-Space)
```
Loading