Skip to content

Commit 0c440fa

Browse files
committed
Miscellaneous edits from UniMath#1547
1 parent 418c9cd commit 0c440fa

11 files changed

+158
-45
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/projective-types.lagda.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,17 @@ open import foundation-core.truncated-types
2626

2727
A type `X` is said to be {{#concept "set-projective" Agda=is-set-projective}} if
2828
for every [surjective map](foundation.surjective-maps.md) `f : A ↠ B` onto a
29-
[set](foundation-core.sets.md) `B` the [postcomposition
30-
function[(foundation-core.postcomposition-functions.md)
29+
[set](foundation-core.sets.md) `B` the
30+
[postcomposition function](foundation-core.postcomposition-functions.md)
3131

3232
```text
3333
(X → A) → (X → B)
3434
```
3535

3636
is surjective. This is [equivalent](foundation.logical-equivalences.md) to the
37-
condition that for every [equivalence
38-
relation[(foundation-core.equivalence-relations.md) `R` on a type `A` the
39-
natural map
37+
condition that for every
38+
[equivalence relation](foundation-core.equivalence-relations.md) `R` on a type
39+
`A` the natural map
4040

4141
```text
4242
(X → A)/~ → (X → A/R)

src/logic/double-negation-eliminating-maps.lagda.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,9 @@ module _
8484
map-double-negation-eliminating-map : A → B
8585
map-double-negation-eliminating-map = pr1 f
8686
87-
is-double-negation-eliminating-double-negation-eliminating-map :
87+
is-double-negation-eliminating-map-double-negation-eliminating-map :
8888
is-double-negation-eliminating-map map-double-negation-eliminating-map
89-
is-double-negation-eliminating-double-negation-eliminating-map = pr2 f
89+
is-double-negation-eliminating-map-double-negation-eliminating-map = pr2 f
9090
```
9191

9292
## Properties
@@ -348,7 +348,7 @@ module _
348348
(f : A →¬¬ B) → ε-operator-map (map-double-negation-eliminating-map f)
349349
ε-operator-double-negation-eliminating-map f =
350350
ε-operator-map-is-double-negation-eliminating-map
351-
( is-double-negation-eliminating-double-negation-eliminating-map f)
351+
( is-double-negation-eliminating-map-double-negation-eliminating-map f)
352352
```
353353

354354
## See also

src/synthetic-homotopy-theory/eckmann-hilton-argument.lagda.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -782,6 +782,10 @@ module _
782782
( tr³-horizontal-concat-right-unit-law-right-whisker-left-unit-law-left-whisker-Ω²))
783783
```
784784

785+
## See also
786+
787+
- [Medial magmas](structured-types.medial-magmas.md)
788+
785789
## External links
786790

787791
- [The Eckmann-Hilton argument](https://1lab.dev/Algebra.Magma.Unital.EckmannHilton.html)

src/synthetic-homotopy-theory/functoriality-loop-spaces.lagda.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ open import foundation.faithful-maps
1515
open import foundation.function-types
1616
open import foundation.homotopies
1717
open import foundation.identity-types
18+
open import foundation.truncated-maps
19+
open import foundation.truncation-levels
1820
open import foundation.universe-levels
1921
2022
open import structured-types.faithful-pointed-maps
@@ -77,6 +79,30 @@ module _
7779
( ap (map-pointed-map f) x))
7880
```
7981

82+
### (𝑛+1)-truncated pointed maps induce 𝑛-truncated maps on loop spaces
83+
84+
```agda
85+
module _
86+
{l1 l2 : Level} (k : 𝕋) {A : Pointed-Type l1} {B : Pointed-Type l2}
87+
where
88+
89+
is-trunc-map-map-Ω :
90+
(f : A →∗ B) →
91+
is-trunc-map (succ-𝕋 k) (map-pointed-map f) →
92+
is-trunc-map k (map-Ω f)
93+
is-trunc-map-map-Ω f H =
94+
is-trunc-map-comp k
95+
( tr-type-Ω (preserves-point-pointed-map f))
96+
( ap (map-pointed-map f))
97+
( is-trunc-map-is-equiv k
98+
( is-equiv-tr-type-Ω (preserves-point-pointed-map f)))
99+
( is-trunc-map-ap-is-trunc-map k
100+
( map-pointed-map f)
101+
( H)
102+
( point-Pointed-Type A)
103+
( point-Pointed-Type A))
104+
```
105+
80106
### Faithful pointed maps induce embeddings on loop spaces
81107

82108
```agda

src/synthetic-homotopy-theory/iterated-loop-spaces.lagda.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ module synthetic-homotopy-theory.iterated-loop-spaces where
99
```agda
1010
open import elementary-number-theory.natural-numbers
1111
12+
open import foundation.function-types
13+
open import foundation.iterated-successors-truncation-levels
1214
open import foundation.iterating-functions
15+
open import foundation.truncated-types
16+
open import foundation.truncation-levels
1317
open import foundation.universe-levels
1418
1519
open import structured-types.h-spaces
@@ -61,6 +65,20 @@ module _
6165
Ω-H-Space (iterated-loop-space n (pointed-type-H-Space X))
6266
```
6367

68+
### If A is (𝑛+𝑘)-truncated then ΩⁿA is 𝑘-truncated
69+
70+
```agda
71+
is-trunc-iterated-loop-space :
72+
{l : Level} (n : ℕ) (k : 𝕋) (A : Pointed-Type l) →
73+
is-trunc (iterate-succ-𝕋 n k) (type-Pointed-Type A) →
74+
is-trunc k (type-iterated-loop-space n A)
75+
is-trunc-iterated-loop-space zero-ℕ k A H = H
76+
is-trunc-iterated-loop-space (succ-ℕ n) k A H =
77+
is-trunc-Ω k
78+
( iterated-loop-space n A)
79+
( is-trunc-iterated-loop-space n (succ-𝕋 k) A H)
80+
```
81+
6482
## See also
6583

6684
- [Double loop spaces](synthetic-homotopy-theory.double-loop-spaces.md)

src/synthetic-homotopy-theory/loop-spaces.lagda.md

Lines changed: 39 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ module synthetic-homotopy-theory.loop-spaces where
1010
open import foundation.dependent-pair-types
1111
open import foundation.equivalences
1212
open import foundation.identity-types
13+
open import foundation.truncated-types
14+
open import foundation.truncation-levels
1315
open import foundation.universe-levels
1416
1517
open import structured-types.h-spaces
@@ -23,10 +25,12 @@ open import structured-types.wild-quasigroups
2325

2426
## Idea
2527

26-
The **loop space** of a [pointed type](structured-types.pointed-types.md) `A` is
27-
the pointed type of self-[identifications](foundation-core.identity-types.md) of
28-
the base point of `A`. The loop space comes equipped with a group-like structure
29-
induced by the groupoidal-like structure on identifications.
28+
The
29+
{{#concept "loop space" Disambiguation="of a pointed type" Agda=Ω WD="loop space" WDID=Q2066070}}
30+
of a [pointed type](structured-types.pointed-types.md) `A` is the pointed type
31+
of self-[identifications](foundation-core.identity-types.md) of the base point
32+
of `A`. The loop space comes equipped with a group-like structure induced by the
33+
groupoidal-like structure on identifications.
3034

3135
## Table of files directly related to loop spaces
3236

@@ -48,7 +52,7 @@ module _
4852
refl-Ω = refl
4953
5054
Ω : Pointed-Type l
51-
Ω = pair type-Ω refl-Ω
55+
Ω = (type-Ω , refl-Ω)
5256
```
5357

5458
### The magma of loops on a pointed space
@@ -84,11 +88,12 @@ module _
8488
coherence-unit-laws-mul-Ω = refl
8589
8690
Ω-H-Space : H-Space l
87-
pr1 Ω-H-Space = Ω A
88-
pr1 (pr2 Ω-H-Space) = mul-Ω A
89-
pr1 (pr2 (pr2 Ω-H-Space)) = left-unit-law-mul-Ω
90-
pr1 (pr2 (pr2 (pr2 Ω-H-Space))) = right-unit-law-mul-Ω
91-
pr2 (pr2 (pr2 (pr2 Ω-H-Space))) = coherence-unit-laws-mul-Ω
91+
Ω-H-Space =
92+
( Ω A ,
93+
mul-Ω A ,
94+
left-unit-law-mul-Ω ,
95+
right-unit-law-mul-Ω ,
96+
coherence-unit-laws-mul-Ω)
9297
```
9398

9499
### The wild quasigroup of loops on a pointed space
@@ -134,14 +139,14 @@ module _
134139
{l1 : Level} {A : UU l1} {x y : A}
135140
where
136141
137-
equiv-tr-Ω : x = y → Ω (pair A x) ≃∗ Ω (pair A y)
138-
equiv-tr-Ω refl = pair id-equiv refl
142+
equiv-tr-Ω : x = y → Ω (A , x) ≃∗ Ω (A , y)
143+
equiv-tr-Ω refl = (id-equiv , refl)
139144
140-
equiv-tr-type-Ω : x = y → type-Ω (pair A x) ≃ type-Ω (pair A y)
145+
equiv-tr-type-Ω : x = y → type-Ω (A , x) ≃ type-Ω (A , y)
141146
equiv-tr-type-Ω p =
142147
equiv-pointed-equiv (equiv-tr-Ω p)
143148
144-
tr-type-Ω : x = y → type-Ω (pair A x) → type-Ω (pair A y)
149+
tr-type-Ω : x = y → type-Ω (A , x) → type-Ω (A , y)
145150
tr-type-Ω p = map-equiv (equiv-tr-type-Ω p)
146151
147152
is-equiv-tr-type-Ω : (p : x = y) → is-equiv (tr-type-Ω p)
@@ -151,21 +156,18 @@ module _
151156
preserves-refl-tr-Ω refl = refl
152157
153158
preserves-mul-tr-Ω :
154-
(p : x = y) (u v : type-Ω (pair A x)) →
155-
Id
156-
( tr-type-Ω p (mul-Ω (pair A x) u v))
157-
( mul-Ω (pair A y) (tr-type-Ω p u) (tr-type-Ω p v))
159+
(p : x = y) (u v : type-Ω (A , x)) →
160+
tr-type-Ω p (mul-Ω (A , x) u v) =
161+
mul-Ω (A , y) (tr-type-Ω p u) (tr-type-Ω p v)
158162
preserves-mul-tr-Ω refl u v = refl
159163
160164
preserves-inv-tr-Ω :
161-
(p : x = y) (u : type-Ω (pair A x)) →
162-
Id
163-
( tr-type-Ω p (inv-Ω (pair A x) u))
164-
( inv-Ω (pair A y) (tr-type-Ω p u))
165+
(p : x = y) (u : type-Ω (A , x)) →
166+
tr-type-Ω p (inv-Ω (A , x) u) = inv-Ω (A , y) (tr-type-Ω p u)
165167
preserves-inv-tr-Ω refl u = refl
166168
167169
eq-tr-type-Ω :
168-
(p : x = y) (q : type-Ω (pair A x)) →
170+
(p : x = y) (q : type-Ω (A , x)) →
169171
tr-type-Ω p q = inv p ∙ (q ∙ p)
170172
eq-tr-type-Ω refl q = inv right-unit
171173
```
@@ -181,9 +183,18 @@ module _
181183
where
182184
183185
pointed-equiv-loop-pointed-identity :
184-
( pair (point-Pointed-Type A = x) p) ≃∗ Ω A
185-
pr1 pointed-equiv-loop-pointed-identity =
186-
equiv-concat' (point-Pointed-Type A) (inv p)
187-
pr2 pointed-equiv-loop-pointed-identity =
188-
right-inv p
186+
( (point-Pointed-Type A = x) , p) ≃∗ Ω A
187+
pointed-equiv-loop-pointed-identity =
188+
( equiv-concat' (point-Pointed-Type A) (inv p) , right-inv p)
189+
```
190+
191+
### The loop space of a (𝑘+1)-truncated type is 𝑘-truncated
192+
193+
```agda
194+
module _
195+
{l : Level} (k : 𝕋) (A : Pointed-Type l)
196+
where
197+
198+
is-trunc-Ω : is-trunc (succ-𝕋 k) (type-Pointed-Type A) → is-trunc k (type-Ω A)
199+
is-trunc-Ω H = H (point-Pointed-Type A) (point-Pointed-Type A)
189200
```

src/synthetic-homotopy-theory/pushouts.lagda.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ open import reflection.erasing-equality
3030
3131
open import synthetic-homotopy-theory.cocones-under-spans
3232
open import synthetic-homotopy-theory.dependent-cocones-under-spans
33+
open import synthetic-homotopy-theory.dependent-pullback-property-pushouts
3334
open import synthetic-homotopy-theory.dependent-universal-property-pushouts
3435
open import synthetic-homotopy-theory.flattening-lemma-pushouts
3536
open import synthetic-homotopy-theory.induction-principle-pushouts
@@ -473,7 +474,7 @@ module _
473474
( up-pushout f g)
474475
```
475476

476-
### Pushout cocones satisfy the pullback property of the pushout
477+
### Cocones satisfy the pullback property of the pushout if and only if they are pushouts
477478

478479
```agda
479480
module _
@@ -496,6 +497,29 @@ module _
496497
( universal-property-pushout-pullback-property-pushout f g c pb)
497498
```
498499

500+
### Cocones satisfy the dependent pullback property of the pushout if and only if they are pushouts
501+
502+
```agda
503+
module _
504+
{l1 l2 l3 l4 : Level} {S : UU l1} {A : UU l2} {B : UU l3}
505+
(f : S → A) (g : S → B) {X : UU l4} (c : cocone f g X)
506+
where
507+
508+
abstract
509+
dependent-pullback-property-pushout-is-pushout :
510+
is-pushout f g c → dependent-pullback-property-pushout f g c
511+
dependent-pullback-property-pushout-is-pushout po =
512+
dependent-pullback-property-pullback-property-pushout f g c
513+
( pullback-property-pushout-is-pushout f g c po)
514+
515+
abstract
516+
is-pushout-dependent-pullback-property-pushout :
517+
dependent-pullback-property-pushout f g c → is-pushout f g c
518+
is-pushout-dependent-pullback-property-pushout pb =
519+
is-pushout-pullback-property-pushout f g c
520+
( pullback-property-dependent-pullback-property-pushout f g c pb)
521+
```
522+
499523
### Fibers of the cogap map
500524

501525
We characterize the [fibers](foundation-core.fibers-of-maps.md) of the cogap map

src/synthetic-homotopy-theory/smash-products-of-pointed-types.lagda.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -475,6 +475,21 @@ the canonical maps `X → X ⋊∗ Y` and `Y → X ⋉∗ Y`, i.e., we have push
475475

476476
> This remains to be formalized.
477477
478+
### The smash product as a bipointed pushout
479+
480+
Given two pointed types `X` and `Y`, the smash product is the pushout
481+
{{#cite Ljungström24}}
482+
483+
```text
484+
X + Y ------> X × Y
485+
| |
486+
| |
487+
∨ ⌜ ∨
488+
1 + 1 ------> X ∧ Y.
489+
```
490+
491+
> This remains to be formalized.
492+
478493
## References
479494

480495
{{#bibliography}}

src/univalent-combinatorics/subcounting.lagda.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ abstract
149149
propositional truncations, we have an embedding `║X║₋₁ ↪ ║Fin k║₋₁`. By
150150
induction, if `k ≐ 0` then `║Fin k║₋₁ ≃ 0 ≃ Fin 0` and so `║X║₋₁ ↪ Fin 0` is a
151151
subcounting. Otherwise, if `k ≐ j + 1`, then `║Fin k║₋₁ ≃ 1 ≃ Fin 1` and again
152-
`║X║₋₁ ↪ Fin 1` is a subcounting.
152+
`║X║₋₁ ↪ Fin 1` is a subcounting.
153153

154154
```agda
155155
module _
@@ -173,8 +173,8 @@ We reproduce a proof given by
173173
[Gro-Tsen](https://mathoverflow.net/users/17064/gro-tsen) in this MathOverflow
174174
answer: <https://mathoverflow.net/a/433318>.
175175

176-
**Proof.** Let $X$ be a type with a subcounting $ι : X ↪ Fin n$, and let
177-
$f : X ↪ X$ be an arbitrary self-embedding. It suffices to prove $f$ is
176+
**Proof.** Let $X$ be a type with a subcounting $ι : X ↪ \operatorname{Fin}n$,
177+
and let $f : X ↪ X$ be an arbitrary self-embedding. It suffices to prove $f$ is
178178
surjective, so assume given an $x : X$ where we want to show there exists
179179
$z : X$ such that $f(z) = x$. The mapping $i ↦ fⁱ(x)$ defines an $ℕ$-indexed
180180
sequence of elements of $X$. Since the

0 commit comments

Comments
 (0)