Skip to content

Commit 12fa484

Browse files
Improve proofs for truncation equivalences (#1547)
Adds informal proofs for some lemmas about truncation equivalences, and simplifies the formal proofs. Builds on #1667
1 parent c67f94a commit 12fa484

24 files changed

+1455
-511
lines changed

src/foundation-core/truncated-maps.lagda.md

Lines changed: 45 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@ module foundation-core.truncated-maps where
1010
open import foundation.action-on-identifications-functions
1111
open import foundation.dependent-pair-types
1212
open import foundation.equality-fibers-of-maps
13+
open import foundation.type-arithmetic-dependent-pair-types
1314
open import foundation.universe-levels
1415
1516
open import foundation-core.commuting-squares-of-maps
1617
open import foundation-core.contractible-maps
18+
open import foundation-core.contractible-types
1719
open import foundation-core.equivalences
1820
open import foundation-core.fibers-of-maps
1921
open import foundation-core.function-types
@@ -112,23 +114,37 @@ module _
112114
where
113115
114116
abstract
115-
is-trunc-map-is-trunc-map-ap :
117+
is-trunc-map-succ-is-trunc-map-ap :
116118
((x y : A) → is-trunc-map k (ap f {x} {y})) → is-trunc-map (succ-𝕋 k) f
117-
is-trunc-map-is-trunc-map-ap is-trunc-map-ap-f b (pair x p) (pair x' p') =
119+
is-trunc-map-succ-is-trunc-map-ap is-trunc-map-ap-f b (x , p) (x' , p') =
118120
is-trunc-equiv k
119-
( fiber (ap f) (p ∙ (inv p')))
120-
( equiv-fiber-ap-eq-fiber f (pair x p) (pair x' p'))
121-
( is-trunc-map-ap-f x x' (p ∙ (inv p')))
121+
( fiber (ap f) (p ∙ inv p'))
122+
( equiv-fiber-ap-eq-fiber f (x , p) (x' , p'))
123+
( is-trunc-map-ap-f x x' (p ∙ inv p'))
122124
123125
abstract
124-
is-trunc-map-ap-is-trunc-map :
126+
is-trunc-map-ap-is-trunc-map-succ :
125127
is-trunc-map (succ-𝕋 k) f → (x y : A) → is-trunc-map k (ap f {x} {y})
126-
is-trunc-map-ap-is-trunc-map is-trunc-map-f x y p =
128+
is-trunc-map-ap-is-trunc-map-succ is-trunc-map-f x y p =
127129
is-trunc-is-equiv' k
128-
( pair x ppair y refl)
130+
( (x , p)(y , refl))
129131
( eq-fiber-fiber-ap f x y p)
130132
( is-equiv-eq-fiber-fiber-ap f x y p)
131-
( is-trunc-map-f (f y) (pair x p) (pair y refl))
133+
( is-trunc-map-f (f y) (x , p) (y , refl))
134+
```
135+
136+
### The action on identifications of a `k`-truncated map is also `k`-truncated
137+
138+
```agda
139+
module _
140+
{l1 l2 : Level} (k : 𝕋) {A : UU l1} {B : UU l2} (f : A → B)
141+
where
142+
143+
abstract
144+
is-trunc-map-ap-is-trunc-map :
145+
is-trunc-map k f → (x y : A) → is-trunc-map k (ap f {x} {y})
146+
is-trunc-map-ap-is-trunc-map H =
147+
is-trunc-map-ap-is-trunc-map-succ k f (is-trunc-map-succ-is-trunc-map k H)
132148
```
133149

134150
### The domain of any `k`-truncated map into a `k+1`-truncated type is `k+1`-truncated
@@ -146,7 +162,7 @@ is-trunc-is-trunc-map-into-is-trunc
146162
( k)
147163
( ap f)
148164
( is-trunc-B (f a) (f a'))
149-
( is-trunc-map-ap-is-trunc-map k f is-trunc-map-f a a')
165+
( is-trunc-map-ap-is-trunc-map-succ k f is-trunc-map-f a a')
150166
```
151167

152168
### A family of types is a family of `k`-truncated types if and only of the projection map is `k`-truncated
@@ -274,7 +290,7 @@ abstract
274290
( map-compute-fiber-comp g h (g b))
275291
( is-equiv-map-compute-fiber-comp g h (g b))
276292
( is-trunc-map-htpy k (inv-htpy H) is-trunc-f (g b)))
277-
( pair b refl)
293+
( b , refl)
278294
```
279295

280296
### If a composite `g ∘ h` and its left factor `g` are truncated maps, then its right factor `h` is a truncated map
@@ -305,3 +321,21 @@ module _
305321
( is-trunc-map-comp k i g M
306322
( is-trunc-map-is-equiv k K))
307323
```
324+
325+
### If the domain is contractible and the codomain is `k+1`-truncated then the map is `k`-truncated
326+
327+
```agda
328+
module _
329+
{l1 l2 : Level} {k : 𝕋} {A : UU l1} {B : UU l2} {f : A → B}
330+
where
331+
332+
is-trunc-map-is-trunc-succ-codomain-is-contr-domain :
333+
is-contr A →
334+
is-trunc (succ-𝕋 k) B →
335+
is-trunc-map k f
336+
is-trunc-map-is-trunc-succ-codomain-is-contr-domain c tB u =
337+
is-trunc-equiv k
338+
( f (center c) = u)
339+
( left-unit-law-Σ-is-contr c (center c))
340+
( tB (f (center c)) u)
341+
```

0 commit comments

Comments
 (0)