@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
11
11
open import foundation.dependent-pair-types
12
12
open import foundation.equality-cartesian-product-types
13
13
open import foundation.morphisms-arrows
14
+ open import foundation.sections
14
15
open import foundation.universe-levels
15
16
16
17
open import foundation-core.cartesian-product-types
@@ -254,7 +255,7 @@ module _
254
255
pr2 compute-fiber-map-product = is-equiv-map-compute-fiber-map-product
255
256
```
256
257
257
- ### If ` map-product f g : A × B → C × D ` is an equivalence, then we have ` D → is-equiv f ` and ` C → is-equiv g `
258
+ ### ` map-product f g : A × B → C × D ` is an equivalence if and only if we have ` D → is-equiv f ` and ` C → is-equiv g `
258
259
259
260
``` agda
260
261
module _
@@ -291,6 +292,35 @@ module _
291
292
( map-compute-fiber-map-product f g (c , y))
292
293
( is-equiv-map-compute-fiber-map-product f g (c , y))
293
294
( is-contr-map-is-equiv is-equiv-fg (c , y))))
295
+
296
+ map-inv-map-product' : (D → is-equiv f) → (C → is-equiv g) → C × D → A × B
297
+ pr1 (map-inv-map-product' F G (c , d)) = map-inv-is-equiv (F d) c
298
+ pr2 (map-inv-map-product' F G (c , d)) = map-inv-is-equiv (G c) d
299
+
300
+ abstract
301
+ is-section-map-inv-map-product' :
302
+ (F : D → is-equiv f) (G : C → is-equiv g) →
303
+ is-section (map-product f g) (map-inv-map-product' F G)
304
+ is-section-map-inv-map-product' F G (c , d) =
305
+ eq-pair
306
+ ( is-section-map-inv-is-equiv (F d) c)
307
+ ( is-section-map-inv-is-equiv (G c) d)
308
+
309
+ is-retraction-map-inv-map-product' :
310
+ (F : D → is-equiv f) (G : C → is-equiv g) →
311
+ is-retraction (map-product f g) (map-inv-map-product' F G)
312
+ is-retraction-map-inv-map-product' F G (a , b) =
313
+ eq-pair
314
+ ( is-retraction-map-inv-is-equiv (F (g b)) a)
315
+ ( is-retraction-map-inv-is-equiv (G (f a)) b)
316
+
317
+ is-equiv-map-product' :
318
+ (D → is-equiv f) → (C → is-equiv g) → is-equiv (map-product f g)
319
+ is-equiv-map-product' F G =
320
+ is-equiv-is-invertible
321
+ ( map-inv-map-product' F G)
322
+ ( is-section-map-inv-map-product' F G)
323
+ ( is-retraction-map-inv-map-product' F G)
294
324
```
295
325
296
326
### The functorial action of products on arrows
0 commit comments