Skip to content

Commit 1cdf1ef

Browse files
committed
Sections 9 and 10
1 parent 0cdd973 commit 1cdf1ef

5 files changed

+934
-3
lines changed

src/foundation/booleans.lagda.md

+17
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ module foundation.booleans where
77
<details><summary>Imports</summary>
88

99
```agda
10+
open import foundation.contractible-types
1011
open import foundation.decidable-equality
1112
open import foundation.decidable-types
1213
open import foundation.dependent-pair-types
@@ -342,3 +343,19 @@ abstract
342343
(b : bool) → ¬ (is-equiv (const bool b))
343344
is-not-equiv-const-bool b e = no-section-const-bool b (section-is-equiv e)
344345
```
346+
347+
### The type of booleans is not contractible
348+
349+
```agda
350+
abstract
351+
is-not-contractible-bool : ¬ (is-contr bool)
352+
is-not-contractible-bool (b , eq) = no-section-const-bool b (id , eq)
353+
```
354+
355+
### The type of booleans is not equivalent to the unit type
356+
357+
```agda
358+
abstract
359+
is-not-unit-bool : ¬ (bool ≃ unit)
360+
is-not-unit-bool e = is-not-contractible-bool (is-contr-equiv-unit e)
361+
```

src/foundation/functoriality-cartesian-product-types.lagda.md

+31-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
1111
open import foundation.dependent-pair-types
1212
open import foundation.equality-cartesian-product-types
1313
open import foundation.morphisms-arrows
14+
open import foundation.sections
1415
open import foundation.universe-levels
1516
1617
open import foundation-core.cartesian-product-types
@@ -254,7 +255,7 @@ module _
254255
pr2 compute-fiber-map-product = is-equiv-map-compute-fiber-map-product
255256
```
256257

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`
258259

259260
```agda
260261
module _
@@ -291,6 +292,35 @@ module _
291292
( map-compute-fiber-map-product f g (c , y))
292293
( is-equiv-map-compute-fiber-map-product f g (c , y))
293294
( 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)
294324
```
295325

296326
### The functorial action of products on arrows

src/foundation/unit-type.lagda.md

+9
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
1111
open import foundation.dependent-pair-types
1212
open import foundation.diagonal-maps-of-types
1313
open import foundation.raising-universe-levels
14+
open import foundation.singleton-induction
1415
open import foundation.universe-levels
1516
1617
open import foundation-core.constant-maps
@@ -107,6 +108,14 @@ abstract
107108
is-contr-equiv' unit (compute-raise l1 unit) is-contr-unit
108109
```
109110

111+
### The unit type satisfies singleton induction
112+
113+
```agda
114+
abstract
115+
is-singleton-unit : {l : Level} → is-singleton l unit star
116+
is-singleton-unit B = ind-unit , λ b → refl
117+
```
118+
110119
### Any contractible type is equivalent to the unit type
111120

112121
```agda

0 commit comments

Comments
 (0)