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

Dependent universal property of suspensions #718

Merged
merged 38 commits into from
Sep 9, 2023
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
6969b19
add syntax
morphismz Aug 2, 2023
44870c7
Revert "add syntax"
morphismz Aug 2, 2023
192eb76
Merge branch 'UniMath:master' into master
morphismz Aug 6, 2023
881edaa
Merge branch 'UniMath:master' into master
morphismz Aug 7, 2023
b003377
Merge branch 'UniMath:master' into master
morphismz Aug 7, 2023
67d6cb2
Merge branch 'UniMath:master' into master
morphismz Aug 15, 2023
885b0b2
Merge branch 'UniMath:master' into master
morphismz Aug 19, 2023
d4979d9
Merge branch 'UniMath:master' into master
morphismz Aug 20, 2023
ea71df2
Merge branch 'master' into stable
morphismz Aug 30, 2023
a71129a
move text
morphismz Aug 30, 2023
38eb24a
dependent suspension structures
morphismz Aug 30, 2023
b31ff60
dependent up suspension
morphismz Aug 30, 2023
3fbc404
update suspensions-of-types
morphismz Aug 30, 2023
30bf7f9
homotopies of functions out of suspensions
morphismz Aug 30, 2023
be72f67
pre-commit
morphismz Aug 30, 2023
d9f51df
pre-commit fixes
morphismz Aug 30, 2023
977f864
simplify function
morphismz Aug 30, 2023
d90e87f
pre-commit
morphismz Aug 30, 2023
24c08e8
renaming
morphismz Sep 1, 2023
19046a7
renaming fixes
morphismz Sep 1, 2023
c3f755d
pre-commit fixes
morphismz Sep 1, 2023
7a3494a
Merge branch 'master' into dependent-up-susp
morphismz Sep 7, 2023
0c0ac56
Apply suggestions from code review
morphismz Sep 7, 2023
e37441e
rename equivalence
morphismz Sep 8, 2023
6c0ad61
variable changes
morphismz Sep 8, 2023
288b5f1
pre-commit
morphismz Sep 8, 2023
8d70f43
variable fixes
morphismz Sep 8, 2023
746ae11
variable fixes
morphismz Sep 8, 2023
f5598f4
implicit variables
morphismz Sep 8, 2023
0dc1498
Apply suggestions from code review
morphismz Sep 8, 2023
73bf308
parenhesis
morphismz Sep 8, 2023
4fb872f
pre-commit
morphismz Sep 8, 2023
4687971
add necessary parenthsis
morphismz Sep 8, 2023
fa0d82d
Update src/synthetic-homotopy-theory/dependent-suspension-structures.…
EgbertRijke Sep 9, 2023
726885d
Update src/synthetic-homotopy-theory/dependent-suspension-structures.…
EgbertRijke Sep 9, 2023
1bbadf3
Update src/synthetic-homotopy-theory/dependent-suspension-structures.…
EgbertRijke Sep 9, 2023
b7cba83
Update src/synthetic-homotopy-theory/dependent-suspension-structures.…
EgbertRijke Sep 9, 2023
7028907
Update src/synthetic-homotopy-theory/dependent-universal-property-sus…
EgbertRijke Sep 9, 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
113 changes: 105 additions & 8 deletions src/synthetic-homotopy-theory/dependent-suspension-structures.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,8 @@ module _
```agda
module _
{l1 l2 l3 : Level} {X : UU l1} {Y : UU l2}
(ss : suspension-structure X Y)
(B : Y → UU l3)
(ss : suspension-structure X Y)
where

dependent-suspension-structure : UU (l1 ⊔ l3)
Expand All @@ -133,7 +133,7 @@ module _
module _
{l1 l2 l3 : Level} {X : UU l1} {Y : UU l2} {B : Y → UU l3}
{ss : suspension-structure X Y}
(d-ss : dependent-suspension-structure ss B)
(d-ss : dependent-suspension-structure B ss)
where

north-dependent-suspension-structure : B (north-suspension-structure ss)
Expand All @@ -156,15 +156,77 @@ module _

#### Equivalence between dependent suspension structures and dependent suspension cocones

Soon TODO
```agda
module _
{l1 l2 l3 : Level} {X : UU l1} {Y : UU l2} (ss : suspension-structure X Y)
(B : Y → UU l3)
where

dependent-cocone-dependent-suspension-structure :
dependent-suspension-structure B ss →
dependent-suspension-cocone B (cocone-suspension-structure X Y ss)
pr1 (dependent-cocone-dependent-suspension-structure dss) t =
north-dependent-suspension-structure dss
pr1 (pr2 (dependent-cocone-dependent-suspension-structure dss)) t =
south-dependent-suspension-structure dss
pr2 (pr2 (dependent-cocone-dependent-suspension-structure dss)) x =
meridian-dependent-suspension-structure dss x

compute-dependent-suspension-cocone :
( dependent-suspension-structure B ss) ≃
( dependent-suspension-cocone
( B)
( cocone-suspension-structure X Y ss))
compute-dependent-suspension-cocone =
inv-equiv
( equiv-Σ
(λ N-d-susp-str →
Σ (B (south-suspension-structure ss))
( λ S-d-susp-str →
(x : X) →
( dependent-identification
morphismz marked this conversation as resolved.
Show resolved Hide resolved
( B)
morphismz marked this conversation as resolved.
Show resolved Hide resolved
( meridian-suspension-structure ss x)
morphismz marked this conversation as resolved.
Show resolved Hide resolved
( N-d-susp-str)
morphismz marked this conversation as resolved.
Show resolved Hide resolved
( S-d-susp-str))))
morphismz marked this conversation as resolved.
Show resolved Hide resolved
( equiv-dependent-universal-property-unit
( λ x → (B (north-suspension-structure ss))))
( λ N-susp-c →
( equiv-Σ
(λ S-d-susp-str →
morphismz marked this conversation as resolved.
Show resolved Hide resolved
(x : X) →
( dependent-identification
( B)
( meridian-suspension-structure ss x)
( map-equiv
EgbertRijke marked this conversation as resolved.
Show resolved Hide resolved
( equiv-dependent-universal-property-unit
( λ x₁ → B (pr1 ss)))
( N-susp-c))
( S-d-susp-str)))
morphismz marked this conversation as resolved.
Show resolved Hide resolved
(equiv-dependent-universal-property-unit
morphismz marked this conversation as resolved.
Show resolved Hide resolved
( const unit (UU l3) (B (south-suspension-structure ss))))
λ S-susp-c → id-equiv)))
morphismz marked this conversation as resolved.
Show resolved Hide resolved

htpy-map-inv-compute-dependent-suspension-cocone-cocone-dependent-cocone-dependent-suspension-structure :
map-equiv compute-dependent-suspension-cocone ~
dependent-cocone-dependent-suspension-structure
htpy-map-inv-compute-dependent-suspension-cocone-cocone-dependent-cocone-dependent-suspension-structure
( dss) =
map-inv-equiv
morphismz marked this conversation as resolved.
Show resolved Hide resolved
( equiv-ap
( inv-equiv compute-dependent-suspension-cocone)
( map-equiv compute-dependent-suspension-cocone dss)
( dependent-cocone-dependent-suspension-structure dss))
( is-retraction-map-inv-equiv compute-dependent-suspension-cocone dss)
```

#### Characterizing equality of dependent suspension structures

```agda
module _
{l1 l2 l3 : Level} {X : UU l1} {Y : UU l2} (B : Y → UU l3)
{ss : suspension-structure X Y}
(d-ss d-ss' : dependent-suspension-structure ss B)
(d-ss d-ss' : dependent-suspension-structure B ss)
where

htpy-dependent-suspension-structure : UU (l1 ⊔ l3)
Expand All @@ -184,14 +246,49 @@ module _
( N-htpy))
( meridian-dependent-suspension-structure d-ss' x)))

module _
{l1 l2 l3 : Level} {X : UU l1} {Y : UU l2} (B : Y → UU l3)
{susp-str : suspension-structure X Y}
{d-susp-str0 d-susp-str1 : dependent-suspension-structure B susp-str}
where

north-htpy-dependent-suspension-structure :
htpy-dependent-suspension-structure B d-susp-str0 d-susp-str1 →
( north-dependent-suspension-structure d-susp-str0
north-dependent-suspension-structure d-susp-str1)
morphismz marked this conversation as resolved.
Show resolved Hide resolved
north-htpy-dependent-suspension-structure = pr1

south-htpy-dependent-suspension-structure :
htpy-dependent-suspension-structure B d-susp-str0 d-susp-str1 →
( south-dependent-suspension-structure d-susp-str0
south-dependent-suspension-structure d-susp-str1)
morphismz marked this conversation as resolved.
Show resolved Hide resolved
south-htpy-dependent-suspension-structure = (pr1 ∘ pr2)

meridian-htpy-dependent-suspension-structure :
(d-susp-str : htpy-dependent-suspension-structure
( B)
( d-susp-str0)
( d-susp-str1)) →
(x : X) →
( coherence-square-identifications
( meridian-dependent-suspension-structure d-susp-str0 x)
( south-htpy-dependent-suspension-structure d-susp-str)
( ap
(tr B (meridian-suspension-structure susp-str x))
(north-htpy-dependent-suspension-structure d-susp-str))
( meridian-dependent-suspension-structure d-susp-str1 x))
morphismz marked this conversation as resolved.
Show resolved Hide resolved
meridian-htpy-dependent-suspension-structure = pr2 ∘ pr2

module _
{l1 l2 l3 : Level} {X : UU l1} {Y : UU l2} (B : Y → UU l3)
{ss : suspension-structure X Y}
(d-ss : dependent-suspension-structure ss B)
(d-ss : dependent-suspension-structure B ss)
where

extensionality-dependent-suspension-structure :
( d-ss' : dependent-suspension-structure ss B) →
( d-ss' : dependent-suspension-structure B ss) →
( d-ss = d-ss') ≃
( htpy-dependent-suspension-structure B d-ss d-ss')
extensionality-dependent-suspension-structure =
Expand Down Expand Up @@ -222,7 +319,7 @@ module _
module _
{l1 l2 l3 : Level} {X : UU l1} {Y : UU l2} (B : Y → UU l3)
{ss : suspension-structure X Y}
{d-ss d-ss' : dependent-suspension-structure ss B}
{d-ss d-ss' : dependent-suspension-structure B ss}
where

htpy-eq-dependent-suspension-structure :
Expand All @@ -242,7 +339,7 @@ module _
module _
{l1 l2 l3 : Level} {X : UU l1} {Y : UU l2} (B : Y → UU l3)
{ss : suspension-structure X Y}
(d-ss : dependent-suspension-structure ss B)
(d-ss : dependent-suspension-structure B ss)
where

refl-htpy-dependent-suspension-structure :
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ dependent-ev-suspension :
{l1 l2 l3 : Level} {X : UU l1} {Y : UU l2}
(susp-str : suspension-structure X Y) (B : Y → UU l3) →
((y : Y) → B y) →
dependent-suspension-structure susp-str B
dependent-suspension-structure B susp-str
pr1 (dependent-ev-suspension susp-str B s) =
s (north-suspension-structure susp-str)
pr1 (pr2 (dependent-ev-suspension susp-str B s)) =
Expand All @@ -76,3 +76,23 @@ module _
dependent-universal-property-suspension =
(B : Y → UU l) → is-equiv (dependent-ev-suspension susp-str B)
```

#### Coherence between `dependent-ev-suspension` and

`dependent-cocone-map`

```agda
triangle-dependent-ev-suspension :
{l1 l2 l3 : Level} {X : UU l1} {Y : UU l2}
(susp-str : suspension-structure X Y) →
(B : Y → UU l3) →
(map-inv-equiv (compute-dependent-suspension-cocone susp-str B) ∘
dependent-cocone-map
( const X unit star)
( const X unit star)
( cocone-suspension-structure X Y susp-str)
( B))
~
dependent-ev-suspension susp-str B
triangle-dependent-ev-suspension {X = X} {Y = Y} susp-str B = refl-htpy
```
18 changes: 18 additions & 0 deletions src/synthetic-homotopy-theory/pushouts.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ open import foundation.homotopies
open import foundation.identity-types
open import foundation.universe-levels

open import synthetic-homotopy-theory.26-descent
open import synthetic-homotopy-theory.cocones-under-spans
open import synthetic-homotopy-theory.dependent-universal-property-pushouts
open import synthetic-homotopy-theory.universal-property-pushouts
```

Expand Down Expand Up @@ -143,6 +145,22 @@ is-pushout f g c = is-equiv (cogap f g c)

## Properties

### The pushout of a span has the dependent universal property

```agda
dependent-up-pushout :
{l1 l2 l3 l4 : Level} {S : UU l1} {A : UU l2} {B : UU l3}
(f : S → A) (g : S → B) →
dependent-universal-property-pushout l4 f g (cocone-pushout f g)
dependent-up-pushout {l4 = l4} f g =
EgbertRijke marked this conversation as resolved.
Show resolved Hide resolved
dependent-universal-property-universal-property-pushout
( f)
( g)
( cocone-pushout f g)
( λ l → up-pushout f g)
( l4)
```

### Computation with the cogap map

```agda
Expand Down
78 changes: 41 additions & 37 deletions src/synthetic-homotopy-theory/suspension-structures.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,55 +131,59 @@ cocone-suspension-structure X Y (pair N (pair S merid)) =
( const unit Y S)
( merid))

comparison-suspension-cocone :
compute-suspension-cocone :
{l1 l2 : Level} (X : UU l1) (Z : UU l2) →
suspension-cocone X Z ≃ suspension-structure X Z
comparison-suspension-cocone X Z =
equiv-Σ
( λ z1 → Σ Z (λ z2 → (x : X) → Id z1 z2))
( equiv-universal-property-unit Z)
( λ z1 →
equiv-Σ
( λ z2 → (x : X) → Id (z1 star) z2)
( equiv-universal-property-unit Z)
( λ z2 → id-equiv))

map-comparison-suspension-cocone :
suspension-structure X Z ≃ suspension-cocone X Z
compute-suspension-cocone X Z =
morphismz marked this conversation as resolved.
Show resolved Hide resolved
inv-equiv
morphismz marked this conversation as resolved.
Show resolved Hide resolved
( equiv-Σ
( λ z1 → Σ Z (λ z2 → (x : X) → Id z1 z2))
( equiv-universal-property-unit Z)
( λ z1 →
equiv-Σ
( λ z2 → (x : X) → Id (z1 star) z2)
( equiv-universal-property-unit Z)
( λ z2 → id-equiv)))

map-compute-suspension-cocone :
{l1 l2 : Level} (X : UU l1) (Z : UU l2) →
suspension-structure X Z → suspension-cocone X Z
map-compute-suspension-cocone X Z =
map-equiv (compute-suspension-cocone X Z)

is-equiv-map-compute-suspension-cocone :
{l1 l2 : Level} (X : UU l1) (Z : UU l2) →
is-equiv (map-compute-suspension-cocone X Z)
is-equiv-map-compute-suspension-cocone X Z =
is-equiv-map-equiv (compute-suspension-cocone X Z)

map-inv-compute-suspension-cocone :
{l1 l2 : Level} (X : UU l1) (Z : UU l2) →
suspension-cocone X Z → suspension-structure X Z
map-comparison-suspension-cocone X Z =
map-equiv (comparison-suspension-cocone X Z)
map-inv-compute-suspension-cocone X Z =
map-inv-equiv (compute-suspension-cocone X Z)

is-equiv-map-comparison-suspension-cocone :
is-equiv-map-inv-compute-suspension-cocone :
{l1 l2 : Level} (X : UU l1) (Z : UU l2) →
is-equiv (map-comparison-suspension-cocone X Z)
is-equiv-map-comparison-suspension-cocone X Z =
is-equiv-map-equiv (comparison-suspension-cocone X Z)
is-equiv (map-inv-compute-suspension-cocone X Z)
is-equiv-map-inv-compute-suspension-cocone X Z =
is-equiv-map-inv-equiv (compute-suspension-cocone X Z)

htpy-map-inv-comparison-suspension-cocone-cocone-suspension-structure :
htpy-comparison-suspension-cocone-suspension-structure :
{l1 l2 : Level} (X : UU l1) (Z : UU l2) →
( map-inv-equiv (comparison-suspension-cocone X Z))
( map-compute-suspension-cocone X Z)
~
( cocone-suspension-structure X Z)
htpy-map-inv-comparison-suspension-cocone-cocone-suspension-structure
htpy-comparison-suspension-cocone-suspension-structure
( X)
( Z)
( x) =
( ss) =
map-inv-equiv
( equiv-ap-emb (emb-equiv (comparison-suspension-cocone X Z)))
( is-section-map-inv-equiv (comparison-suspension-cocone X Z) x)

is-equiv-map-inv-comparison-suspension-cocone :
{l1 l2 : Level} (X : UU l1) (Z : UU l2) →
is-equiv (cocone-suspension-structure X Z)
is-equiv-map-inv-comparison-suspension-cocone X Z =
is-equiv-htpy
( map-inv-equiv (comparison-suspension-cocone X Z))
( inv-htpy
( htpy-map-inv-comparison-suspension-cocone-cocone-suspension-structure
( X)
( Z)))
( is-equiv-map-inv-equiv (comparison-suspension-cocone X Z))
( equiv-ap
( inv-equiv (compute-suspension-cocone X Z))
( map-equiv (compute-suspension-cocone X Z) ss)
( cocone-suspension-structure X Z ss))
( is-retraction-map-inv-equiv (compute-suspension-cocone X Z) ss)
```

#### Characterization of equalities in `suspension-structure`
Expand Down
Loading