Skip to content

Commit d8ba99e

Browse files
Anodyne maps (#1361)
Defines anodyne maps and weakly anodyne maps and establishes some basic closure properties.
1 parent 79d73bf commit d8ba99e

11 files changed

+657
-76
lines changed

src/foundation/equivalences-arrows.lagda.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,7 @@ module _
8787
coherence-hom-arrow f g (map-equiv i) (map-equiv j)
8888
8989
equiv-arrow : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
90-
equiv-arrow =
91-
Σ (A ≃ X) (λ i → Σ (B ≃ Y) (coherence-equiv-arrow i))
90+
equiv-arrow = Σ (A ≃ X) (λ i → Σ (B ≃ Y) (coherence-equiv-arrow i))
9291
9392
module _
9493
(e : equiv-arrow)
@@ -100,6 +99,9 @@ module _
10099
map-domain-equiv-arrow : A → X
101100
map-domain-equiv-arrow = map-equiv equiv-domain-equiv-arrow
102101
102+
map-inv-domain-equiv-arrow : X → A
103+
map-inv-domain-equiv-arrow = map-inv-equiv equiv-domain-equiv-arrow
104+
103105
is-equiv-map-domain-equiv-arrow : is-equiv map-domain-equiv-arrow
104106
is-equiv-map-domain-equiv-arrow =
105107
is-equiv-map-equiv equiv-domain-equiv-arrow
@@ -110,6 +112,9 @@ module _
110112
map-codomain-equiv-arrow : B → Y
111113
map-codomain-equiv-arrow = map-equiv equiv-codomain-equiv-arrow
112114
115+
map-inv-codomain-equiv-arrow : Y → B
116+
map-inv-codomain-equiv-arrow = map-inv-equiv equiv-codomain-equiv-arrow
117+
113118
is-equiv-map-codomain-equiv-arrow : is-equiv map-codomain-equiv-arrow
114119
is-equiv-map-codomain-equiv-arrow =
115120
is-equiv-map-equiv equiv-codomain-equiv-arrow

src/foundation/morphisms-arrows.lagda.md

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ module foundation.morphisms-arrows where
1010
open import foundation.cones-over-cospan-diagrams
1111
open import foundation.dependent-pair-types
1212
open import foundation.function-extensionality
13+
open import foundation.postcomposition-functions
14+
open import foundation.precomposition-functions
1315
open import foundation.universe-levels
1416
open import foundation.whiskering-homotopies-composition
1517
@@ -19,8 +21,6 @@ open import foundation-core.functoriality-dependent-function-types
1921
open import foundation-core.functoriality-dependent-pair-types
2022
open import foundation-core.homotopies
2123
open import foundation-core.identity-types
22-
open import foundation-core.postcomposition-functions
23-
open import foundation-core.precomposition-functions
2424
```
2525

2626
</details>
@@ -309,19 +309,25 @@ A morphism of arrows `α : f → g` gives a morphism of precomposition arrows
309309

310310
```agda
311311
module _
312-
{l1 l2 l3 l4 : Level}
312+
{l1 l2 l3 l4 l : Level}
313313
{A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
314314
(f : A → B) (g : X → Y) (α : hom-arrow f g)
315+
(S : UU l)
315316
where
316317
317-
precomp-hom-arrow :
318-
{l : Level} (S : UU l) → hom-arrow (precomp g S) (precomp f S)
319-
pr1 (precomp-hom-arrow S) =
320-
precomp (map-codomain-hom-arrow f g α) S
321-
pr1 (pr2 (precomp-hom-arrow S)) =
322-
precomp (map-domain-hom-arrow f g α) S
323-
pr2 (pr2 (precomp-hom-arrow S)) h =
324-
inv (eq-htpy (h ·l coh-hom-arrow f g α))
318+
transpose-precomp-hom-arrow :
319+
hom-arrow
320+
( precomp (map-codomain-hom-arrow f g α) S)
321+
( precomp (map-domain-hom-arrow f g α) S)
322+
transpose-precomp-hom-arrow =
323+
( precomp g S , precomp f S , htpy-precomp (coh-hom-arrow f g α) S)
324+
325+
precomp-hom-arrow : hom-arrow (precomp g S) (precomp f S)
326+
precomp-hom-arrow =
327+
transpose-hom-arrow
328+
( precomp (map-codomain-hom-arrow f g α) S)
329+
( precomp (map-domain-hom-arrow f g α) S)
330+
( transpose-precomp-hom-arrow)
325331
```
326332

327333
### Morphisms of arrows give morphisms of postcomposition arrows
@@ -338,12 +344,10 @@ module _
338344
339345
postcomp-hom-arrow :
340346
{l : Level} (S : UU l) → hom-arrow (postcomp S f) (postcomp S g)
341-
pr1 (postcomp-hom-arrow S) =
342-
postcomp S (map-domain-hom-arrow f g α)
343-
pr1 (pr2 (postcomp-hom-arrow S)) =
344-
postcomp S (map-codomain-hom-arrow f g α)
345-
pr2 (pr2 (postcomp-hom-arrow S)) h =
346-
eq-htpy (coh-hom-arrow f g α ·r h)
347+
postcomp-hom-arrow S =
348+
( postcomp S (map-domain-hom-arrow f g α) ,
349+
postcomp S (map-codomain-hom-arrow f g α) ,
350+
htpy-postcomp S (coh-hom-arrow f g α))
347351
```
348352

349353
## See also

src/foundation/postcomposition-pullbacks.lagda.md

Lines changed: 32 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ open import foundation.cones-over-cospan-diagrams
1111
open import foundation.dependent-pair-types
1212
open import foundation.function-extensionality
1313
open import foundation.identity-types
14+
open import foundation.postcomposition-functions
1415
open import foundation.standard-pullbacks
1516
open import foundation.universe-levels
1617
open import foundation.whiskering-homotopies-composition
@@ -21,7 +22,6 @@ open import foundation-core.equivalences
2122
open import foundation-core.function-types
2223
open import foundation-core.functoriality-dependent-pair-types
2324
open import foundation-core.homotopies
24-
open import foundation-core.postcomposition-functions
2525
open import foundation-core.pullbacks
2626
open import foundation-core.universal-property-pullbacks
2727
```
@@ -68,9 +68,10 @@ postcomp-cone :
6868
{A : UU l1} {B : UU l2} {C : UU l3} {X : UU l4} (T : UU l5)
6969
(f : A → X) (g : B → X) (c : cone f g C) →
7070
cone (postcomp T f) (postcomp T g) (T → C)
71-
pr1 (postcomp-cone T f g c) h = vertical-map-cone f g c ∘ h
72-
pr1 (pr2 (postcomp-cone T f g c)) h = horizontal-map-cone f g c ∘ h
73-
pr2 (pr2 (postcomp-cone T f g c)) h = eq-htpy (coherence-square-cone f g c ·r h)
71+
postcomp-cone T f g c =
72+
( postcomp T (vertical-map-cone f g c) ,
73+
postcomp T (horizontal-map-cone f g c) ,
74+
htpy-postcomp T (coherence-square-cone f g c))
7475
```
7576

7677
## Properties
@@ -121,38 +122,33 @@ triangle-map-standard-pullback-postcomp T f g c h =
121122
### Pullbacks are closed under postcomposition exponentiation
122123

123124
```agda
124-
abstract
125-
is-pullback-postcomp-is-pullback :
126-
{l1 l2 l3 l4 l5 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {C : UU l4}
127-
(f : A → X) (g : B → X) (c : cone f g C) → is-pullback f g c →
128-
(T : UU l5) →
129-
is-pullback (postcomp T f) (postcomp T g) (postcomp-cone T f g c)
130-
is-pullback-postcomp-is-pullback f g c is-pb-c T =
131-
is-equiv-top-map-triangle
132-
( cone-map f g c)
133-
( map-standard-pullback-postcomp f g T)
134-
( gap (f ∘_) (g ∘_) (postcomp-cone T f g c))
135-
( triangle-map-standard-pullback-postcomp T f g c)
136-
( is-equiv-map-standard-pullback-postcomp f g T)
137-
( universal-property-pullback-is-pullback f g c is-pb-c T)
138-
139-
abstract
140-
is-pullback-is-pullback-postcomp :
141-
{l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {C : UU l4}
142-
(f : A → X) (g : B → X) (c : cone f g C) →
143-
( {l5 : Level} (T : UU l5) →
144-
is-pullback (postcomp T f) (postcomp T g) (postcomp-cone T f g c)) →
145-
is-pullback f g c
146-
is-pullback-is-pullback-postcomp f g c is-pb-postcomp =
147-
is-pullback-universal-property-pullback f g c
148-
( λ T →
149-
is-equiv-left-map-triangle
150-
( cone-map f g c)
151-
( map-standard-pullback-postcomp f g T)
152-
( gap (f ∘_) (g ∘_) (postcomp-cone T f g c))
153-
( triangle-map-standard-pullback-postcomp T f g c)
154-
( is-pb-postcomp T)
155-
( is-equiv-map-standard-pullback-postcomp f g T))
125+
module _
126+
{l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {C : UU l4}
127+
(f : A → X) (g : B → X) (c : cone f g C)
128+
where
129+
130+
abstract
131+
is-pullback-postcomp-is-pullback :
132+
is-pullback f g c → {l5 : Level} (T : UU l5) →
133+
is-pullback (postcomp T f) (postcomp T g) (postcomp-cone T f g c)
134+
is-pullback-postcomp-is-pullback is-pb-c T =
135+
is-equiv-top-map-triangle _ _ _
136+
( triangle-map-standard-pullback-postcomp T f g c)
137+
( is-equiv-map-standard-pullback-postcomp f g T)
138+
( universal-property-pullback-is-pullback f g c is-pb-c T)
139+
140+
abstract
141+
is-pullback-is-pullback-postcomp :
142+
( {l5 : Level} (T : UU l5) →
143+
is-pullback (postcomp T f) (postcomp T g) (postcomp-cone T f g c)) →
144+
is-pullback f g c
145+
is-pullback-is-pullback-postcomp is-pb-postcomp =
146+
is-pullback-universal-property-pullback f g c
147+
( λ T →
148+
is-equiv-left-map-triangle _ _ _
149+
( triangle-map-standard-pullback-postcomp T f g c)
150+
( is-pb-postcomp T)
151+
( is-equiv-map-standard-pullback-postcomp f g T))
156152
```
157153

158154
### Cones satisfying the universal property of pullbacks are closed under postcomposition exponentiation

src/foundation/type-arithmetic-standard-pullbacks.lagda.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,9 @@ module _
243243

244244
### Unit laws for standard pullbacks
245245

246-
Pulling back along the identity map
246+
Pulling back along the identity map is the identity operation.
247+
248+
#### Left unit law for standard pullbacks
247249

248250
```agda
249251
module _
@@ -302,7 +304,7 @@ module _
302304

303305
### Unit laws for standard pullbacks
304306

305-
Pulling back along the identity map is the identity operation.
307+
#### Right unit law for standard pullbacks
306308

307309
```agda
308310
module _

src/orthogonal-factorization-systems.lagda.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
```agda
1010
module orthogonal-factorization-systems where
1111
12+
open import orthogonal-factorization-systems.anodyne-maps public
1213
open import orthogonal-factorization-systems.cd-structures public
1314
open import orthogonal-factorization-systems.cellular-maps public
1415
open import orthogonal-factorization-systems.closed-modalities public
@@ -71,6 +72,7 @@ open import orthogonal-factorization-systems.types-local-at-maps public
7172
open import orthogonal-factorization-systems.types-separated-at-maps public
7273
open import orthogonal-factorization-systems.uniquely-eliminating-modalities public
7374
open import orthogonal-factorization-systems.universal-property-localizations-at-global-subuniverses public
75+
open import orthogonal-factorization-systems.weakly-anodyne-maps public
7476
open import orthogonal-factorization-systems.wide-function-classes public
7577
open import orthogonal-factorization-systems.wide-global-function-classes public
7678
open import orthogonal-factorization-systems.zero-modality public

0 commit comments

Comments
 (0)