Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Retracts of sequential diagrams induce retracts of sequential colimits #968

Merged
merged 47 commits into from
Dec 5, 2023
Merged
Show file tree
Hide file tree
Changes from 44 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
7eba806
Constant sequential diagrams
VojtechStep Nov 14, 2023
f849f3d
Inverses of equivalences of sequential diagrams
VojtechStep Nov 14, 2023
c08ba68
WIP commuting prisms
VojtechStep Nov 14, 2023
44e2e54
WIP Inverse laws and associativity for vertical square composition
VojtechStep Nov 14, 2023
92ba2c7
Unit laws and whiskerings of whiskerings
VojtechStep Nov 14, 2023
aa85f71
Standard sequential colimits
VojtechStep Nov 14, 2023
32f2d92
Commutativity of horizontal and vertical pasting of squares
VojtechStep Nov 14, 2023
a19f8aa
WIP functoriality of taking standard sequential colimits
VojtechStep Nov 14, 2023
26c621f
Factor out whiskering of squares of homotopies
VojtechStep Nov 23, 2023
b2a4bcb
pre-commit
VojtechStep Nov 23, 2023
b499c59
Remove redundant arguments from ap-concat-htpy
VojtechStep Nov 23, 2023
0f878c7
Both-sided whiskering of squares of identifications/homotopies
VojtechStep Nov 23, 2023
139731b
Naturality of coherence squares of maps w.r.t. identifications
VojtechStep Nov 24, 2023
b5307a9
Untangle cyclic dependencies
VojtechStep Nov 26, 2023
839105b
Shorter names for prisms, inspired by cubes
VojtechStep Nov 28, 2023
fd244af
Rotation of vertical prisms of maps
VojtechStep Nov 28, 2023
c91a18c
`-Level` (dependent) universal property of sequential colimits
VojtechStep Nov 28, 2023
d05d6bf
Left inverse law for pasting of coherence squares of maps
VojtechStep Dec 1, 2023
4578e00
Rename and reorder arguments to horizontal prisms
VojtechStep Dec 1, 2023
e7a295b
Prose for commuting prisms of maps
VojtechStep Dec 1, 2023
22caa3d
Better proof of pasting of commuting prisms of maps
VojtechStep Dec 1, 2023
44ba7d4
Prose for unit laws for whiskering homotopies
VojtechStep Dec 1, 2023
85307b4
Prose for commuting squares of maps
VojtechStep Dec 1, 2023
32bb6b7
Prose for and slight refactor of transposing equivalences
VojtechStep Dec 2, 2023
30f252f
Prose for whiskering squares of homotopies
VojtechStep Dec 2, 2023
ebe6a5c
Remove unnecessary definitions
VojtechStep Dec 2, 2023
50b7dcd
Functoriality cleanup
VojtechStep Dec 2, 2023
7b3094e
Make arguments implicit
VojtechStep Dec 2, 2023
f638e26
Fix ASCII diagrams
VojtechStep Dec 3, 2023
8c444cd
Fix em-dashes
VojtechStep Dec 3, 2023
a384c5a
Prose improvements, links
VojtechStep Dec 3, 2023
cff2c9d
Code cleanup
VojtechStep Dec 3, 2023
df2d0cb
Wording
VojtechStep Dec 3, 2023
8f057fb
pre-commit
VojtechStep Dec 3, 2023
71d7916
Add a reference for functoriality of sequential colimits
VojtechStep Dec 3, 2023
398fa67
Rewording
VojtechStep Dec 3, 2023
d71f9e6
define retracts of sequential diagrams
fredrik-bakke Dec 4, 2023
c65605b
A retract of sequential diagrams induces a retract of cocones
fredrik-bakke Dec 4, 2023
950b844
Merge branch 'master' into fun
fredrik-bakke Dec 4, 2023
dc1ac44
Merge branch 'master' into fun
fredrik-bakke Dec 4, 2023
e899f27
pre-commit
fredrik-bakke Dec 4, 2023
e12169e
Update src/synthetic-homotopy-theory/retracts-of-sequential-diagrams.…
fredrik-bakke Dec 5, 2023
26923cf
fix headers
fredrik-bakke Dec 5, 2023
515aa64
Merge branch 'master' into fun
fredrik-bakke Dec 5, 2023
10c294b
**standard** sequential colimits
fredrik-bakke Dec 5, 2023
0fc559d
Update src/synthetic-homotopy-theory/functoriality-sequential-colimit…
fredrik-bakke Dec 5, 2023
f29cf37
Merge branch 'master' into fun
fredrik-bakke Dec 5, 2023
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
2 changes: 1 addition & 1 deletion src/foundation/retracts-of-maps.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ module _
coherence-htpy-hom-arrow f f (comp-hom-arrow f g f r i) id-hom-arrow
```

### The binary relation `g f ↦ g retract-of-map f` asserting that `g` is a retract of the map `f`
### The binary relation `f g ↦ f retract-of-map g` asserting that `f` is a retract of the map `g`

```agda
module _
Expand Down
1 change: 1 addition & 0 deletions src/synthetic-homotopy-theory.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ open import synthetic-homotopy-theory.pullback-property-pushouts public
open import synthetic-homotopy-theory.pushout-products public
open import synthetic-homotopy-theory.pushouts public
open import synthetic-homotopy-theory.pushouts-of-pointed-types public
open import synthetic-homotopy-theory.retracts-of-sequential-diagrams public
open import synthetic-homotopy-theory.sections-descent-circle public
open import synthetic-homotopy-theory.sequential-colimits public
open import synthetic-homotopy-theory.sequential-diagrams public
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,15 @@ open import foundation.function-extensionality
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
open import foundation.homotopies
open import foundation.retractions
open import foundation.retracts-of-types
open import foundation.universe-levels
open import foundation.whiskering-homotopies

open import synthetic-homotopy-theory.cocones-under-sequential-diagrams
open import synthetic-homotopy-theory.equivalences-sequential-diagrams
open import synthetic-homotopy-theory.morphisms-sequential-diagrams
open import synthetic-homotopy-theory.retracts-of-sequential-diagrams
open import synthetic-homotopy-theory.sequential-colimits
open import synthetic-homotopy-theory.sequential-diagrams
open import synthetic-homotopy-theory.universal-property-sequential-colimits
Expand Down Expand Up @@ -374,7 +377,7 @@ module _
htpy-preserves-comp-map-hom-standard-sequential-colimit
```

### An equivalence of sequential diagrams induces an equivalence of cocones
### An equivalence of sequential diagrams induces an equivalence of colimits
fredrik-bakke marked this conversation as resolved.
Show resolved Hide resolved

Additionally, the underlying map of the inverse equivalence is definitionally
equal to the map induced by the inverse of the equivalence of sequential
Expand Down Expand Up @@ -441,6 +444,61 @@ module _
is-equiv-map-hom-standard-sequential-colimit
```

### A retract of sequential diagrams induces a retract of colimits

Additionally, the underlying map of the retraction is definitionally equal to
the map induced by the retraction of sequential diagrams.

```agda
module _
{ l1 l2 : Level} {A : sequential-diagram l1} {B : sequential-diagram l2}
( R : A retract-of-sequential-diagram B)
where

map-inclusion-retract-standard-sequential-colimit :
standard-sequential-colimit A → standard-sequential-colimit B
map-inclusion-retract-standard-sequential-colimit =
map-hom-standard-sequential-colimit B
( inclusion-retract-sequential-diagram A B R)

map-hom-retraction-retract-standard-sequential-colimit :
standard-sequential-colimit B → standard-sequential-colimit A
map-hom-retraction-retract-standard-sequential-colimit =
map-hom-standard-sequential-colimit A
( hom-retraction-retract-sequential-diagram A B R)

abstract
is-retraction-map-hom-retraction-retract-standard-sequential-colimit :
is-retraction
( map-inclusion-retract-standard-sequential-colimit)
( map-hom-retraction-retract-standard-sequential-colimit)
is-retraction-map-hom-retraction-retract-standard-sequential-colimit =
( inv-htpy
( preserves-comp-map-hom-standard-sequential-colimit
( hom-retraction-retract-sequential-diagram A B R)
( inclusion-retract-sequential-diagram A B R))) ∙h
( htpy-map-hom-standard-sequential-colimit-htpy-hom-sequential-diagram
( is-retraction-hom-retraction-retract-sequential-diagram A B R)) ∙h
( preserves-id-map-hom-standard-sequential-colimit)

retraction-retract-standard-sequential-colimit :
retraction
( map-hom-standard-sequential-colimit B
( inclusion-retract-sequential-diagram A B R))
pr1 retraction-retract-standard-sequential-colimit =
map-hom-retraction-retract-standard-sequential-colimit
pr2 retraction-retract-standard-sequential-colimit =
is-retraction-map-hom-retraction-retract-standard-sequential-colimit

retract-retract-standard-sequential-colimit :
(standard-sequential-colimit A) retract-of (standard-sequential-colimit B)
pr1 retract-retract-standard-sequential-colimit =
map-hom-standard-sequential-colimit B
( inclusion-retract-sequential-diagram A B R)
pr2 retract-retract-standard-sequential-colimit =
retraction-retract-standard-sequential-colimit
```

## References

1. Kristina Sojakova, Floris van Doorn, and Egbert Rijke. 2020. Sequential
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,13 +174,13 @@ module _
( f g : hom-sequential-diagram A B)
where

coherence-htpy-sequential-diagram :
coherence-htpy-hom-sequential-diagram :
( H :
( n : ℕ) →
( map-hom-sequential-diagram B f n) ~
( map-hom-sequential-diagram B g n)) →
UU (l1 ⊔ l2)
coherence-htpy-sequential-diagram H =
coherence-htpy-hom-sequential-diagram H =
( n : ℕ) →
coherence-square-homotopies
( map-sequential-diagram B n ·l H n)
Expand All @@ -193,7 +193,7 @@ module _
Σ ( ( n : ℕ) →
( map-hom-sequential-diagram B f n) ~
( map-hom-sequential-diagram B g n))
( coherence-htpy-sequential-diagram)
( coherence-htpy-hom-sequential-diagram)
```

### Components of homotopies between morphisms of sequential diagrams
Expand All @@ -212,7 +212,7 @@ module _
htpy-htpy-hom-sequential-diagram = pr1 H

coherence-htpy-htpy-hom-sequential-diagram :
coherence-htpy-sequential-diagram B f g htpy-htpy-hom-sequential-diagram
coherence-htpy-hom-sequential-diagram B f g htpy-htpy-hom-sequential-diagram
coherence-htpy-htpy-hom-sequential-diagram = pr2 H
```

Expand Down Expand Up @@ -244,7 +244,7 @@ module _
is-torsorial (htpy-hom-sequential-diagram B f)
is-torsorial-htpy-sequential-diagram f =
is-torsorial-Eq-structure
( ev-pair (coherence-htpy-sequential-diagram B f))
( ev-pair (coherence-htpy-hom-sequential-diagram B f))
( is-torsorial-binary-htpy (map-hom-sequential-diagram B f))
( map-hom-sequential-diagram B f , ev-pair refl-htpy)
( is-torsorial-Eq-Π _
Expand Down
204 changes: 204 additions & 0 deletions src/synthetic-homotopy-theory/retracts-of-sequential-diagrams.lagda.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
# Retracts of sequential diagrams

```agda
module synthetic-homotopy-theory.retracts-of-sequential-diagrams where
```

<details><summary>Imports</summary>

```agda
open import elementary-number-theory.natural-numbers

open import foundation.commuting-squares-of-maps
open import foundation.dependent-pair-types
open import foundation.equality-dependent-function-types
open import foundation.equivalences
open import foundation.function-types
open import foundation.homotopies
open import foundation.homotopy-induction
open import foundation.identity-types
open import foundation.retractions
open import foundation.retracts-of-types
open import foundation.universe-levels

open import synthetic-homotopy-theory.morphisms-sequential-diagrams
open import synthetic-homotopy-theory.sequential-diagrams
```

</details>

## Idea

A {{#concept "retract" Disambiguation="sequential diagram"}} of sequential
diagrams `A` of `B` is a
[morphism of sequential diagrams](synthetic-homotopy-theory.morphisms-sequential-diagrams.md)
`B → A` that is a retraction.

## Definitions

### The predicate of being a retraction of sequential diagrams

```agda
module _
{l1 l2 : Level} (A : sequential-diagram l1) (B : sequential-diagram l2)
(i : hom-sequential-diagram A B) (r : hom-sequential-diagram B A)
where

is-retraction-hom-sequential-diagram : UU l1
is-retraction-hom-sequential-diagram =
htpy-hom-sequential-diagram A
( comp-hom-sequential-diagram A B A r i)
( id-hom-sequential-diagram A)
```

### The type of retractions of a morphism of sequential diagrams

```agda
module _
{l1 l2 : Level} (A : sequential-diagram l1) (B : sequential-diagram l2)
(i : hom-sequential-diagram A B)
where

retraction-hom-sequential-diagram : UU (l1 ⊔ l2)
retraction-hom-sequential-diagram =
Σ (hom-sequential-diagram B A) (is-retraction-hom-sequential-diagram A B i)

module _
(r : retraction-hom-sequential-diagram)
where

hom-retraction-hom-sequential-diagram : hom-sequential-diagram B A
hom-retraction-hom-sequential-diagram = pr1 r

is-retraction-hom-retraction-hom-sequential-diagram :
is-retraction-hom-sequential-diagram A B i
( hom-retraction-hom-sequential-diagram)
is-retraction-hom-retraction-hom-sequential-diagram = pr2 r
```

### The predicate that a sequential diagram `A` is a retract of a sequential diagram `B`

```agda
retract-sequential-diagram :
{l1 l2 : Level} (B : sequential-diagram l2) (A : sequential-diagram l1) →
UU (l1 ⊔ l2)
retract-sequential-diagram B A =
Σ (hom-sequential-diagram A B) (retraction-hom-sequential-diagram A B)
```

### The higher coherence in the definition of retracts of sequential diagrams

```agda
module _
{l1 l2 : Level} (A : sequential-diagram l1) (B : sequential-diagram l2)
(i : hom-sequential-diagram A B) (r : hom-sequential-diagram B A)
where

coherence-retract-sequential-diagram :
( (n : ℕ) →
is-retraction
( map-hom-sequential-diagram B i n)
( map-hom-sequential-diagram A r n)) →
UU l1
coherence-retract-sequential-diagram =
coherence-htpy-hom-sequential-diagram A
( comp-hom-sequential-diagram A B A r i)
( id-hom-sequential-diagram A)
```

### The binary relation `A B ↦ A retract-of-sequential-diagram B` asserting that `A` is a retract of the sequential diagram `B`

```agda
module _
{l1 l2 : Level} (A : sequential-diagram l1) (B : sequential-diagram l2)
where

infix 6 _retract-of-sequential-diagram_

_retract-of-sequential-diagram_ : UU (l1 ⊔ l2)
_retract-of-sequential-diagram_ = retract-sequential-diagram B A

module _
{l1 l2 : Level} (A : sequential-diagram l1) (B : sequential-diagram l2)
(R : A retract-of-sequential-diagram B)
where

inclusion-retract-sequential-diagram : hom-sequential-diagram A B
inclusion-retract-sequential-diagram = pr1 R

map-inclusion-retract-sequential-diagram :
(n : ℕ) → family-sequential-diagram A n → family-sequential-diagram B n
map-inclusion-retract-sequential-diagram =
map-hom-sequential-diagram B inclusion-retract-sequential-diagram

naturality-inclusion-retract-sequential-diagram :
naturality-hom-sequential-diagram A B
( map-inclusion-retract-sequential-diagram)
naturality-inclusion-retract-sequential-diagram =
naturality-map-hom-sequential-diagram B
( inclusion-retract-sequential-diagram)

retraction-retract-sequential-diagram :
retraction-hom-sequential-diagram A B inclusion-retract-sequential-diagram
retraction-retract-sequential-diagram = pr2 R

hom-retraction-retract-sequential-diagram : hom-sequential-diagram B A
hom-retraction-retract-sequential-diagram =
hom-retraction-hom-sequential-diagram A B
( inclusion-retract-sequential-diagram)
( retraction-retract-sequential-diagram)

map-hom-retraction-retract-sequential-diagram :
(n : ℕ) → family-sequential-diagram B n → family-sequential-diagram A n
map-hom-retraction-retract-sequential-diagram =
map-hom-sequential-diagram A hom-retraction-retract-sequential-diagram

naturality-hom-retraction-retract-sequential-diagram :
naturality-hom-sequential-diagram B A
( map-hom-retraction-retract-sequential-diagram)
naturality-hom-retraction-retract-sequential-diagram =
naturality-map-hom-sequential-diagram A
( hom-retraction-retract-sequential-diagram)

is-retraction-hom-retraction-retract-sequential-diagram :
is-retraction-hom-sequential-diagram A B
( inclusion-retract-sequential-diagram)
( hom-retraction-retract-sequential-diagram)
is-retraction-hom-retraction-retract-sequential-diagram =
is-retraction-hom-retraction-hom-sequential-diagram A B
( inclusion-retract-sequential-diagram)
( retraction-retract-sequential-diagram)

is-retraction-map-hom-retraction-retract-sequential-diagram :
(n : ℕ) →
is-retraction
( map-inclusion-retract-sequential-diagram n)
( map-hom-retraction-retract-sequential-diagram n)
is-retraction-map-hom-retraction-retract-sequential-diagram =
htpy-htpy-hom-sequential-diagram A
( is-retraction-hom-retraction-retract-sequential-diagram)

retract-family-retract-sequential-diagram :
(n : ℕ) →
( family-sequential-diagram A n) retract-of
( family-sequential-diagram B n)
pr1 (retract-family-retract-sequential-diagram n) =
map-inclusion-retract-sequential-diagram n
pr1 (pr2 (retract-family-retract-sequential-diagram n)) =
map-hom-retraction-retract-sequential-diagram n
pr2 (pr2 (retract-family-retract-sequential-diagram n)) =
is-retraction-map-hom-retraction-retract-sequential-diagram n

coh-retract-sequential-diagram :
coherence-retract-sequential-diagram A B
( inclusion-retract-sequential-diagram)
( hom-retraction-retract-sequential-diagram)
( is-retraction-map-hom-retraction-retract-sequential-diagram)
coh-retract-sequential-diagram =
coherence-htpy-htpy-hom-sequential-diagram A
( is-retraction-hom-retraction-retract-sequential-diagram)
```

## See also

- [Retracts of maps](foundation.retracts-of-maps.md)