Skip to content

Commit 73e5178

Browse files
Miscellaneous edits from #1547 (#1667)
1 parent d2e5e31 commit 73e5178

25 files changed

+298
-98
lines changed

references.bib

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -626,6 +626,20 @@ @misc{Lavenir23
626626
primaryclass = {math.AT},
627627
}
628628

629+
@article{Ljungström24,
630+
title = {Symmetric monoidal smash products in homotopy type theory},
631+
author = {Ljungström, Axel},
632+
year = 2024,
633+
month = oct,
634+
journal = {Mathematical Structures in Computer Science},
635+
publisher = {Cambridge University Press (CUP)},
636+
volume = 34,
637+
number = 9,
638+
pages = {985–1007},
639+
doi = {10.1017/s0960129524000318},
640+
issn = {1469-8072},
641+
}
642+
629643
@book{Lurie09,
630644
title = {Higher Topos Theory},
631645
author = {Jacob Lurie},

src/foundation-core/commuting-squares-of-maps.lagda.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,14 @@ module _
8282
pasting-horizontal-coherence-square-maps sq-left sq-right =
8383
(bottom-right ·l sq-left) ∙h (sq-right ·r top-left)
8484
85+
pasting-horizontal-coherence-square-maps' :
86+
coherence-square-maps' top-left left mid bottom-left →
87+
coherence-square-maps' top-right mid right bottom-right →
88+
coherence-square-maps'
89+
(top-right ∘ top-left) left right (bottom-right ∘ bottom-left)
90+
pasting-horizontal-coherence-square-maps' sq-left sq-right =
91+
(sq-right ·r top-left) ∙h (bottom-right ·l sq-left)
92+
8593
pasting-horizontal-up-to-htpy-coherence-square-maps :
8694
{top : A → C} (H : coherence-triangle-maps top top-right top-left)
8795
{bottom : X → Z}

src/foundation-core/contractible-types.lagda.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ open import foundation-core.transport-along-identifications
2727

2828
## Idea
2929

30-
Contractible types are types that have, up to identification, exactly one
31-
element.
30+
{{#concept "Contractible types" Agda=is-contr}} are types that have, up to
31+
[identification](foundation-core.identity-types.md), exactly one element.
3232

3333
## Definition
3434

@@ -93,8 +93,7 @@ module _
9393
9494
abstract
9595
is-contr-equiv : A ≃ B → is-contr B → is-contr A
96-
is-contr-equiv (e , is-equiv-e) is-contr-B =
97-
is-contr-is-equiv e is-equiv-e is-contr-B
96+
is-contr-equiv (e , is-equiv-e) = is-contr-is-equiv e is-equiv-e
9897
9998
module _
10099
{l1 l2 : Level} (A : UU l1) {B : UU l2}
@@ -103,16 +102,14 @@ module _
103102
abstract
104103
is-contr-is-equiv' :
105104
(f : A → B) → is-equiv f → is-contr A → is-contr B
106-
is-contr-is-equiv' f is-equiv-f is-contr-A =
105+
is-contr-is-equiv' f is-equiv-f =
107106
is-contr-is-equiv A
108107
( map-inv-is-equiv is-equiv-f)
109108
( is-equiv-map-inv-is-equiv is-equiv-f)
110-
( is-contr-A)
111109
112110
abstract
113111
is-contr-equiv' : (e : A ≃ B) → is-contr A → is-contr B
114-
is-contr-equiv' (pair e is-equiv-e) is-contr-A =
115-
is-contr-is-equiv' e is-equiv-e is-contr-A
112+
is-contr-equiv' (e , is-equiv-e) = is-contr-is-equiv' e is-equiv-e
116113
117114
module _
118115
{l1 l2 : Level} {A : UU l1} {B : UU l2}
@@ -128,7 +125,8 @@ module _
128125
( contraction is-contr-A)
129126
130127
equiv-is-contr : is-contr A → is-contr B → A ≃ B
131-
pr1 (equiv-is-contr is-contr-A is-contr-B) a = center is-contr-B
128+
pr1 (equiv-is-contr is-contr-A is-contr-B) a =
129+
center is-contr-B
132130
pr2 (equiv-is-contr is-contr-A is-contr-B) =
133131
is-equiv-is-contr _ is-contr-A is-contr-B
134132
```

src/foundation-core/dependent-identifications.lagda.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,16 @@ refl-dependent-identification :
4747
{l1 l2 : Level} {A : UU l1} (B : A → UU l2) {x : A} {y : B x} →
4848
dependent-identification B refl y y
4949
refl-dependent-identification B = refl
50+
51+
dependent-identification' :
52+
{l1 l2 : Level} {A : UU l1} (B : A → UU l2) {x x' : A} (p : x = x') →
53+
B x → B x' → UU l2
54+
dependent-identification' B p u v = (u = inv-tr B p v)
55+
56+
refl-dependent-identification' :
57+
{l1 l2 : Level} {A : UU l1} (B : A → UU l2) {x : A} {y : B x} →
58+
dependent-identification' B refl y y
59+
refl-dependent-identification' B = refl
5060
```
5161

5262
### Iterated dependent identifications

src/foundation-core/embeddings.lagda.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ module _
113113
where
114114
115115
is-emb-id : is-emb (id {A = A})
116-
is-emb-id x y = is-equiv-htpy id ap-id is-equiv-id
116+
is-emb-id x y = is-equiv-htpy-id ap-id
117117
118118
id-emb : A ↪ A
119119
pr1 id-emb = id

src/foundation-core/equivalences.lagda.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,12 @@ module _
500500
htpy-map-inv-is-invertible H
501501
( is-invertible-is-equiv F)
502502
( is-invertible-is-equiv G)
503+
504+
is-equiv-htpy-id : {l : Level} {A : UU l} {f : A → A} → f ~ id → is-equiv f
505+
is-equiv-htpy-id H = is-equiv-htpy id H is-equiv-id
506+
507+
is-equiv-htpy-id' : {l : Level} {A : UU l} {f : A → A} → id ~ f → is-equiv f
508+
is-equiv-htpy-id' H = is-equiv-htpy' id H is-equiv-id
503509
```
504510

505511
### Any retraction of an equivalence is an equivalence

src/foundation-core/fibers-of-maps.lagda.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,19 @@ module _
455455
is-retraction-map-inv-equiv-fiber-htpy
456456
457457
equiv-fiber-htpy : fiber f y ≃ fiber g y
458-
equiv-fiber-htpy = map-equiv-fiber-htpy , is-equiv-map-equiv-fiber-htpy
458+
equiv-fiber-htpy =
459+
( map-equiv-fiber-htpy , is-equiv-map-equiv-fiber-htpy)
460+
461+
is-equiv-map-inv-equiv-fiber-htpy : is-equiv map-inv-equiv-fiber-htpy
462+
is-equiv-map-inv-equiv-fiber-htpy =
463+
is-equiv-is-invertible
464+
( map-equiv-fiber-htpy)
465+
( is-retraction-map-inv-equiv-fiber-htpy)
466+
( is-section-map-inv-equiv-fiber-htpy)
467+
468+
inv-equiv-fiber-htpy : fiber g y ≃ fiber f y
469+
inv-equiv-fiber-htpy =
470+
( map-inv-equiv-fiber-htpy , is-equiv-map-inv-equiv-fiber-htpy)
459471
```
460472

461473
We repeat the construction for `fiber'`.

src/foundation-core/functoriality-dependent-function-types.lagda.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,15 +96,20 @@ module _
9696
{l1 l2 l3 : Level} {I : UU l1} {A : I → UU l2} {B : I → UU l3}
9797
where
9898
99+
abstract
100+
is-contr-map-map-Π-is-fiberwise-contr-map :
101+
{f : (i : I) → A i → B i} →
102+
((i : I) → is-contr-map (f i)) → is-contr-map (map-Π f)
103+
is-contr-map-map-Π-is-fiberwise-contr-map H g =
104+
is-contr-equiv' _ (compute-fiber-map-Π _ g) (is-contr-Π (λ i → H i (g i)))
105+
99106
abstract
100107
is-equiv-map-Π-is-fiberwise-equiv :
101108
{f : (i : I) → A i → B i} → is-fiberwise-equiv f → is-equiv (map-Π f)
102109
is-equiv-map-Π-is-fiberwise-equiv is-equiv-f =
103110
is-equiv-is-contr-map
104-
( λ g →
105-
is-contr-equiv' _
106-
( compute-fiber-map-Π _ g)
107-
( is-contr-Π (λ i → is-contr-map-is-equiv (is-equiv-f i) (g i))))
111+
( is-contr-map-map-Π-is-fiberwise-contr-map
112+
( is-contr-map-is-equiv ∘ is-equiv-f))
108113
109114
equiv-Π-equiv-family :
110115
(e : (i : I) → A i ≃ B i) → ((i : I) → A i) ≃ ((i : I) → B i)

src/foundation-core/precomposition-dependent-functions.lagda.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,11 @@ module _
5050
{f g : A → B} (H : f ~ g) (C : B → UU l3) (h : (y : B) → C y)
5151
where
5252
53-
htpy-precomp-Π :
53+
htpy-htpy-precomp-Π :
5454
dependent-homotopy (λ _ → C) H (precomp-Π f C h) (precomp-Π g C h)
55-
htpy-precomp-Π x = apd h (H x)
55+
htpy-htpy-precomp-Π x = apd h (H x)
56+
57+
htpy-htpy-precomp-Π' :
58+
dependent-homotopy' (λ _ → C) H (precomp-Π f C h) (precomp-Π g C h)
59+
htpy-htpy-precomp-Π' x = apd' h (H x)
5660
```

src/foundation-core/transport-along-identifications.lagda.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,15 @@ recorded in
3232
### Transport
3333

3434
```agda
35-
tr :
36-
{l1 l2 : Level} {A : UU l1} (B : A → UU l2) {x y : A} (p : x = y) → B x → B y
37-
tr B refl b = b
35+
module _
36+
{l1 l2 : Level} {A : UU l1} (B : A → UU l2) {x y : A}
37+
where
38+
39+
tr : x = y → B x → B y
40+
tr refl b = b
41+
42+
inv-tr : y = x → B x → B y
43+
inv-tr p = tr (inv p)
3844
```
3945

4046
## Properties
@@ -96,6 +102,11 @@ module _
96102
{x y z : A} (p : x = y) (q : y = z) (b : B x) →
97103
tr B (p ∙ q) b = tr B q (tr B p b)
98104
tr-concat refl q b = refl
105+
106+
comp-tr :
107+
{x y z : A} (p : x = y) (q : y = z) (b : B x) →
108+
tr B q (tr B p b) = tr B (p ∙ q) b
109+
comp-tr p q b = inv (tr-concat p q b)
99110
```
100111

101112
### Transposing transport along the inverse of an identification

0 commit comments

Comments
 (0)