diff --git a/src/foundation-core.lagda.md b/src/foundation-core.lagda.md
index 8291e2bc800..a070b97d8c2 100644
--- a/src/foundation-core.lagda.md
+++ b/src/foundation-core.lagda.md
@@ -28,6 +28,7 @@ open import foundation-core.endomorphisms public
open import foundation-core.equality-dependent-pair-types public
open import foundation-core.equivalence-relations public
open import foundation-core.equivalences public
+open import foundation-core.equivalences-arrows public
open import foundation-core.families-of-equivalences public
open import foundation-core.fibers-of-maps public
open import foundation-core.function-types public
@@ -38,6 +39,7 @@ open import foundation-core.identity-types public
open import foundation-core.injective-maps public
open import foundation-core.invertible-maps public
open import foundation-core.iterating-functions public
+open import foundation-core.monomorphisms public
open import foundation-core.negation public
open import foundation-core.operations-span-diagrams public
open import foundation-core.operations-spans public
diff --git a/src/foundation-core/equivalences-arrows.lagda.md b/src/foundation-core/equivalences-arrows.lagda.md
new file mode 100644
index 00000000000..47c011f38ee
--- /dev/null
+++ b/src/foundation-core/equivalences-arrows.lagda.md
@@ -0,0 +1,265 @@
+# Equivalences of arrows
+
+```agda
+module foundation-core.equivalences-arrows where
+```
+
+Imports
+
+```agda
+open import foundation.commuting-squares-of-maps
+open import foundation.dependent-pair-types
+open import foundation.homotopies
+open import foundation.morphisms-arrows
+open import foundation.span-diagrams
+open import foundation.spans
+open import foundation.universe-levels
+
+open import foundation-core.cartesian-product-types
+open import foundation-core.equivalences
+```
+
+
+
+## Idea
+
+An {{#concept "equivalence of arrows" Agda=equiv-arrow}} from a function
+`f : A → B` to a function `g : X → Y` is a
+[morphism of arrows](foundation.morphisms-arrows.md)
+
+```text
+ i
+ A ------> X
+ | |
+ f | | g
+ ∨ ∨
+ B ------> Y
+ j
+```
+
+in which `i` and `j` are [equivalences](foundation-core.equivalences.md).
+
+## Definitions
+
+### The predicate of being an equivalence of arrows
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
+ (f : A → B) (g : X → Y) (h : hom-arrow f g)
+ where
+
+ is-equiv-hom-arrow : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
+ is-equiv-hom-arrow =
+ ( is-equiv (map-domain-hom-arrow f g h)) ×
+ ( is-equiv (map-codomain-hom-arrow f g h))
+
+ is-equiv-map-domain-is-equiv-hom-arrow :
+ is-equiv-hom-arrow → is-equiv (map-domain-hom-arrow f g h)
+ is-equiv-map-domain-is-equiv-hom-arrow = pr1
+
+ is-equiv-map-codomain-is-equiv-hom-arrow :
+ is-equiv-hom-arrow → is-equiv (map-codomain-hom-arrow f g h)
+ is-equiv-map-codomain-is-equiv-hom-arrow = pr2
+```
+
+### Equivalences of arrows
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
+ (f : A → B) (g : X → Y)
+ where
+
+ coherence-equiv-arrow : (A ≃ X) → (B ≃ Y) → UU (l1 ⊔ l4)
+ coherence-equiv-arrow i j =
+ coherence-hom-arrow f g (map-equiv i) (map-equiv j)
+
+ equiv-arrow : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
+ equiv-arrow = Σ (A ≃ X) (λ i → Σ (B ≃ Y) (coherence-equiv-arrow i))
+
+ module _
+ (e : equiv-arrow)
+ where
+
+ equiv-domain-equiv-arrow : A ≃ X
+ equiv-domain-equiv-arrow = pr1 e
+
+ map-domain-equiv-arrow : A → X
+ map-domain-equiv-arrow = map-equiv equiv-domain-equiv-arrow
+
+ map-inv-domain-equiv-arrow : X → A
+ map-inv-domain-equiv-arrow = map-inv-equiv equiv-domain-equiv-arrow
+
+ is-equiv-map-domain-equiv-arrow : is-equiv map-domain-equiv-arrow
+ is-equiv-map-domain-equiv-arrow =
+ is-equiv-map-equiv equiv-domain-equiv-arrow
+
+ equiv-codomain-equiv-arrow : B ≃ Y
+ equiv-codomain-equiv-arrow = pr1 (pr2 e)
+
+ map-codomain-equiv-arrow : B → Y
+ map-codomain-equiv-arrow = map-equiv equiv-codomain-equiv-arrow
+
+ map-inv-codomain-equiv-arrow : Y → B
+ map-inv-codomain-equiv-arrow = map-inv-equiv equiv-codomain-equiv-arrow
+
+ is-equiv-map-codomain-equiv-arrow : is-equiv map-codomain-equiv-arrow
+ is-equiv-map-codomain-equiv-arrow =
+ is-equiv-map-equiv equiv-codomain-equiv-arrow
+
+ coh-equiv-arrow :
+ coherence-equiv-arrow
+ ( equiv-domain-equiv-arrow)
+ ( equiv-codomain-equiv-arrow)
+ coh-equiv-arrow = pr2 (pr2 e)
+
+ hom-equiv-arrow : hom-arrow f g
+ pr1 hom-equiv-arrow = map-domain-equiv-arrow
+ pr1 (pr2 hom-equiv-arrow) = map-codomain-equiv-arrow
+ pr2 (pr2 hom-equiv-arrow) = coh-equiv-arrow
+
+ is-equiv-equiv-arrow : is-equiv-hom-arrow f g hom-equiv-arrow
+ pr1 is-equiv-equiv-arrow = is-equiv-map-domain-equiv-arrow
+ pr2 is-equiv-equiv-arrow = is-equiv-map-codomain-equiv-arrow
+
+ span-equiv-arrow :
+ span l1 B X
+ span-equiv-arrow =
+ span-hom-arrow f g hom-equiv-arrow
+
+ span-diagram-equiv-arrow : span-diagram l2 l3 l1
+ pr1 span-diagram-equiv-arrow = B
+ pr1 (pr2 span-diagram-equiv-arrow) = X
+ pr2 (pr2 span-diagram-equiv-arrow) = span-equiv-arrow
+```
+
+### The identity equivalence of arrows
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1} {B : UU l2} {f : A → B}
+ where
+
+ id-equiv-arrow : equiv-arrow f f
+ pr1 id-equiv-arrow = id-equiv
+ pr1 (pr2 id-equiv-arrow) = id-equiv
+ pr2 (pr2 id-equiv-arrow) = refl-htpy
+```
+
+### Composition of equivalences of arrows
+
+```agda
+module _
+ {l1 l2 l3 l4 l5 l6 : Level}
+ {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4} {U : UU l5} {V : UU l6}
+ (f : A → B) (g : X → Y) (h : U → V)
+ (b : equiv-arrow g h) (a : equiv-arrow f g)
+ where
+
+ equiv-domain-comp-equiv-arrow : A ≃ U
+ equiv-domain-comp-equiv-arrow =
+ equiv-domain-equiv-arrow g h b ∘e equiv-domain-equiv-arrow f g a
+
+ map-domain-comp-equiv-arrow : A → U
+ map-domain-comp-equiv-arrow = map-equiv equiv-domain-comp-equiv-arrow
+
+ equiv-codomain-comp-equiv-arrow : B ≃ V
+ equiv-codomain-comp-equiv-arrow =
+ equiv-codomain-equiv-arrow g h b ∘e equiv-codomain-equiv-arrow f g a
+
+ map-codomain-comp-equiv-arrow : B → V
+ map-codomain-comp-equiv-arrow = map-equiv equiv-codomain-comp-equiv-arrow
+
+ coh-comp-equiv-arrow :
+ coherence-equiv-arrow f h
+ ( equiv-domain-comp-equiv-arrow)
+ ( equiv-codomain-comp-equiv-arrow)
+ coh-comp-equiv-arrow =
+ coh-comp-hom-arrow f g h
+ ( hom-equiv-arrow g h b)
+ ( hom-equiv-arrow f g a)
+
+ comp-equiv-arrow : equiv-arrow f h
+ pr1 comp-equiv-arrow = equiv-domain-comp-equiv-arrow
+ pr1 (pr2 comp-equiv-arrow) = equiv-codomain-comp-equiv-arrow
+ pr2 (pr2 comp-equiv-arrow) = coh-comp-equiv-arrow
+
+ hom-comp-equiv-arrow : hom-arrow f h
+ hom-comp-equiv-arrow = hom-equiv-arrow f h comp-equiv-arrow
+```
+
+### Inverses of equivalences of arrows
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
+ (f : A → B) (g : X → Y) (α : equiv-arrow f g)
+ where
+
+ equiv-domain-inv-equiv-arrow : X ≃ A
+ equiv-domain-inv-equiv-arrow = inv-equiv (equiv-domain-equiv-arrow f g α)
+
+ map-domain-inv-equiv-arrow : X → A
+ map-domain-inv-equiv-arrow = map-equiv equiv-domain-inv-equiv-arrow
+
+ equiv-codomain-inv-equiv-arrow : Y ≃ B
+ equiv-codomain-inv-equiv-arrow = inv-equiv (equiv-codomain-equiv-arrow f g α)
+
+ map-codomain-inv-equiv-arrow : Y → B
+ map-codomain-inv-equiv-arrow = map-equiv equiv-codomain-inv-equiv-arrow
+
+ coh-inv-equiv-arrow :
+ coherence-equiv-arrow g f
+ ( equiv-domain-inv-equiv-arrow)
+ ( equiv-codomain-inv-equiv-arrow)
+ coh-inv-equiv-arrow =
+ horizontal-inv-equiv-coherence-square-maps
+ ( equiv-domain-equiv-arrow f g α)
+ ( f)
+ ( g)
+ ( equiv-codomain-equiv-arrow f g α)
+ ( coh-equiv-arrow f g α)
+
+ inv-equiv-arrow : equiv-arrow g f
+ pr1 inv-equiv-arrow = equiv-domain-inv-equiv-arrow
+ pr1 (pr2 inv-equiv-arrow) = equiv-codomain-inv-equiv-arrow
+ pr2 (pr2 inv-equiv-arrow) = coh-inv-equiv-arrow
+
+ hom-inv-equiv-arrow : hom-arrow g f
+ hom-inv-equiv-arrow = hom-equiv-arrow g f inv-equiv-arrow
+
+ is-equiv-inv-equiv-arrow : is-equiv-hom-arrow g f hom-inv-equiv-arrow
+ is-equiv-inv-equiv-arrow = is-equiv-equiv-arrow g f inv-equiv-arrow
+```
+
+### If a map is equivalent to an equivalence, then it is an equivalence
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
+ (f : A → B) (g : X → Y) (α : equiv-arrow f g)
+ where
+
+ is-equiv-source-is-equiv-target-equiv-arrow : is-equiv g → is-equiv f
+ is-equiv-source-is-equiv-target-equiv-arrow =
+ is-equiv-left-is-equiv-right-square
+ ( f)
+ ( g)
+ ( map-domain-equiv-arrow f g α)
+ ( map-codomain-equiv-arrow f g α)
+ ( coh-equiv-arrow f g α)
+ ( is-equiv-map-domain-equiv-arrow f g α)
+ ( is-equiv-map-codomain-equiv-arrow f g α)
+
+ is-equiv-target-is-equiv-source-equiv-arrow : is-equiv f → is-equiv g
+ is-equiv-target-is-equiv-source-equiv-arrow =
+ is-equiv-right-is-equiv-left-square
+ ( f)
+ ( g)
+ ( map-domain-equiv-arrow f g α)
+ ( map-codomain-equiv-arrow f g α)
+ ( coh-equiv-arrow f g α)
+ ( is-equiv-map-domain-equiv-arrow f g α)
+ ( is-equiv-map-codomain-equiv-arrow f g α)
+```
diff --git a/src/foundation-core/monomorphisms.lagda.md b/src/foundation-core/monomorphisms.lagda.md
new file mode 100644
index 00000000000..280c0355e7e
--- /dev/null
+++ b/src/foundation-core/monomorphisms.lagda.md
@@ -0,0 +1,161 @@
+# Monomorphisms
+
+```agda
+module foundation-core.monomorphisms where
+```
+
+Imports
+
+```agda
+open import foundation.action-on-identifications-functions
+open import foundation.dependent-pair-types
+open import foundation.embeddings
+open import foundation.function-extensionality
+open import foundation.functoriality-function-types
+open import foundation.postcomposition-functions
+open import foundation.universe-levels
+open import foundation.whiskering-homotopies-composition
+
+open import foundation-core.equivalences
+open import foundation-core.function-types
+open import foundation-core.homotopies
+open import foundation-core.identity-types
+open import foundation-core.propositional-maps
+open import foundation-core.propositions
+open import foundation-core.retractions
+open import foundation-core.sections
+open import foundation-core.truncation-levels
+```
+
+
+
+## Idea
+
+A function `f : A → B` is a
+{{#concept "monomorphism" Disambiguation="of types" Agda=is-mono}} if whenever
+we have two functions `g h : X → A` such that `f ∘ g = f ∘ h`, then in fact
+`g = h`. The correct way to state this in Homotopy Type Theory is to say that
+[postcomposition](foundation-core.postcomposition-functions.md) by `f` is an
+[embedding](foundation-core.embeddings.md).
+
+## Definition
+
+```agda
+module _
+ {l1 l2 : Level} (l3 : Level)
+ {A : UU l1} {B : UU l2} (f : A → B)
+ where
+
+ is-mono-Prop : Prop (l1 ⊔ l2 ⊔ lsuc l3)
+ is-mono-Prop = Π-Prop (UU l3) (λ X → is-emb-Prop (postcomp X f))
+
+ is-mono : UU (l1 ⊔ l2 ⊔ lsuc l3)
+ is-mono = type-Prop is-mono-Prop
+
+ is-prop-is-mono : is-prop is-mono
+ is-prop-is-mono = is-prop-type-Prop is-mono-Prop
+```
+
+## Properties
+
+If `f : A → B` is a monomorphism then for any `g h : X → A` we have an
+equivalence `(f ∘ g = f ∘ h) ≃ (g = h)`. In particular, if `f ∘ g = f ∘ h` then
+`g = h`.
+
+```agda
+module _
+ {l1 l2 : Level} (l3 : Level)
+ {A : UU l1} {B : UU l2} (f : A → B)
+ (p : is-mono l3 f) {X : UU l3} (g h : X → A)
+ where
+
+ equiv-postcomp-is-mono : (g = h) ≃ (f ∘ g = f ∘ h)
+ pr1 equiv-postcomp-is-mono = ap (f ∘_)
+ pr2 equiv-postcomp-is-mono = p X g h
+
+ is-injective-postcomp-is-mono : f ∘ g = f ∘ h → g = h
+ is-injective-postcomp-is-mono = map-inv-equiv equiv-postcomp-is-mono
+```
+
+A function is a monomorphism if and only if it is an embedding.
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A → B)
+ where
+
+ is-mono-is-emb : is-emb f → {l3 : Level} → is-mono l3 f
+ is-mono-is-emb is-emb-f X =
+ is-emb-is-prop-map
+ ( is-trunc-map-postcomp-is-trunc-map neg-one-𝕋 f
+ ( is-prop-map-is-emb is-emb-f)
+ ( X))
+
+ is-emb-is-mono-lzero : is-mono lzero f → is-emb f
+ is-emb-is-mono-lzero is-mono-f =
+ is-emb-is-prop-map
+ ( is-trunc-map-is-trunc-map-postcomp-lzero neg-one-𝕋 f
+ ( λ X → is-prop-map-is-emb (is-mono-f X)))
+
+ is-emb-is-mono : ({l3 : Level} → is-mono l3 f) → is-emb f
+ is-emb-is-mono is-mono-f =
+ is-emb-is-mono-lzero is-mono-f
+
+ equiv-postcomp-is-emb :
+ is-emb f →
+ {l3 : Level} {X : UU l3} (g h : X → A) → (g = h) ≃ (f ∘ g = f ∘ h)
+ equiv-postcomp-is-emb H {l3} = equiv-postcomp-is-mono l3 f (is-mono-is-emb H)
+
+equiv-postcomp-emb :
+ {l1 l2 l3 : Level}
+ {A : UU l1} {B : UU l2} {X : UU l3}
+ (f : A ↪ B) (g h : X → A) →
+ (g = h) ≃ (map-emb f ∘ g = map-emb f ∘ h)
+equiv-postcomp-emb (f , H) = equiv-postcomp-is-emb f H
+```
+
+We construct an explicit equivalence for postcomposition for homotopies between
+functions (rather than equality) when the map is an embedding.
+
+```agda
+module _
+ {l1 l2 l3 : Level}
+ {A : UU l1} {B : UU l2} (f : A ↪ B)
+ {X : UU l3} (g h : X → A)
+ where
+
+ map-inv-equiv-htpy-postcomp-emb :
+ map-emb f ∘ g ~ map-emb f ∘ h → g ~ h
+ map-inv-equiv-htpy-postcomp-emb H x =
+ map-inv-is-equiv (is-emb-map-emb f (g x) (h x)) (H x)
+
+ is-section-map-inv-equiv-htpy-postcomp-emb :
+ is-section
+ ( left-whisker-comp (map-emb f))
+ ( map-inv-equiv-htpy-postcomp-emb)
+ is-section-map-inv-equiv-htpy-postcomp-emb H =
+ eq-htpy
+ ( λ x → is-section-map-inv-is-equiv (is-emb-map-emb f (g x) (h x)) (H x))
+
+ is-retraction-map-inv-equiv-htpy-postcomp-emb :
+ is-retraction
+ ( left-whisker-comp (map-emb f))
+ ( map-inv-equiv-htpy-postcomp-emb)
+ is-retraction-map-inv-equiv-htpy-postcomp-emb H =
+ eq-htpy
+ ( λ x →
+ is-retraction-map-inv-is-equiv (is-emb-map-emb f (g x) (h x)) (H x))
+
+ is-equiv-left-whisker-emb :
+ is-equiv (left-whisker-comp (map-emb f) {g} {h})
+ is-equiv-left-whisker-emb =
+ is-equiv-is-invertible
+ map-inv-equiv-htpy-postcomp-emb
+ is-section-map-inv-equiv-htpy-postcomp-emb
+ is-retraction-map-inv-equiv-htpy-postcomp-emb
+
+ equiv-htpy-postcomp-emb :
+ (g ~ h) ≃ (map-emb f ∘ g ~ map-emb f ∘ h)
+ equiv-htpy-postcomp-emb =
+ ( left-whisker-comp (map-emb f) , is-equiv-left-whisker-emb)
+```
diff --git a/src/foundation-core/retractions.lagda.md b/src/foundation-core/retractions.lagda.md
index bbdeddf6a55..452c9e99b3a 100644
--- a/src/foundation-core/retractions.lagda.md
+++ b/src/foundation-core/retractions.lagda.md
@@ -266,5 +266,5 @@ module _
- Retracts of types are defined in
[`foundation-core.retracts-of-types`](foundation-core.retracts-of-types.md).
-- Retracts of maps are defined in
- [`foundation.retracts-of-maps`](foundation.retracts-of-maps.md).
+- Retracts of arrows are defined in
+ [`foundation.retracts-of-arrows`](foundation.retracts-of-arrows.md).
diff --git a/src/foundation-core/retracts-of-types.lagda.md b/src/foundation-core/retracts-of-types.lagda.md
index 1b18d5e0cef..4de46afa824 100644
--- a/src/foundation-core/retracts-of-types.lagda.md
+++ b/src/foundation-core/retracts-of-types.lagda.md
@@ -236,4 +236,4 @@ syntax step-retract-reasoning e Z f = e retract-of Z by f
## See also
-- [Retracts of maps](foundation.retracts-of-maps.md)
+- [Retracts of arrows](foundation.retracts-of-arrows.md)
diff --git a/src/foundation.lagda.md b/src/foundation.lagda.md
index 931de9244e3..36b6a7ec9b2 100644
--- a/src/foundation.lagda.md
+++ b/src/foundation.lagda.md
@@ -394,7 +394,7 @@ open import foundation.relaxed-sigma-decompositions public
open import foundation.repetitions-of-values public
open import foundation.replacement public
open import foundation.retractions public
-open import foundation.retracts-of-maps public
+open import foundation.retracts-of-arrows public
open import foundation.retracts-of-types public
open import foundation.sections public
open import foundation.separated-types-subuniverses public
diff --git a/src/foundation/composition-spans.lagda.md b/src/foundation/composition-spans.lagda.md
index 2611cdf5b1f..68f79b272ff 100644
--- a/src/foundation/composition-spans.lagda.md
+++ b/src/foundation/composition-spans.lagda.md
@@ -10,7 +10,6 @@ module foundation.composition-spans where
open import foundation.commuting-triangles-of-maps
open import foundation.dependent-pair-types
open import foundation.equivalences
-open import foundation.equivalences-arrows
open import foundation.equivalences-spans
open import foundation.homotopies
open import foundation.identity-types
@@ -22,6 +21,7 @@ open import foundation.standard-pullbacks
open import foundation.type-arithmetic-standard-pullbacks
open import foundation.universe-levels
+open import foundation-core.equivalences-arrows
open import foundation-core.function-types
```
diff --git a/src/foundation/constant-maps.lagda.md b/src/foundation/constant-maps.lagda.md
index dd9b92514d8..ad4abe83c14 100644
--- a/src/foundation/constant-maps.lagda.md
+++ b/src/foundation/constant-maps.lagda.md
@@ -20,7 +20,7 @@ open import foundation.images
open import foundation.morphisms-arrows
open import foundation.postcomposition-functions
open import foundation.propositional-truncations
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.retracts-of-types
open import foundation.transposition-identifications-along-equivalences
open import foundation.type-arithmetic-unit-type
diff --git a/src/foundation/decidable-embeddings.lagda.md b/src/foundation/decidable-embeddings.lagda.md
index 70856d62e23..d53374b3e2f 100644
--- a/src/foundation/decidable-embeddings.lagda.md
+++ b/src/foundation/decidable-embeddings.lagda.md
@@ -23,7 +23,7 @@ open import foundation.identity-types
open import foundation.logical-equivalences
open import foundation.propositional-maps
open import foundation.propositions
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.small-maps
open import foundation.subtype-identity-principle
open import foundation.type-arithmetic-dependent-pair-types
@@ -583,7 +583,7 @@ module _
( is-decidable-prop-map-is-decidable-emb F))
```
-### Decidable embeddings are closed under retracts of maps
+### Decidable embeddings are closed under retracts of arrows
```agda
module _
@@ -591,18 +591,18 @@ module _
{f : A → B} {g : X → Y}
where
- is-decidable-prop-map-retract-map :
- f retract-of-map g → is-decidable-prop-map g → is-decidable-prop-map f
- is-decidable-prop-map-retract-map R G x =
+ is-decidable-prop-map-retract-arrow :
+ f retract-of-arrow g → is-decidable-prop-map g → is-decidable-prop-map f
+ is-decidable-prop-map-retract-arrow R G x =
is-decidable-prop-retract-of
- ( retract-fiber-retract-map f g R x)
- ( G (map-codomain-inclusion-retract-map f g R x))
+ ( retract-fiber-retract-arrow f g R x)
+ ( G (map-codomain-inclusion-retract-arrow f g R x))
- is-decidable-emb-retract-map :
- f retract-of-map g → is-decidable-emb g → is-decidable-emb f
- is-decidable-emb-retract-map R G =
+ is-decidable-emb-retract-arrow :
+ f retract-of-arrow g → is-decidable-emb g → is-decidable-emb f
+ is-decidable-emb-retract-arrow R G =
is-decidable-emb-is-decidable-prop-map
- ( is-decidable-prop-map-retract-map R
+ ( is-decidable-prop-map-retract-arrow R
( is-decidable-prop-map-is-decidable-emb G))
```
diff --git a/src/foundation/decidable-maps.lagda.md b/src/foundation/decidable-maps.lagda.md
index 89cb4cd7183..09ba8a8ec84 100644
--- a/src/foundation/decidable-maps.lagda.md
+++ b/src/foundation/decidable-maps.lagda.md
@@ -23,7 +23,7 @@ open import foundation.hilbert-epsilon-operators-maps
open import foundation.identity-types
open import foundation.iterating-functions
open import foundation.propositional-truncations
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.transport-along-identifications
open import foundation.universe-levels
@@ -312,7 +312,7 @@ module _
( F (map-codomain-cartesian-hom-arrow g f α d))
```
-### Decidable maps are closed under retracts of maps
+### Decidable maps are closed under retracts of arrows
```agda
module _
@@ -320,12 +320,12 @@ module _
{f : A → B} {g : X → Y}
where
- is-decidable-retract-map :
- f retract-of-map g → is-decidable-map g → is-decidable-map f
- is-decidable-retract-map R G x =
+ is-decidable-retract-arrow :
+ f retract-of-arrow g → is-decidable-map g → is-decidable-map f
+ is-decidable-retract-arrow R G x =
is-decidable-retract-of
- ( retract-fiber-retract-map f g R x)
- ( G (map-codomain-inclusion-retract-map f g R x))
+ ( retract-fiber-retract-arrow f g R x)
+ ( G (map-codomain-inclusion-retract-arrow f g R x))
```
### Decidable maps have Hilbert ε-operators
diff --git a/src/foundation/embeddings.lagda.md b/src/foundation/embeddings.lagda.md
index 9d0c224af31..998e86d5f78 100644
--- a/src/foundation/embeddings.lagda.md
+++ b/src/foundation/embeddings.lagda.md
@@ -378,7 +378,7 @@ module _
( is-prop-map-is-emb is-emb-f))
```
-### In a commuting square of which the sides are embeddings, the top map is an embedding if and only if the bottom map is an embedding
+### In a commuting square of which the sides are equivalences, the top map is an embedding if and only if the bottom map is an embedding
```agda
module _
diff --git a/src/foundation/equivalences-arrows.lagda.md b/src/foundation/equivalences-arrows.lagda.md
index de15f1eb08c..12845486f87 100644
--- a/src/foundation/equivalences-arrows.lagda.md
+++ b/src/foundation/equivalences-arrows.lagda.md
@@ -2,6 +2,8 @@
```agda
module foundation.equivalences-arrows where
+
+open import foundation-core.equivalences-arrows public
```
Imports
@@ -10,11 +12,12 @@ module foundation.equivalences-arrows where
open import foundation.cartesian-morphisms-arrows
open import foundation.commuting-squares-of-maps
open import foundation.dependent-pair-types
+open import foundation.embeddings
open import foundation.equivalences
open import foundation.homotopies
open import foundation.morphisms-arrows
open import foundation.retractions
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.sections
open import foundation.span-diagrams
open import foundation.spans
@@ -27,24 +30,24 @@ open import foundation-core.propositions
## Idea
-An {{#concept "equivalence of arrows"}} from a function `f : A → B` to a
-function `g : X → Y` is a [morphism of arrows](foundation.morphisms-arrows.md)
+An **equivalence of arrows** from a function `f : A → B` to a function
+`g : X → Y` is a [morphism of arrows](foundation.morphisms-arrows.md)
```text
i
A ------> X
- | ≃ |
+ | |
f | | g
- ∨ ≃ ∨
+ ∨ ∨
B ------> Y
j
```
in which `i` and `j` are [equivalences](foundation-core.equivalences.md).
-## Definitions
+## Properties
-### The predicate of being an equivalence of arrows
+### Being an equivalence of arrows is a proposition
```agda
module _
@@ -58,193 +61,11 @@ module _
( is-equiv-Prop (map-domain-hom-arrow f g h))
( is-equiv-Prop (map-codomain-hom-arrow f g h))
- is-equiv-hom-arrow : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
- is-equiv-hom-arrow =
- type-Prop is-equiv-prop-hom-arrow
-
- is-prop-is-equiv-hom-arrow : is-prop is-equiv-hom-arrow
+ is-prop-is-equiv-hom-arrow : is-prop (is-equiv-hom-arrow f g h)
is-prop-is-equiv-hom-arrow = is-prop-type-Prop is-equiv-prop-hom-arrow
-
- is-equiv-map-domain-is-equiv-hom-arrow :
- is-equiv-hom-arrow → is-equiv (map-domain-hom-arrow f g h)
- is-equiv-map-domain-is-equiv-hom-arrow = pr1
-
- is-equiv-map-codomain-is-equiv-hom-arrow :
- is-equiv-hom-arrow → is-equiv (map-codomain-hom-arrow f g h)
- is-equiv-map-codomain-is-equiv-hom-arrow = pr2
```
-### Equivalences of arrows
-
-```agda
-module _
- {l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
- (f : A → B) (g : X → Y)
- where
-
- coherence-equiv-arrow : (A ≃ X) → (B ≃ Y) → UU (l1 ⊔ l4)
- coherence-equiv-arrow i j =
- coherence-hom-arrow f g (map-equiv i) (map-equiv j)
-
- equiv-arrow : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
- equiv-arrow = Σ (A ≃ X) (λ i → Σ (B ≃ Y) (coherence-equiv-arrow i))
-
- module _
- (e : equiv-arrow)
- where
-
- equiv-domain-equiv-arrow : A ≃ X
- equiv-domain-equiv-arrow = pr1 e
-
- map-domain-equiv-arrow : A → X
- map-domain-equiv-arrow = map-equiv equiv-domain-equiv-arrow
-
- map-inv-domain-equiv-arrow : X → A
- map-inv-domain-equiv-arrow = map-inv-equiv equiv-domain-equiv-arrow
-
- is-equiv-map-domain-equiv-arrow : is-equiv map-domain-equiv-arrow
- is-equiv-map-domain-equiv-arrow =
- is-equiv-map-equiv equiv-domain-equiv-arrow
-
- equiv-codomain-equiv-arrow : B ≃ Y
- equiv-codomain-equiv-arrow = pr1 (pr2 e)
-
- map-codomain-equiv-arrow : B → Y
- map-codomain-equiv-arrow = map-equiv equiv-codomain-equiv-arrow
-
- map-inv-codomain-equiv-arrow : Y → B
- map-inv-codomain-equiv-arrow = map-inv-equiv equiv-codomain-equiv-arrow
-
- is-equiv-map-codomain-equiv-arrow : is-equiv map-codomain-equiv-arrow
- is-equiv-map-codomain-equiv-arrow =
- is-equiv-map-equiv equiv-codomain-equiv-arrow
-
- coh-equiv-arrow :
- coherence-equiv-arrow
- ( equiv-domain-equiv-arrow)
- ( equiv-codomain-equiv-arrow)
- coh-equiv-arrow = pr2 (pr2 e)
-
- hom-equiv-arrow : hom-arrow f g
- pr1 hom-equiv-arrow = map-domain-equiv-arrow
- pr1 (pr2 hom-equiv-arrow) = map-codomain-equiv-arrow
- pr2 (pr2 hom-equiv-arrow) = coh-equiv-arrow
-
- is-equiv-equiv-arrow : is-equiv-hom-arrow f g hom-equiv-arrow
- pr1 is-equiv-equiv-arrow = is-equiv-map-domain-equiv-arrow
- pr2 is-equiv-equiv-arrow = is-equiv-map-codomain-equiv-arrow
-
- span-equiv-arrow :
- span l1 B X
- span-equiv-arrow =
- span-hom-arrow f g hom-equiv-arrow
-
- span-diagram-equiv-arrow : span-diagram l2 l3 l1
- pr1 span-diagram-equiv-arrow = B
- pr1 (pr2 span-diagram-equiv-arrow) = X
- pr2 (pr2 span-diagram-equiv-arrow) = span-equiv-arrow
-```
-
-### The identity equivalence of arrows
-
-```agda
-module _
- {l1 l2 : Level} {A : UU l1} {B : UU l2} {f : A → B}
- where
-
- id-equiv-arrow : equiv-arrow f f
- pr1 id-equiv-arrow = id-equiv
- pr1 (pr2 id-equiv-arrow) = id-equiv
- pr2 (pr2 id-equiv-arrow) = refl-htpy
-```
-
-### Composition of equivalences of arrows
-
-```agda
-module _
- {l1 l2 l3 l4 l5 l6 : Level}
- {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4} {U : UU l5} {V : UU l6}
- (f : A → B) (g : X → Y) (h : U → V)
- (b : equiv-arrow g h) (a : equiv-arrow f g)
- where
-
- equiv-domain-comp-equiv-arrow : A ≃ U
- equiv-domain-comp-equiv-arrow =
- equiv-domain-equiv-arrow g h b ∘e equiv-domain-equiv-arrow f g a
-
- map-domain-comp-equiv-arrow : A → U
- map-domain-comp-equiv-arrow = map-equiv equiv-domain-comp-equiv-arrow
-
- equiv-codomain-comp-equiv-arrow : B ≃ V
- equiv-codomain-comp-equiv-arrow =
- equiv-codomain-equiv-arrow g h b ∘e equiv-codomain-equiv-arrow f g a
-
- map-codomain-comp-equiv-arrow : B → V
- map-codomain-comp-equiv-arrow = map-equiv equiv-codomain-comp-equiv-arrow
-
- coh-comp-equiv-arrow :
- coherence-equiv-arrow f h
- ( equiv-domain-comp-equiv-arrow)
- ( equiv-codomain-comp-equiv-arrow)
- coh-comp-equiv-arrow =
- coh-comp-hom-arrow f g h
- ( hom-equiv-arrow g h b)
- ( hom-equiv-arrow f g a)
-
- comp-equiv-arrow : equiv-arrow f h
- pr1 comp-equiv-arrow = equiv-domain-comp-equiv-arrow
- pr1 (pr2 comp-equiv-arrow) = equiv-codomain-comp-equiv-arrow
- pr2 (pr2 comp-equiv-arrow) = coh-comp-equiv-arrow
-
- hom-comp-equiv-arrow : hom-arrow f h
- hom-comp-equiv-arrow = hom-equiv-arrow f h comp-equiv-arrow
-```
-
-### Inverses of equivalences of arrows
-
-```agda
-module _
- {l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
- (f : A → B) (g : X → Y) (α : equiv-arrow f g)
- where
-
- equiv-domain-inv-equiv-arrow : X ≃ A
- equiv-domain-inv-equiv-arrow = inv-equiv (equiv-domain-equiv-arrow f g α)
-
- map-domain-inv-equiv-arrow : X → A
- map-domain-inv-equiv-arrow = map-equiv equiv-domain-inv-equiv-arrow
-
- equiv-codomain-inv-equiv-arrow : Y ≃ B
- equiv-codomain-inv-equiv-arrow = inv-equiv (equiv-codomain-equiv-arrow f g α)
-
- map-codomain-inv-equiv-arrow : Y → B
- map-codomain-inv-equiv-arrow = map-equiv equiv-codomain-inv-equiv-arrow
-
- coh-inv-equiv-arrow :
- coherence-equiv-arrow g f
- ( equiv-domain-inv-equiv-arrow)
- ( equiv-codomain-inv-equiv-arrow)
- coh-inv-equiv-arrow =
- horizontal-inv-equiv-coherence-square-maps
- ( equiv-domain-equiv-arrow f g α)
- ( f)
- ( g)
- ( equiv-codomain-equiv-arrow f g α)
- ( coh-equiv-arrow f g α)
-
- inv-equiv-arrow : equiv-arrow g f
- pr1 inv-equiv-arrow = equiv-domain-inv-equiv-arrow
- pr1 (pr2 inv-equiv-arrow) = equiv-codomain-inv-equiv-arrow
- pr2 (pr2 inv-equiv-arrow) = coh-inv-equiv-arrow
-
- hom-inv-equiv-arrow : hom-arrow g f
- hom-inv-equiv-arrow = hom-equiv-arrow g f inv-equiv-arrow
-
- is-equiv-inv-equiv-arrow : is-equiv-hom-arrow g f hom-inv-equiv-arrow
- is-equiv-inv-equiv-arrow = is-equiv-equiv-arrow g f inv-equiv-arrow
-```
-
-### If a map is equivalent to an equivalence, then it is an equivalence
+### If a map is equivalent to an embedding, then it is an embedding
```agda
module _
@@ -252,25 +73,25 @@ module _
(f : A → B) (g : X → Y) (α : equiv-arrow f g)
where
- is-equiv-source-is-equiv-target-equiv-arrow : is-equiv g → is-equiv f
- is-equiv-source-is-equiv-target-equiv-arrow =
- is-equiv-left-is-equiv-right-square
+ is-emb-source-is-emb-target-equiv-arrow : is-emb g → is-emb f
+ is-emb-source-is-emb-target-equiv-arrow =
+ is-emb-top-is-emb-bottom-is-equiv-coherence-square-maps
( f)
- ( g)
( map-domain-equiv-arrow f g α)
( map-codomain-equiv-arrow f g α)
- ( coh-equiv-arrow f g α)
+ ( g)
+ ( inv-htpy (coh-equiv-arrow f g α))
( is-equiv-map-domain-equiv-arrow f g α)
( is-equiv-map-codomain-equiv-arrow f g α)
- is-equiv-target-is-equiv-source-equiv-arrow : is-equiv f → is-equiv g
- is-equiv-target-is-equiv-source-equiv-arrow =
- is-equiv-right-is-equiv-left-square
+ is-emb-target-is-emb-source-equiv-arrow : is-emb f → is-emb g
+ is-emb-target-is-emb-source-equiv-arrow =
+ is-emb-bottom-is-emb-top-is-equiv-coherence-square-maps
( f)
- ( g)
( map-domain-equiv-arrow f g α)
( map-codomain-equiv-arrow f g α)
- ( coh-equiv-arrow f g α)
+ ( g)
+ ( inv-htpy (coh-equiv-arrow f g α))
( is-equiv-map-domain-equiv-arrow f g α)
( is-equiv-map-codomain-equiv-arrow f g α)
```
@@ -309,7 +130,7 @@ module _
reflects-retraction-equiv-arrow :
equiv-arrow f g → retraction g → retraction f
reflects-retraction-equiv-arrow α =
- retraction-retract-map-retraction' f g
+ retraction-retract-arrow-retraction' f g
( retract-equiv (equiv-domain-equiv-arrow f g α))
( map-codomain-equiv-arrow f g α)
( coh-equiv-arrow f g α)
@@ -330,7 +151,7 @@ module _
preserves-section-equiv-arrow : equiv-arrow f g → section f → section g
preserves-section-equiv-arrow α =
- section-retract-map-section' g f
+ section-retract-arrow-section' g f
( map-domain-equiv-arrow f g α)
( retract-inv-equiv (equiv-codomain-equiv-arrow f g α))
( coh-equiv-arrow f g α)
diff --git a/src/foundation/equivalences-double-arrows.lagda.md b/src/foundation/equivalences-double-arrows.lagda.md
index 54c7f508e0d..d5b83f68c03 100644
--- a/src/foundation/equivalences-double-arrows.lagda.md
+++ b/src/foundation/equivalences-double-arrows.lagda.md
@@ -12,10 +12,11 @@ open import foundation.commuting-squares-of-maps
open import foundation.dependent-pair-types
open import foundation.double-arrows
open import foundation.equivalences
-open import foundation.equivalences-arrows
open import foundation.homotopies
open import foundation.morphisms-double-arrows
open import foundation.universe-levels
+
+open import foundation-core.equivalences-arrows
```
@@ -45,8 +46,8 @@ referred to as the _domain equivalence_, and the `j` as the _codomain
equivalence_.
Alternatively, an equivalence of double arrows is a pair of
-[equivalences of arrows](foundation.equivalences-arrows.md) `f ≃ h` and `g ≃ k`
-that share the underlying maps.
+[equivalences of arrows](foundation-core.equivalences-arrows.md) `f ≃ h` and
+`g ≃ k` that share the underlying maps.
## Definitions
diff --git a/src/foundation/equivalences-span-diagrams.lagda.md b/src/foundation/equivalences-span-diagrams.lagda.md
index 92238d6cff9..83c132a950f 100644
--- a/src/foundation/equivalences-span-diagrams.lagda.md
+++ b/src/foundation/equivalences-span-diagrams.lagda.md
@@ -10,7 +10,6 @@ module foundation.equivalences-span-diagrams where
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
open import foundation.equivalences
-open import foundation.equivalences-arrows
open import foundation.equivalences-spans
open import foundation.fundamental-theorem-of-identity-types
open import foundation.morphisms-span-diagrams
@@ -24,6 +23,7 @@ open import foundation.univalence
open import foundation.universe-levels
open import foundation-core.commuting-squares-of-maps
+open import foundation-core.equivalences-arrows
open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.identity-types
open import foundation-core.torsorial-type-families
diff --git a/src/foundation/fibered-equivalences.lagda.md b/src/foundation/fibered-equivalences.lagda.md
index 3d899df149c..0f0651ceff8 100644
--- a/src/foundation/fibered-equivalences.lagda.md
+++ b/src/foundation/fibered-equivalences.lagda.md
@@ -395,5 +395,5 @@ module _
## See also
-- [Equivalences of arrows](foundation.equivalences-arrows.md) for the same
+- [Equivalences of arrows](foundation-core.equivalences-arrows.md) for the same
concept under a different name.
diff --git a/src/foundation/functoriality-cartesian-product-types.lagda.md b/src/foundation/functoriality-cartesian-product-types.lagda.md
index 08be06910b8..128fb80cf1e 100644
--- a/src/foundation/functoriality-cartesian-product-types.lagda.md
+++ b/src/foundation/functoriality-cartesian-product-types.lagda.md
@@ -192,8 +192,8 @@ module _
( map-retraction-map-product f g H K ,
retraction-map-retraction-map-product f g H K)
- retract-map-product : A retract-of C → B retract-of D → A × B retract-of C × D
- retract-map-product (f , retraction-f) (g , retraction-g) =
+ retract-product : A retract-of C → B retract-of D → A × B retract-of C × D
+ retract-product (f , retraction-f) (g , retraction-g) =
( map-product f g , retraction-map-product f g retraction-f retraction-g)
```
@@ -262,35 +262,43 @@ module _
(f : A → C) (g : B → D)
where
+ is-contr-map-left-factor-is-contr-map-map-product' :
+ D → is-contr-map (map-product f g) → is-contr-map f
+ is-contr-map-left-factor-is-contr-map-map-product' d is-contr-map-fg x =
+ is-contr-left-factor-product
+ ( fiber f x)
+ ( fiber g d)
+ ( is-contr-is-equiv'
+ ( fiber (map-product f g) (x , d))
+ ( map-compute-fiber-map-product f g (x , d))
+ ( is-equiv-map-compute-fiber-map-product f g (x , d))
+ ( is-contr-map-fg (x , d)))
+
is-equiv-left-factor-is-equiv-map-product' :
D → is-equiv (map-product f g) → is-equiv f
- is-equiv-left-factor-is-equiv-map-product'
- d is-equiv-fg =
+ is-equiv-left-factor-is-equiv-map-product' d is-equiv-fg =
is-equiv-is-contr-map
- ( λ x →
- is-contr-left-factor-product
- ( fiber f x)
- ( fiber g d)
- ( is-contr-is-equiv'
- ( fiber (map-product f g) (x , d))
- ( map-compute-fiber-map-product f g (x , d))
- ( is-equiv-map-compute-fiber-map-product f g (x , d))
- ( is-contr-map-is-equiv is-equiv-fg (x , d))))
+ ( is-contr-map-left-factor-is-contr-map-map-product' d
+ ( is-contr-map-is-equiv is-equiv-fg))
+
+ is-contr-map-right-factor-is-contr-map-map-product' :
+ C → is-contr-map (map-product f g) → is-contr-map g
+ is-contr-map-right-factor-is-contr-map-map-product' c is-contr-map-fg y =
+ is-contr-right-factor-product
+ ( fiber f c)
+ ( fiber g y)
+ ( is-contr-is-equiv'
+ ( fiber (map-product f g) (c , y))
+ ( map-compute-fiber-map-product f g (c , y))
+ ( is-equiv-map-compute-fiber-map-product f g (c , y))
+ ( is-contr-map-fg (c , y)))
is-equiv-right-factor-is-equiv-map-product' :
C → is-equiv (map-product f g) → is-equiv g
- is-equiv-right-factor-is-equiv-map-product'
- c is-equiv-fg =
+ is-equiv-right-factor-is-equiv-map-product' c is-equiv-fg =
is-equiv-is-contr-map
- ( λ y →
- is-contr-right-factor-product
- ( fiber f c)
- ( fiber g y)
- ( is-contr-is-equiv'
- ( fiber (map-product f g) (c , y))
- ( map-compute-fiber-map-product f g (c , y))
- ( is-equiv-map-compute-fiber-map-product f g (c , y))
- ( is-contr-map-is-equiv is-equiv-fg (c , y))))
+ ( is-contr-map-right-factor-is-contr-map-map-product' c
+ ( is-contr-map-is-equiv is-equiv-fg))
```
### The functorial action of products on arrows
diff --git a/src/foundation/functoriality-dependent-function-types.lagda.md b/src/foundation/functoriality-dependent-function-types.lagda.md
index cc9c75b5652..a0273cd5a12 100644
--- a/src/foundation/functoriality-dependent-function-types.lagda.md
+++ b/src/foundation/functoriality-dependent-function-types.lagda.md
@@ -180,11 +180,11 @@ module _
( compute-fiber-map-Π' α f h)
( is-trunc-Π k (λ j → H (α j) (h j)))
- is-trunc-map-is-trunc-map-map-Π' :
+ is-trunc-map-is-trunc-map-map-Π'-lzero :
(k : 𝕋) (f : (i : I) → A i → B i) →
- ({l : Level} {J : UU l} (α : J → I) → is-trunc-map k (map-Π' α f)) →
+ ({J : UU lzero} (α : J → I) → is-trunc-map k (map-Π' α f)) →
(i : I) → is-trunc-map k (f i)
- is-trunc-map-is-trunc-map-map-Π' k f H i b =
+ is-trunc-map-is-trunc-map-map-Π'-lzero k f H i b =
is-trunc-equiv' k
( fiber (map-Π (λ _ → f i)) (point b))
( equiv-Σ
@@ -197,6 +197,13 @@ module _
( point b)))
( H (λ _ → i) (point b))
+ is-trunc-map-is-trunc-map-map-Π' :
+ (k : 𝕋) (f : (i : I) → A i → B i) →
+ ({l : Level} {J : UU l} (α : J → I) → is-trunc-map k (map-Π' α f)) →
+ (i : I) → is-trunc-map k (f i)
+ is-trunc-map-is-trunc-map-map-Π' k f H i b =
+ is-trunc-map-is-trunc-map-map-Π'-lzero k f H i b
+
is-emb-map-Π' :
{l4 : Level} {J : UU l4} (α : J → I) (f : (i : I) → A i → B i) →
((i : I) → is-emb (f i)) → is-emb (map-Π' α f)
diff --git a/src/foundation/functoriality-fibers-of-maps.lagda.md b/src/foundation/functoriality-fibers-of-maps.lagda.md
index 7ecce367511..f595fb3e94c 100644
--- a/src/foundation/functoriality-fibers-of-maps.lagda.md
+++ b/src/foundation/functoriality-fibers-of-maps.lagda.md
@@ -562,8 +562,9 @@ module _
## See also
-- In [retracts of maps](foundation.retracts-of-maps.md), we show that if `g` is
- a retract of `g'`, then the fibers of `g` are retracts of the fibers of `g'`.
+- In [retracts of arrows](foundation.retracts-of-arrows.md), we show that if `g`
+ is a retract of `g'`, then the fibers of `g` are retracts of the fibers of
+ `g'`.
## Table of files about fibers of maps
diff --git a/src/foundation/functoriality-function-types.lagda.md b/src/foundation/functoriality-function-types.lagda.md
index 7797a47622c..55cee9d1d96 100644
--- a/src/foundation/functoriality-function-types.lagda.md
+++ b/src/foundation/functoriality-function-types.lagda.md
@@ -73,14 +73,20 @@ module _
is-trunc-map-postcomp-is-trunc-map is-trunc-f A =
is-trunc-map-map-Π' k (terminal-map A) (point f) (point is-trunc-f)
+ is-trunc-map-is-trunc-map-postcomp-lzero :
+ ((A : UU lzero) → is-trunc-map k (postcomp A f)) →
+ is-trunc-map k f
+ is-trunc-map-is-trunc-map-postcomp-lzero is-trunc-postcomp-f =
+ is-trunc-map-is-trunc-map-map-Π'-lzero k
+ ( point f)
+ ( λ {J} α → is-trunc-postcomp-f J)
+ ( star)
+
is-trunc-map-is-trunc-map-postcomp :
({l3 : Level} (A : UU l3) → is-trunc-map k (postcomp A f)) →
is-trunc-map k f
is-trunc-map-is-trunc-map-postcomp is-trunc-postcomp-f =
- is-trunc-map-is-trunc-map-map-Π' k
- ( point f)
- ( λ {l} {J} α → is-trunc-postcomp-f {l} J)
- ( star)
+ is-trunc-map-is-trunc-map-postcomp-lzero is-trunc-postcomp-f
module _
{l1 l2 : Level} {X : UU l1} {Y : UU l2} (f : X → Y)
@@ -95,13 +101,19 @@ module _
( is-prop-map-is-emb is-emb-f)
( A))
+ is-emb-is-emb-postcomp-lzero :
+ ((A : UU lzero) → is-emb (postcomp A f)) →
+ is-emb f
+ is-emb-is-emb-postcomp-lzero is-emb-postcomp-f =
+ is-emb-is-prop-map
+ ( is-trunc-map-is-trunc-map-postcomp-lzero neg-one-𝕋 f
+ ( is-prop-map-is-emb ∘ is-emb-postcomp-f))
+
is-emb-is-emb-postcomp :
({l3 : Level} (A : UU l3) → is-emb (postcomp A f)) →
is-emb f
is-emb-is-emb-postcomp is-emb-postcomp-f =
- is-emb-is-prop-map
- ( is-trunc-map-is-trunc-map-postcomp neg-one-𝕋 f
- ( is-prop-map-is-emb ∘ is-emb-postcomp-f))
+ is-emb-is-emb-postcomp-lzero is-emb-postcomp-f
emb-postcomp :
{l1 l2 l3 : Level} {X : UU l1} {Y : UU l2} (f : X ↪ Y) (A : UU l3) →
diff --git a/src/foundation/functoriality-morphisms-arrows.lagda.md b/src/foundation/functoriality-morphisms-arrows.lagda.md
index a8cdd6b3870..89d08abf0c5 100644
--- a/src/foundation/functoriality-morphisms-arrows.lagda.md
+++ b/src/foundation/functoriality-morphisms-arrows.lagda.md
@@ -31,7 +31,7 @@ open import foundation.precomposition-functions
open import foundation.pullback-cones
open import foundation.pullbacks
open import foundation.retractions
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.sections
open import foundation.standard-pullbacks
open import foundation.universe-levels
diff --git a/src/foundation/horizontal-composition-spans-of-spans.lagda.md b/src/foundation/horizontal-composition-spans-of-spans.lagda.md
index eed15671157..4ec5e8622ea 100644
--- a/src/foundation/horizontal-composition-spans-of-spans.lagda.md
+++ b/src/foundation/horizontal-composition-spans-of-spans.lagda.md
@@ -12,7 +12,6 @@ open import foundation.composition-spans
open import foundation.cones-over-cospan-diagrams
open import foundation.dependent-pair-types
open import foundation.equivalences
-open import foundation.equivalences-arrows
open import foundation.equivalences-spans
open import foundation.homotopies
open import foundation.identity-types
@@ -26,6 +25,7 @@ open import foundation.type-arithmetic-standard-pullbacks
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
+open import foundation-core.equivalences-arrows
open import foundation-core.function-types
```
diff --git a/src/foundation/mere-path-cosplit-maps.lagda.md b/src/foundation/mere-path-cosplit-maps.lagda.md
index a32550ef062..3bf95ad14f3 100644
--- a/src/foundation/mere-path-cosplit-maps.lagda.md
+++ b/src/foundation/mere-path-cosplit-maps.lagda.md
@@ -9,7 +9,6 @@ module foundation.mere-path-cosplit-maps where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
-open import foundation.equivalences-arrows
open import foundation.functoriality-propositional-truncation
open import foundation.inhabited-types
open import foundation.iterated-dependent-product-types
@@ -22,6 +21,7 @@ open import foundation.universe-levels
open import foundation-core.contractible-maps
open import foundation-core.contractible-types
open import foundation-core.equivalences
+open import foundation-core.equivalences-arrows
open import foundation-core.function-types
open import foundation-core.homotopies
open import foundation-core.propositions
diff --git a/src/foundation/monomorphisms.lagda.md b/src/foundation/monomorphisms.lagda.md
index 278c91c4350..9e37833ea6d 100644
--- a/src/foundation/monomorphisms.lagda.md
+++ b/src/foundation/monomorphisms.lagda.md
@@ -2,143 +2,70 @@
```agda
module foundation.monomorphisms where
+
+open import foundation-core.monomorphisms public
```
Imports
```agda
-open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.embeddings
-open import foundation.function-extensionality
-open import foundation.functoriality-function-types
+open import foundation.logical-equivalences
open import foundation.postcomposition-functions
+open import foundation.precomposition-functions
+open import foundation.raising-universe-levels
+open import foundation.universal-property-equivalences
open import foundation.universe-levels
-open import foundation.whiskering-homotopies-composition
open import foundation-core.equivalences
-open import foundation-core.function-types
open import foundation-core.homotopies
-open import foundation-core.identity-types
-open import foundation-core.propositional-maps
-open import foundation-core.propositions
-open import foundation-core.truncation-levels
+open import foundation-core.small-types
```
## Idea
-A function `f : A → B` is a monomorphism if whenever we have two functions
-`g h : X → A` such that `f ∘ g = f ∘ h`, then in fact `g = h`. The way to state
-this in Homotopy Type Theory is to say that postcomposition by `f` is an
-embedding.
-
-## Definition
-
-```agda
-module _
- {l1 l2 : Level} (l3 : Level)
- {A : UU l1} {B : UU l2} (f : A → B)
- where
-
- is-mono-Prop : Prop (l1 ⊔ l2 ⊔ lsuc l3)
- is-mono-Prop = Π-Prop (UU l3) λ X → is-emb-Prop (postcomp X f)
-
- is-mono : UU (l1 ⊔ l2 ⊔ lsuc l3)
- is-mono = type-Prop is-mono-Prop
-
- is-prop-is-mono : is-prop is-mono
- is-prop-is-mono = is-prop-type-Prop is-mono-Prop
-```
+A function `f : A → B` is a
+{{#concept "monomorphism" Disambiguation="of types" Agda=is-mono}} if whenever
+we have two functions `g h : X → A` such that `f ∘ g = f ∘ h`, then in fact
+`g = h`. The correct way to state this in Homotopy Type Theory is to say that
+[postcomposition](foundation-core.postcomposition-functions.md) by `f` is an
+[embedding](foundation-core.embeddings.md).
## Properties
-If `f : A → B` is a monomorphism then for any `g h : X → A` we have an
-equivalence `(f ∘ g = f ∘ h) ≃ (g = h)`. In particular, if `f ∘ g = f ∘ h` then
-`g = h`.
-
-```agda
-module _
- {l1 l2 : Level} (l3 : Level)
- {A : UU l1} {B : UU l2} (f : A → B)
- (p : is-mono l3 f) {X : UU l3} (g h : X → A)
- where
-
- equiv-postcomp-is-mono : (g = h) ≃ (f ∘ g = f ∘ h)
- pr1 equiv-postcomp-is-mono = ap (f ∘_)
- pr2 equiv-postcomp-is-mono = p X g h
-
- is-injective-postcomp-is-mono : (f ∘ g) = (f ∘ h) → g = h
- is-injective-postcomp-is-mono = map-inv-equiv equiv-postcomp-is-mono
-```
-
-A function is a monomorphism if and only if it is an embedding.
+### Smallness of the mono predicate
```agda
module _
{l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A → B)
where
- is-mono-is-emb : is-emb f → {l3 : Level} → is-mono l3 f
- is-mono-is-emb is-emb-f X =
- is-emb-is-prop-map
- ( is-trunc-map-postcomp-is-trunc-map neg-one-𝕋 f
- ( is-prop-map-is-emb is-emb-f)
- ( X))
-
- is-emb-is-mono : ({l3 : Level} → is-mono l3 f) → is-emb f
- is-emb-is-mono is-mono-f =
- is-emb-is-prop-map
- ( is-trunc-map-is-trunc-map-postcomp neg-one-𝕋 f
- ( λ X → is-prop-map-is-emb (is-mono-f X)))
-
- equiv-postcomp-is-emb :
- is-emb f →
- {l3 : Level} {X : UU l3} (g h : X → A) → (g = h) ≃ (f ∘ g = f ∘ h)
- equiv-postcomp-is-emb H {l3} = equiv-postcomp-is-mono l3 f (is-mono-is-emb H)
-
-equiv-postcomp-emb :
- {l1 l2 l3 : Level}
- {A : UU l1} {B : UU l2} {X : UU l3}
- (f : A ↪ B) (g h : X → A) →
- (g = h) ≃ (map-emb f ∘ g = map-emb f ∘ h)
-equiv-postcomp-emb (f , H) = equiv-postcomp-is-emb f H
-```
-
-We construct an explicit equivalence for postcomposition for homotopies between
-functions (rather than equality) when the map is an embedding.
-
-```agda
-module _
- {l1 l2 l3 : Level}
- {A : UU l1} {B : UU l2} (f : A ↪ B)
- {X : UU l3} (g h : X → A)
- where
-
- map-inv-equiv-htpy-postcomp-is-emb :
- (pr1 f ∘ g) ~ (pr1 f ∘ h) → g ~ h
- map-inv-equiv-htpy-postcomp-is-emb H x =
- map-inv-is-equiv (pr2 f (g x) (h x)) (H x)
-
- is-section-map-inv-equiv-htpy-postcomp-is-emb :
- (pr1 f ·l_) ∘ map-inv-equiv-htpy-postcomp-is-emb ~ id
- is-section-map-inv-equiv-htpy-postcomp-is-emb H =
- eq-htpy (λ x →
- is-section-map-inv-is-equiv (pr2 f (g x) (h x)) (H x))
-
- is-retraction-map-inv-equiv-htpy-postcomp-is-emb :
- map-inv-equiv-htpy-postcomp-is-emb ∘ (pr1 f ·l_) ~ id
- is-retraction-map-inv-equiv-htpy-postcomp-is-emb H =
- eq-htpy (λ x →
- is-retraction-map-inv-is-equiv (pr2 f (g x) (h x)) (H x))
-
- equiv-htpy-postcomp-is-emb :
- (g ~ h) ≃ (pr1 f ∘ g ~ pr1 f ∘ h)
- pr1 equiv-htpy-postcomp-is-emb = pr1 f ·l_
- pr2 equiv-htpy-postcomp-is-emb =
- is-equiv-is-invertible
- map-inv-equiv-htpy-postcomp-is-emb
- is-section-map-inv-equiv-htpy-postcomp-is-emb
- is-retraction-map-inv-equiv-htpy-postcomp-is-emb
+ is-mono-is-mono-lub : (l3 l4 : Level) → is-mono (l3 ⊔ l4) f → is-mono l3 f
+ is-mono-is-mono-lub l3 l4 H X =
+ is-emb-bottom-is-emb-top-is-equiv-coherence-square-maps
+ ( postcomp (raise l4 X) f)
+ ( precomp map-raise A)
+ ( precomp map-raise B)
+ ( postcomp X f)
+ ( refl-htpy)
+ ( is-equiv-precomp-is-equiv map-raise is-equiv-map-raise A)
+ ( is-equiv-precomp-is-equiv map-raise is-equiv-map-raise B)
+ ( H (raise l4 X))
+
+ is-emb-is-mono-Level : {l3 : Level} → is-mono l3 f → is-emb f
+ is-emb-is-mono-Level {l3} H =
+ is-emb-is-mono-lzero f (is-mono-is-mono-lub lzero l3 H)
+
+ is-emb-iff-is-mono : {l3 : Level} → is-mono l3 f ↔ is-emb f
+ is-emb-iff-is-mono = (is-emb-is-mono-Level , (λ H → is-mono-is-emb f H))
+
+ equiv-is-emb-is-mono : {l3 : Level} → is-mono l3 f ≃ is-emb f
+ equiv-is-emb-is-mono {l3} =
+ equiv-iff' (is-mono-Prop l3 f) (is-emb-Prop f) (is-emb-iff-is-mono)
+
+ is-small-is-mono : {l3 : Level} → is-small (l1 ⊔ l2) (is-mono l3 f)
+ is-small-is-mono = (is-emb f , equiv-is-emb-is-mono)
```
diff --git a/src/foundation/morphisms-arrows.lagda.md b/src/foundation/morphisms-arrows.lagda.md
index 0c53c53eb76..0f14fc5117a 100644
--- a/src/foundation/morphisms-arrows.lagda.md
+++ b/src/foundation/morphisms-arrows.lagda.md
@@ -430,7 +430,7 @@ module _
## See also
-- [Equivalences of arrows](foundation.equivalences-arrows.md)
+- [Equivalences of arrows](foundation-core.equivalences-arrows.md)
- [Morphisms of twisted arrows](foundation.morphisms-twisted-arrows.md).
- [Fibered maps](foundation.fibered-maps.md) for the same concept under a
different name.
diff --git a/src/foundation/operations-span-diagrams.lagda.md b/src/foundation/operations-span-diagrams.lagda.md
index 9337e9f12a3..1571a61cce7 100644
--- a/src/foundation/operations-span-diagrams.lagda.md
+++ b/src/foundation/operations-span-diagrams.lagda.md
@@ -10,11 +10,12 @@ open import foundation-core.operations-span-diagrams public
```agda
open import foundation.dependent-pair-types
-open import foundation.equivalences-arrows
open import foundation.operations-spans
open import foundation.span-diagrams
open import foundation.spans
open import foundation.universe-levels
+
+open import foundation-core.equivalences-arrows
```
@@ -38,7 +39,7 @@ Consider a span diagram `𝒮` given by
A <----- S -----> B
```
-and an [equivalence of arrows](foundation.equivalences-arrows.md)
+and an [equivalence of arrows](foundation-core.equivalences-arrows.md)
`h : equiv-arrow f' f` as indicated in the diagram
```text
@@ -107,7 +108,7 @@ Consider a span diagram `𝒮` given by
A <----- S -----> B
```
-and a [equivalence of arrows](foundation.equivalences-arrows.md)
+and a [equivalence of arrows](foundation-core.equivalences-arrows.md)
`h : equiv-arrow g' g` as indicated in the diagram
```text
diff --git a/src/foundation/operations-spans.lagda.md b/src/foundation/operations-spans.lagda.md
index 6562513941e..ff5f6880765 100644
--- a/src/foundation/operations-spans.lagda.md
+++ b/src/foundation/operations-spans.lagda.md
@@ -10,11 +10,11 @@ open import foundation-core.operations-spans public
```agda
open import foundation.dependent-pair-types
-open import foundation.equivalences-arrows
open import foundation.morphisms-arrows
open import foundation.spans
open import foundation.universe-levels
+open import foundation-core.equivalences-arrows
open import foundation-core.function-types
```
@@ -38,7 +38,7 @@ Consider a span `s` given by
A <----- S -----> B
```
-and an [equivalence of arrows](foundation.equivalences-arrows.md)
+and an [equivalence of arrows](foundation-core.equivalences-arrows.md)
`h : equiv-arrow f' f` as indicated in the diagram
```text
diff --git a/src/foundation/path-cosplit-maps.lagda.md b/src/foundation/path-cosplit-maps.lagda.md
index dbb0e02effc..b72a69f1155 100644
--- a/src/foundation/path-cosplit-maps.lagda.md
+++ b/src/foundation/path-cosplit-maps.lagda.md
@@ -17,7 +17,6 @@ open import foundation.empty-types
open import foundation.equality-cartesian-product-types
open import foundation.equality-coproduct-types
open import foundation.equality-dependent-pair-types
-open import foundation.equivalences-arrows
open import foundation.function-extensionality
open import foundation.function-types
open import foundation.functoriality-action-on-identifications-functions
@@ -38,7 +37,7 @@ open import foundation.postcomposition-functions
open import foundation.precomposition-functions
open import foundation.propositional-truncations
open import foundation.retractions
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.truncated-maps
open import foundation.truncation-levels
open import foundation.universe-levels
@@ -47,6 +46,7 @@ open import foundation-core.contractible-maps
open import foundation-core.contractible-types
open import foundation-core.embeddings
open import foundation-core.equivalences
+open import foundation-core.equivalences-arrows
open import foundation-core.homotopies
open import foundation-core.injective-maps
open import foundation-core.propositions
@@ -337,7 +337,7 @@ is-path-cosplit-is-path-cosplit-on-domain-hom-arrow :
is-path-cosplit k f
is-path-cosplit-is-path-cosplit-on-domain-hom-arrow
{k = neg-two-𝕋} f g α I =
- retraction-retract-map-retraction' f g
+ retraction-retract-arrow-retraction' f g
( map-domain-hom-arrow f g α , I)
( map-codomain-hom-arrow f g α)
( coh-hom-arrow f g α)
diff --git a/src/foundation/retracts-of-maps.lagda.md b/src/foundation/retracts-of-arrows.lagda.md
similarity index 54%
rename from src/foundation/retracts-of-maps.lagda.md
rename to src/foundation/retracts-of-arrows.lagda.md
index bf904c18bc4..4780940e98d 100644
--- a/src/foundation/retracts-of-maps.lagda.md
+++ b/src/foundation/retracts-of-arrows.lagda.md
@@ -1,7 +1,7 @@
-# Retracts of maps
+# Retracts of arrows
```agda
-module foundation.retracts-of-maps where
+module foundation.retracts-of-arrows where
```
Imports
@@ -38,10 +38,12 @@ open import foundation-core.sections
## Idea
-A map `f : A → B` is said to be a **retract** of a map `g : X → Y` if it is a
-retract in the arrow category of types. In other words, `f` is a retract of `g`
-if there are [morphisms of arrows](foundation.morphisms-arrows.md) `i : f → g`
-and `r : g → f` equipped with a homotopy of morphisms of arrows `r ∘ i ~ id`.
+A map `f : A → B` is said to be a
+{{#concept "retract" Disambiguation="of arrows of types" Agda=retract-arrow}} of
+a map `g : X → Y` if it is a retract in the arrow category of types. In other
+words, `f` is a retract of `g` if there are
+[morphisms of arrows](foundation.morphisms-arrows.md) `i : f → g` and
+`r : g → f` equipped with a homotopy of morphisms of arrows `r ∘ i ~ id`.
More explicitly, it consists of [retracts](foundation-core.retractions.md) `A`
of `X` and `B` of `Y` that fit into a commutative diagram
@@ -142,11 +144,11 @@ module _
{l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
where
- retract-map : (g : X → Y) (f : A → B) → UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
- retract-map g f = Σ (hom-arrow f g) (retraction-hom-arrow f g)
+ retract-arrow : (g : X → Y) (f : A → B) → UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
+ retract-arrow g f = Σ (hom-arrow f g) (retraction-hom-arrow f g)
```
-### The higher coherence in the definition of retracts of maps
+### The higher coherence in the definition of retracts of arrows
```agda
module _
@@ -159,12 +161,12 @@ module _
( map-codomain-hom-arrow g f r))
where
- coherence-retract-map : UU (l1 ⊔ l2)
- coherence-retract-map =
+ coherence-retract-arrow : UU (l1 ⊔ l2)
+ coherence-retract-arrow =
coherence-htpy-hom-arrow f f (comp-hom-arrow f g f r i) id-hom-arrow H H'
```
-### The binary relation `f g ↦ f retract-of-map g` asserting that `f` is a retract of the map `g`
+### The binary relation `f g ↦ f retract-of-arrow g` asserting that `f` is a retract of the map `g`
```agda
module _
@@ -172,120 +174,130 @@ module _
(f : A → B) (g : X → Y)
where
- infix 6 _retract-of-map_
+ infix 6 _retract-of-arrow_
- _retract-of-map_ : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
- _retract-of-map_ = retract-map g f
+ _retract-of-arrow_ : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
+ _retract-of-arrow_ = retract-arrow g f
module _
{l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
- (f : A → B) (g : X → Y) (R : f retract-of-map g)
+ (f : A → B) (g : X → Y) (R : f retract-of-arrow g)
where
- inclusion-retract-map : hom-arrow f g
- inclusion-retract-map = pr1 R
+ inclusion-retract-arrow : hom-arrow f g
+ inclusion-retract-arrow = pr1 R
- map-domain-inclusion-retract-map : A → X
- map-domain-inclusion-retract-map =
- map-domain-hom-arrow f g inclusion-retract-map
+ map-domain-inclusion-retract-arrow : A → X
+ map-domain-inclusion-retract-arrow =
+ map-domain-hom-arrow f g inclusion-retract-arrow
- map-codomain-inclusion-retract-map : B → Y
- map-codomain-inclusion-retract-map =
- map-codomain-hom-arrow f g inclusion-retract-map
+ map-codomain-inclusion-retract-arrow : B → Y
+ map-codomain-inclusion-retract-arrow =
+ map-codomain-hom-arrow f g inclusion-retract-arrow
- coh-inclusion-retract-map :
+ coh-inclusion-retract-arrow :
coherence-square-maps
- ( map-domain-inclusion-retract-map)
+ ( map-domain-inclusion-retract-arrow)
( f)
( g)
- ( map-codomain-inclusion-retract-map)
- coh-inclusion-retract-map =
- coh-hom-arrow f g inclusion-retract-map
+ ( map-codomain-inclusion-retract-arrow)
+ coh-inclusion-retract-arrow =
+ coh-hom-arrow f g inclusion-retract-arrow
- retraction-retract-map : retraction-hom-arrow f g inclusion-retract-map
- retraction-retract-map = pr2 R
+ retraction-retract-arrow : retraction-hom-arrow f g inclusion-retract-arrow
+ retraction-retract-arrow = pr2 R
- hom-retraction-retract-map : hom-arrow g f
- hom-retraction-retract-map =
- hom-retraction-hom-arrow f g inclusion-retract-map retraction-retract-map
+ hom-retraction-retract-arrow : hom-arrow g f
+ hom-retraction-retract-arrow =
+ hom-retraction-hom-arrow f g
+ ( inclusion-retract-arrow)
+ ( retraction-retract-arrow)
- map-domain-hom-retraction-retract-map : X → A
- map-domain-hom-retraction-retract-map =
- map-domain-hom-arrow g f hom-retraction-retract-map
+ map-domain-hom-retraction-retract-arrow : X → A
+ map-domain-hom-retraction-retract-arrow =
+ map-domain-hom-arrow g f hom-retraction-retract-arrow
- map-codomain-hom-retraction-retract-map : Y → B
- map-codomain-hom-retraction-retract-map =
- map-codomain-hom-arrow g f hom-retraction-retract-map
+ map-codomain-hom-retraction-retract-arrow : Y → B
+ map-codomain-hom-retraction-retract-arrow =
+ map-codomain-hom-arrow g f hom-retraction-retract-arrow
- coh-hom-retraction-retract-map :
+ coh-hom-retraction-retract-arrow :
coherence-square-maps
- ( map-domain-hom-retraction-retract-map)
+ ( map-domain-hom-retraction-retract-arrow)
( g)
( f)
- ( map-codomain-hom-retraction-retract-map)
- coh-hom-retraction-retract-map =
- coh-hom-arrow g f hom-retraction-retract-map
-
- is-retraction-hom-retraction-retract-map :
- is-retraction-hom-arrow f g inclusion-retract-map hom-retraction-retract-map
- is-retraction-hom-retraction-retract-map =
+ ( map-codomain-hom-retraction-retract-arrow)
+ coh-hom-retraction-retract-arrow =
+ coh-hom-arrow g f hom-retraction-retract-arrow
+
+ is-retraction-hom-retraction-retract-arrow :
+ is-retraction-hom-arrow f g
+ ( inclusion-retract-arrow)
+ ( hom-retraction-retract-arrow)
+ is-retraction-hom-retraction-retract-arrow =
is-retraction-hom-retraction-hom-arrow f g
- ( inclusion-retract-map)
- ( retraction-retract-map)
+ ( inclusion-retract-arrow)
+ ( retraction-retract-arrow)
- is-retraction-map-domain-hom-retraction-retract-map :
+ is-retraction-map-domain-hom-retraction-retract-arrow :
is-retraction
- ( map-domain-inclusion-retract-map)
- ( map-domain-hom-retraction-retract-map)
- is-retraction-map-domain-hom-retraction-retract-map =
+ ( map-domain-inclusion-retract-arrow)
+ ( map-domain-hom-retraction-retract-arrow)
+ is-retraction-map-domain-hom-retraction-retract-arrow =
htpy-domain-htpy-hom-arrow f f
- ( comp-hom-arrow f g f hom-retraction-retract-map inclusion-retract-map)
+ ( comp-hom-arrow f g f
+ ( hom-retraction-retract-arrow)
+ ( inclusion-retract-arrow))
( id-hom-arrow)
- ( is-retraction-hom-retraction-retract-map)
+ ( is-retraction-hom-retraction-retract-arrow)
- retract-domain-retract-map :
+ retract-domain-retract-arrow :
A retract-of X
- pr1 retract-domain-retract-map =
- map-domain-inclusion-retract-map
- pr1 (pr2 retract-domain-retract-map) =
- map-domain-hom-retraction-retract-map
- pr2 (pr2 retract-domain-retract-map) =
- is-retraction-map-domain-hom-retraction-retract-map
-
- is-retraction-map-codomain-hom-retraction-retract-map :
+ pr1 retract-domain-retract-arrow =
+ map-domain-inclusion-retract-arrow
+ pr1 (pr2 retract-domain-retract-arrow) =
+ map-domain-hom-retraction-retract-arrow
+ pr2 (pr2 retract-domain-retract-arrow) =
+ is-retraction-map-domain-hom-retraction-retract-arrow
+
+ is-retraction-map-codomain-hom-retraction-retract-arrow :
is-retraction
- ( map-codomain-inclusion-retract-map)
- ( map-codomain-hom-retraction-retract-map)
- is-retraction-map-codomain-hom-retraction-retract-map =
+ ( map-codomain-inclusion-retract-arrow)
+ ( map-codomain-hom-retraction-retract-arrow)
+ is-retraction-map-codomain-hom-retraction-retract-arrow =
htpy-codomain-htpy-hom-arrow f f
- ( comp-hom-arrow f g f hom-retraction-retract-map inclusion-retract-map)
+ ( comp-hom-arrow f g f
+ ( hom-retraction-retract-arrow)
+ ( inclusion-retract-arrow))
( id-hom-arrow)
- ( is-retraction-hom-retraction-retract-map)
-
- retract-codomain-retract-map : B retract-of Y
- pr1 retract-codomain-retract-map =
- map-codomain-inclusion-retract-map
- pr1 (pr2 retract-codomain-retract-map) =
- map-codomain-hom-retraction-retract-map
- pr2 (pr2 retract-codomain-retract-map) =
- is-retraction-map-codomain-hom-retraction-retract-map
-
- coh-retract-map :
- coherence-retract-map f g
- ( inclusion-retract-map)
- ( hom-retraction-retract-map)
- ( is-retraction-map-domain-hom-retraction-retract-map)
- ( is-retraction-map-codomain-hom-retraction-retract-map)
- coh-retract-map =
+ ( is-retraction-hom-retraction-retract-arrow)
+
+ retract-codomain-retract-arrow : B retract-of Y
+ pr1 retract-codomain-retract-arrow =
+ map-codomain-inclusion-retract-arrow
+ pr1 (pr2 retract-codomain-retract-arrow) =
+ map-codomain-hom-retraction-retract-arrow
+ pr2 (pr2 retract-codomain-retract-arrow) =
+ is-retraction-map-codomain-hom-retraction-retract-arrow
+
+ coh-retract-arrow :
+ coherence-retract-arrow f g
+ ( inclusion-retract-arrow)
+ ( hom-retraction-retract-arrow)
+ ( is-retraction-map-domain-hom-retraction-retract-arrow)
+ ( is-retraction-map-codomain-hom-retraction-retract-arrow)
+ coh-retract-arrow =
coh-htpy-hom-arrow f f
- ( comp-hom-arrow f g f hom-retraction-retract-map inclusion-retract-map)
+ ( comp-hom-arrow f g f
+ ( hom-retraction-retract-arrow)
+ ( inclusion-retract-arrow))
( id-hom-arrow)
- ( is-retraction-hom-retraction-retract-map)
+ ( is-retraction-hom-retraction-retract-arrow)
```
## Properties
-### Retracts of maps with sections have sections
+### Retracts of arrows with sections have sections
In fact, we only need the following data to show this:
@@ -323,8 +335,8 @@ module _
(s : section g)
where
- section-retract-map-section' : section f
- section-retract-map-section' =
+ section-retract-arrow-section' : section f
+ section-retract-arrow-section' =
section-right-map-triangle
( map-retraction-retract R₁ ∘ g)
( f)
@@ -334,18 +346,18 @@ module _
module _
{l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
- (f : A → B) (g : X → Y) (R : f retract-of-map g)
+ (f : A → B) (g : X → Y) (R : f retract-of-arrow g)
where
- section-retract-map-section : section g → section f
- section-retract-map-section =
- section-retract-map-section' f g
- ( map-domain-hom-retraction-retract-map f g R)
- ( retract-codomain-retract-map f g R)
- ( coh-hom-retraction-retract-map f g R)
+ section-retract-arrow-section : section g → section f
+ section-retract-arrow-section =
+ section-retract-arrow-section' f g
+ ( map-domain-hom-retraction-retract-arrow f g R)
+ ( retract-codomain-retract-arrow f g R)
+ ( coh-hom-retraction-retract-arrow f g R)
```
-### Retracts of maps with retractions have retractions
+### Retracts of arrows with retractions have retractions
In fact, we only need the following data to show this:
@@ -382,8 +394,8 @@ module _
(s : retraction g)
where
- retraction-retract-map-retraction' : retraction f
- retraction-retract-map-retraction' =
+ retraction-retract-arrow-retraction' : retraction f
+ retraction-retract-arrow-retraction' =
retraction-top-map-triangle'
( g ∘ inclusion-retract R₀)
( i₁)
@@ -393,18 +405,18 @@ module _
module _
{l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
- (f : A → B) (g : X → Y) (R : f retract-of-map g)
+ (f : A → B) (g : X → Y) (R : f retract-of-arrow g)
where
- retraction-retract-map-retraction : retraction g → retraction f
- retraction-retract-map-retraction =
- retraction-retract-map-retraction' f g
- ( retract-domain-retract-map f g R)
- ( map-codomain-inclusion-retract-map f g R)
- ( coh-inclusion-retract-map f g R)
+ retraction-retract-arrow-retraction : retraction g → retraction f
+ retraction-retract-arrow-retraction =
+ retraction-retract-arrow-retraction' f g
+ ( retract-domain-retract-arrow f g R)
+ ( map-codomain-inclusion-retract-arrow f g R)
+ ( coh-inclusion-retract-arrow f g R)
```
-### Equivalences are closed under retracts of maps
+### Equivalences are closed under retracts of arrows
We may observe that the higher coherence of a retract of maps is not needed.
@@ -422,15 +434,15 @@ module _
(H : is-equiv g)
where
- is-equiv-retract-map-is-equiv' : is-equiv f
- pr1 is-equiv-retract-map-is-equiv' =
- section-retract-map-section' f g
+ is-equiv-retract-arrow-is-equiv' : is-equiv f
+ pr1 is-equiv-retract-arrow-is-equiv' =
+ section-retract-arrow-section' f g
( map-retraction-retract R₀)
( R₁)
( r)
( section-is-equiv H)
- pr2 is-equiv-retract-map-is-equiv' =
- retraction-retract-map-retraction' f g
+ pr2 is-equiv-retract-arrow-is-equiv' =
+ retraction-retract-arrow-retraction' f g
( R₀)
( inclusion-retract R₁)
( i)
@@ -438,20 +450,20 @@ module _
module _
{l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
- (f : A → B) (g : X → Y) (R : f retract-of-map g) (H : is-equiv g)
+ (f : A → B) (g : X → Y) (R : f retract-of-arrow g) (H : is-equiv g)
where
- section-retract-map-is-equiv : section f
- section-retract-map-is-equiv =
- section-retract-map-section f g R (section-is-equiv H)
+ section-retract-arrow-is-equiv : section f
+ section-retract-arrow-is-equiv =
+ section-retract-arrow-section f g R (section-is-equiv H)
- retraction-retract-map-is-equiv : retraction f
- retraction-retract-map-is-equiv =
- retraction-retract-map-retraction f g R (retraction-is-equiv H)
+ retraction-retract-arrow-is-equiv : retraction f
+ retraction-retract-arrow-is-equiv =
+ retraction-retract-arrow-retraction f g R (retraction-is-equiv H)
- is-equiv-retract-map-is-equiv : is-equiv f
- pr1 is-equiv-retract-map-is-equiv = section-retract-map-is-equiv
- pr2 is-equiv-retract-map-is-equiv = retraction-retract-map-is-equiv
+ is-equiv-retract-arrow-is-equiv : is-equiv f
+ pr1 is-equiv-retract-arrow-is-equiv = section-retract-arrow-is-equiv
+ pr2 is-equiv-retract-arrow-is-equiv = retraction-retract-arrow-is-equiv
```
### If `f` is a retract of `g`, then the fiber inclusions of `f` are retracts of the fiber inclusions of `g`
@@ -506,38 +518,38 @@ involved take a lot of arguments and therefore the code is somewhat lengthy.
```agda
module _
{l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
- (f : A → B) (g : X → Y) (R : f retract-of-map g) (b : B)
+ (f : A → B) (g : X → Y) (R : f retract-of-arrow g) (b : B)
where
- inclusion-retract-map-inclusion-fiber-retract-map :
+ inclusion-retract-arrow-inclusion-fiber-retract-arrow :
hom-arrow
( inclusion-fiber f {b})
- ( inclusion-fiber g {map-codomain-inclusion-retract-map f g R b})
- inclusion-retract-map-inclusion-fiber-retract-map =
- hom-arrow-fiber f g (inclusion-retract-map f g R) b
+ ( inclusion-fiber g {map-codomain-inclusion-retract-arrow f g R b})
+ inclusion-retract-arrow-inclusion-fiber-retract-arrow =
+ hom-arrow-fiber f g (inclusion-retract-arrow f g R) b
- hom-retraction-retract-map-inclusion-fiber-retract-map :
+ hom-retraction-retract-arrow-inclusion-fiber-retract-arrow :
hom-arrow
- ( inclusion-fiber g {map-codomain-inclusion-retract-map f g R b})
+ ( inclusion-fiber g {map-codomain-inclusion-retract-arrow f g R b})
( inclusion-fiber f {b})
- hom-retraction-retract-map-inclusion-fiber-retract-map =
+ hom-retraction-retract-arrow-inclusion-fiber-retract-arrow =
comp-hom-arrow
( inclusion-fiber g)
( inclusion-fiber f)
( inclusion-fiber f)
( tr-hom-arrow-inclusion-fiber f
- ( is-retraction-map-codomain-hom-retraction-retract-map f g R b))
+ ( is-retraction-map-codomain-hom-retraction-retract-arrow f g R b))
( hom-arrow-fiber g f
- ( hom-retraction-retract-map f g R)
- ( map-codomain-inclusion-retract-map f g R b))
+ ( hom-retraction-retract-arrow f g R)
+ ( map-codomain-inclusion-retract-arrow f g R b))
- is-retraction-hom-retraction-retract-map-inclusion-fiber-retract-map :
+ is-retraction-hom-retraction-retract-arrow-inclusion-fiber-retract-arrow :
is-retraction-hom-arrow
( inclusion-fiber f)
( inclusion-fiber g)
- ( inclusion-retract-map-inclusion-fiber-retract-map)
- ( hom-retraction-retract-map-inclusion-fiber-retract-map)
- is-retraction-hom-retraction-retract-map-inclusion-fiber-retract-map =
+ ( inclusion-retract-arrow-inclusion-fiber-retract-arrow)
+ ( hom-retraction-retract-arrow-inclusion-fiber-retract-arrow)
+ is-retraction-hom-retraction-retract-arrow-inclusion-fiber-retract-arrow =
concat-htpy-hom-arrow
( inclusion-fiber f)
( inclusion-fiber f)
@@ -550,25 +562,25 @@ module _
( inclusion-fiber f)
( inclusion-fiber f)
( tr-hom-arrow-inclusion-fiber f
- ( is-retraction-map-codomain-hom-retraction-retract-map f g R b))
+ ( is-retraction-map-codomain-hom-retraction-retract-arrow f g R b))
( hom-arrow-fiber g f
- ( hom-retraction-retract-map f g R)
- ( map-codomain-inclusion-retract-map f g R b)))
- ( inclusion-retract-map-inclusion-fiber-retract-map))
+ ( hom-retraction-retract-arrow f g R)
+ ( map-codomain-inclusion-retract-arrow f g R b)))
+ ( inclusion-retract-arrow-inclusion-fiber-retract-arrow))
( comp-hom-arrow
( inclusion-fiber f)
( inclusion-fiber f)
( inclusion-fiber f)
( tr-hom-arrow-inclusion-fiber f
- ( is-retraction-map-codomain-hom-retraction-retract-map f g R b))
+ ( is-retraction-map-codomain-hom-retraction-retract-arrow f g R b))
( comp-hom-arrow
( inclusion-fiber f)
( inclusion-fiber g)
( inclusion-fiber f)
( hom-arrow-fiber g f
- ( hom-retraction-retract-map f g R)
- ( map-codomain-inclusion-retract-map f g R b))
- ( inclusion-retract-map-inclusion-fiber-retract-map)))
+ ( hom-retraction-retract-arrow f g R)
+ ( map-codomain-inclusion-retract-arrow f g R b))
+ ( inclusion-retract-arrow-inclusion-fiber-retract-arrow)))
( id-hom-arrow)
( inv-assoc-comp-hom-arrow
( inclusion-fiber f)
@@ -576,11 +588,11 @@ module _
( inclusion-fiber f)
( inclusion-fiber f)
( tr-hom-arrow-inclusion-fiber f
- ( is-retraction-map-codomain-hom-retraction-retract-map f g R b))
+ ( is-retraction-map-codomain-hom-retraction-retract-arrow f g R b))
( hom-arrow-fiber g f
- ( hom-retraction-retract-map f g R)
- ( map-codomain-inclusion-retract-map f g R b))
- ( inclusion-retract-map-inclusion-fiber-retract-map))
+ ( hom-retraction-retract-arrow f g R)
+ ( map-codomain-inclusion-retract-arrow f g R b))
+ ( inclusion-retract-arrow-inclusion-fiber-retract-arrow))
( concat-htpy-hom-arrow
( inclusion-fiber f)
( inclusion-fiber f)
@@ -589,25 +601,25 @@ module _
( inclusion-fiber f)
( inclusion-fiber f)
( tr-hom-arrow-inclusion-fiber f
- ( is-retraction-map-codomain-hom-retraction-retract-map f g R b))
+ ( is-retraction-map-codomain-hom-retraction-retract-arrow f g R b))
( comp-hom-arrow
( inclusion-fiber f)
( inclusion-fiber g)
( inclusion-fiber f)
( hom-arrow-fiber g f
- ( hom-retraction-retract-map f g R)
- ( map-codomain-inclusion-retract-map f g R b))
- ( inclusion-retract-map-inclusion-fiber-retract-map)))
+ ( hom-retraction-retract-arrow f g R)
+ ( map-codomain-inclusion-retract-arrow f g R b))
+ ( inclusion-retract-arrow-inclusion-fiber-retract-arrow)))
( comp-hom-arrow
( inclusion-fiber f)
( inclusion-fiber f)
( inclusion-fiber f)
( tr-hom-arrow-inclusion-fiber f
- ( is-retraction-map-codomain-hom-retraction-retract-map f g R b))
+ ( is-retraction-map-codomain-hom-retraction-retract-arrow f g R b))
( hom-arrow-fiber f f
( comp-hom-arrow f g f
- ( hom-retraction-retract-map f g R)
- ( inclusion-retract-map f g R))
+ ( hom-retraction-retract-arrow f g R)
+ ( inclusion-retract-arrow f g R))
( b)))
( id-hom-arrow)
( left-whisker-comp-hom-arrow
@@ -615,39 +627,39 @@ module _
( inclusion-fiber f)
( inclusion-fiber f)
( tr-hom-arrow-inclusion-fiber f
- ( is-retraction-map-codomain-hom-retraction-retract-map f g R b))
+ ( is-retraction-map-codomain-hom-retraction-retract-arrow f g R b))
( comp-hom-arrow
( inclusion-fiber f)
( inclusion-fiber g)
( inclusion-fiber f)
( hom-arrow-fiber g f
- ( hom-retraction-retract-map f g R)
- ( map-codomain-inclusion-retract-map f g R b))
- ( hom-arrow-fiber f g (inclusion-retract-map f g R) b))
+ ( hom-retraction-retract-arrow f g R)
+ ( map-codomain-inclusion-retract-arrow f g R b))
+ ( hom-arrow-fiber f g (inclusion-retract-arrow f g R) b))
( hom-arrow-fiber f f
( comp-hom-arrow f g f
- ( hom-retraction-retract-map f g R)
- ( inclusion-retract-map f g R))
+ ( hom-retraction-retract-arrow f g R)
+ ( inclusion-retract-arrow f g R))
( b))
( inv-htpy-hom-arrow
( inclusion-fiber f)
( inclusion-fiber f)
( hom-arrow-fiber f f
( comp-hom-arrow f g f
- ( hom-retraction-retract-map f g R)
- ( inclusion-retract-map f g R))
+ ( hom-retraction-retract-arrow f g R)
+ ( inclusion-retract-arrow f g R))
( b))
( comp-hom-arrow
( inclusion-fiber f)
( inclusion-fiber g)
( inclusion-fiber f)
( hom-arrow-fiber g f
- ( hom-retraction-retract-map f g R)
- ( map-codomain-inclusion-retract-map f g R b))
- ( hom-arrow-fiber f g (inclusion-retract-map f g R) b))
+ ( hom-retraction-retract-arrow f g R)
+ ( map-codomain-inclusion-retract-arrow f g R b))
+ ( hom-arrow-fiber f g (inclusion-retract-arrow f g R) b))
( preserves-comp-hom-arrow-fiber f g f
- ( hom-retraction-retract-map f g R)
- ( inclusion-retract-map f g R)
+ ( hom-retraction-retract-arrow f g R)
+ ( inclusion-retract-arrow f g R)
( b))))
( concat-htpy-hom-arrow
( inclusion-fiber f)
@@ -657,33 +669,34 @@ module _
( inclusion-fiber f)
( inclusion-fiber f)
( tr-hom-arrow-inclusion-fiber f
- ( is-retraction-map-codomain-hom-retraction-retract-map f g R b))
+ ( is-retraction-map-codomain-hom-retraction-retract-arrow f g R
+ ( b)))
( hom-arrow-fiber f f
( comp-hom-arrow f g f
- ( hom-retraction-retract-map f g R)
- ( inclusion-retract-map f g R))
+ ( hom-retraction-retract-arrow f g R)
+ ( inclusion-retract-arrow f g R))
( b)))
( hom-arrow-fiber f f id-hom-arrow b)
( id-hom-arrow)
( htpy-hom-arrow-fiber f f
( comp-hom-arrow f g f
- ( hom-retraction-retract-map f g R)
- ( inclusion-retract-map f g R))
+ ( hom-retraction-retract-arrow f g R)
+ ( inclusion-retract-arrow f g R))
( id-hom-arrow)
- ( is-retraction-hom-retraction-retract-map f g R)
+ ( is-retraction-hom-retraction-retract-arrow f g R)
( b))
( preserves-id-hom-arrow-fiber f b)))
- retract-map-inclusion-fiber-retract-map :
- retract-map
- ( inclusion-fiber g {map-codomain-inclusion-retract-map f g R b})
+ retract-arrow-inclusion-fiber-retract-arrow :
+ retract-arrow
+ ( inclusion-fiber g {map-codomain-inclusion-retract-arrow f g R b})
( inclusion-fiber f {b})
- pr1 retract-map-inclusion-fiber-retract-map =
- inclusion-retract-map-inclusion-fiber-retract-map
- pr1 (pr2 retract-map-inclusion-fiber-retract-map) =
- hom-retraction-retract-map-inclusion-fiber-retract-map
- pr2 (pr2 retract-map-inclusion-fiber-retract-map) =
- is-retraction-hom-retraction-retract-map-inclusion-fiber-retract-map
+ pr1 retract-arrow-inclusion-fiber-retract-arrow =
+ inclusion-retract-arrow-inclusion-fiber-retract-arrow
+ pr1 (pr2 retract-arrow-inclusion-fiber-retract-arrow) =
+ hom-retraction-retract-arrow-inclusion-fiber-retract-arrow
+ pr2 (pr2 retract-arrow-inclusion-fiber-retract-arrow) =
+ is-retraction-hom-retraction-retract-arrow-inclusion-fiber-retract-arrow
```
### If `f` is a retract of `g`, then the fibers of `f` are retracts of the fibers of `g`
@@ -691,18 +704,18 @@ module _
```agda
module _
{l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
- (f : A → B) (g : X → Y) (R : f retract-of-map g) (b : B)
+ (f : A → B) (g : X → Y) (R : f retract-of-arrow g) (b : B)
where
- retract-fiber-retract-map :
+ retract-fiber-retract-arrow :
retract
- ( fiber g (map-codomain-inclusion-retract-map f g R b))
+ ( fiber g (map-codomain-inclusion-retract-arrow f g R b))
( fiber f b)
- retract-fiber-retract-map =
- retract-domain-retract-map
+ retract-fiber-retract-arrow =
+ retract-domain-retract-arrow
( inclusion-fiber f)
( inclusion-fiber g)
- ( retract-map-inclusion-fiber-retract-map f g R b)
+ ( retract-arrow-inclusion-fiber-retract-arrow f g R b)
```
### If `f` is a retract of `g`, then `- ∘ f` is a retract of `- ∘ g`
@@ -710,99 +723,102 @@ module _
```agda
module _
{l1 l2 l3 l4 l5 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
- (f : A → B) (g : X → Y) (R : f retract-of-map g) (S : UU l5)
+ (f : A → B) (g : X → Y) (R : f retract-of-arrow g) (S : UU l5)
where
- inclusion-precomp-retract-map : hom-arrow (precomp f S) (precomp g S)
- inclusion-precomp-retract-map =
- precomp-hom-arrow g f (hom-retraction-retract-map f g R) S
+ inclusion-precomp-retract-arrow : hom-arrow (precomp f S) (precomp g S)
+ inclusion-precomp-retract-arrow =
+ precomp-hom-arrow g f (hom-retraction-retract-arrow f g R) S
- hom-retraction-precomp-retract-map : hom-arrow (precomp g S) (precomp f S)
- hom-retraction-precomp-retract-map =
- precomp-hom-arrow f g (inclusion-retract-map f g R) S
+ hom-retraction-precomp-retract-arrow : hom-arrow (precomp g S) (precomp f S)
+ hom-retraction-precomp-retract-arrow =
+ precomp-hom-arrow f g (inclusion-retract-arrow f g R) S
- is-retraction-map-domain-precomp-retract-map :
+ is-retraction-map-domain-precomp-retract-arrow :
is-retraction
( map-domain-hom-arrow
( precomp f S)
( precomp g S)
- ( inclusion-precomp-retract-map))
+ ( inclusion-precomp-retract-arrow))
( map-domain-hom-arrow
( precomp g S)
( precomp f S)
- ( hom-retraction-precomp-retract-map))
- is-retraction-map-domain-precomp-retract-map =
- htpy-precomp (is-retraction-map-codomain-hom-retraction-retract-map f g R) S
+ ( hom-retraction-precomp-retract-arrow))
+ is-retraction-map-domain-precomp-retract-arrow =
+ htpy-precomp
+ ( is-retraction-map-codomain-hom-retraction-retract-arrow f g R)
+ ( S)
- is-retraction-map-codomain-precomp-retract-map :
+ is-retraction-map-codomain-precomp-retract-arrow :
is-retraction
( map-codomain-hom-arrow
( precomp f S)
( precomp g S)
- ( inclusion-precomp-retract-map))
+ ( inclusion-precomp-retract-arrow))
( map-codomain-hom-arrow
( precomp g S)
( precomp f S)
- ( hom-retraction-precomp-retract-map))
- is-retraction-map-codomain-precomp-retract-map =
- htpy-precomp (is-retraction-map-domain-hom-retraction-retract-map f g R) S
+ ( hom-retraction-precomp-retract-arrow))
+ is-retraction-map-codomain-precomp-retract-arrow =
+ htpy-precomp (is-retraction-map-domain-hom-retraction-retract-arrow f g R) S
- coh-retract-precomp-retract-map :
- coherence-retract-map
+ coh-retract-precomp-retract-arrow :
+ coherence-retract-arrow
( precomp f S)
( precomp g S)
- ( inclusion-precomp-retract-map)
- ( hom-retraction-precomp-retract-map)
- ( is-retraction-map-domain-precomp-retract-map)
- ( is-retraction-map-codomain-precomp-retract-map)
- coh-retract-precomp-retract-map =
+ ( inclusion-precomp-retract-arrow)
+ ( hom-retraction-precomp-retract-arrow)
+ ( is-retraction-map-domain-precomp-retract-arrow)
+ ( is-retraction-map-codomain-precomp-retract-arrow)
+ coh-retract-precomp-retract-arrow =
( precomp-vertical-coherence-prism-inv-triangles-maps
( id)
- ( map-domain-hom-retraction-retract-map f g R)
- ( map-domain-inclusion-retract-map f g R)
+ ( map-domain-hom-retraction-retract-arrow f g R)
+ ( map-domain-inclusion-retract-arrow f g R)
( id)
- ( map-codomain-hom-retraction-retract-map f g R)
- ( map-codomain-inclusion-retract-map f g R)
+ ( map-codomain-hom-retraction-retract-arrow f g R)
+ ( map-codomain-inclusion-retract-arrow f g R)
( f)
( g)
( f)
- ( is-retraction-map-domain-hom-retraction-retract-map f g R)
+ ( is-retraction-map-domain-hom-retraction-retract-arrow f g R)
( refl-htpy)
- ( coh-hom-retraction-retract-map f g R)
- ( coh-inclusion-retract-map f g R)
- ( is-retraction-map-codomain-hom-retraction-retract-map f g R)
- ( coh-retract-map f g R)
+ ( coh-hom-retraction-retract-arrow f g R)
+ ( coh-inclusion-retract-arrow f g R)
+ ( is-retraction-map-codomain-hom-retraction-retract-arrow f g R)
+ ( coh-retract-arrow f g R)
( S)) ∙h
( ap-concat-htpy
- ( is-retraction-map-codomain-precomp-retract-map ·r precomp f S)
+ ( is-retraction-map-codomain-precomp-retract-arrow ·r precomp f S)
( λ x → ap inv (eq-htpy-refl-htpy (precomp f S x))))
- is-retraction-hom-retraction-precomp-retract-map :
+ is-retraction-hom-retraction-precomp-retract-arrow :
is-retraction-hom-arrow
( precomp f S)
( precomp g S)
- ( inclusion-precomp-retract-map)
- ( hom-retraction-precomp-retract-map)
- pr1 is-retraction-hom-retraction-precomp-retract-map =
- is-retraction-map-domain-precomp-retract-map
- pr1 (pr2 is-retraction-hom-retraction-precomp-retract-map) =
- is-retraction-map-codomain-precomp-retract-map
- pr2 (pr2 is-retraction-hom-retraction-precomp-retract-map) =
- coh-retract-precomp-retract-map
-
- retraction-precomp-retract-map :
+ ( inclusion-precomp-retract-arrow)
+ ( hom-retraction-precomp-retract-arrow)
+ pr1 is-retraction-hom-retraction-precomp-retract-arrow =
+ is-retraction-map-domain-precomp-retract-arrow
+ pr1 (pr2 is-retraction-hom-retraction-precomp-retract-arrow) =
+ is-retraction-map-codomain-precomp-retract-arrow
+ pr2 (pr2 is-retraction-hom-retraction-precomp-retract-arrow) =
+ coh-retract-precomp-retract-arrow
+
+ retraction-precomp-retract-arrow :
retraction-hom-arrow
( precomp f S)
( precomp g S)
- ( inclusion-precomp-retract-map)
- pr1 retraction-precomp-retract-map =
- hom-retraction-precomp-retract-map
- pr2 retraction-precomp-retract-map =
- is-retraction-hom-retraction-precomp-retract-map
-
- retract-map-precomp-retract-map : (precomp f S) retract-of-map (precomp g S)
- pr1 retract-map-precomp-retract-map = inclusion-precomp-retract-map
- pr2 retract-map-precomp-retract-map = retraction-precomp-retract-map
+ ( inclusion-precomp-retract-arrow)
+ pr1 retraction-precomp-retract-arrow =
+ hom-retraction-precomp-retract-arrow
+ pr2 retraction-precomp-retract-arrow =
+ is-retraction-hom-retraction-precomp-retract-arrow
+
+ retract-arrow-precomp-retract-arrow :
+ (precomp f S) retract-of-arrow (precomp g S)
+ pr1 retract-arrow-precomp-retract-arrow = inclusion-precomp-retract-arrow
+ pr2 retract-arrow-precomp-retract-arrow = retraction-precomp-retract-arrow
```
### If `f` is a retract of `g`, then `f ∘ -` is a retract of `g ∘ -`
@@ -810,101 +826,103 @@ module _
```agda
module _
{l1 l2 l3 l4 l5 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
- (f : A → B) (g : X → Y) (R : f retract-of-map g) (S : UU l5)
+ (f : A → B) (g : X → Y) (R : f retract-of-arrow g) (S : UU l5)
where
- inclusion-postcomp-retract-map : hom-arrow (postcomp S f) (postcomp S g)
- inclusion-postcomp-retract-map =
- postcomp-hom-arrow f g (inclusion-retract-map f g R) S
+ inclusion-postcomp-retract-arrow : hom-arrow (postcomp S f) (postcomp S g)
+ inclusion-postcomp-retract-arrow =
+ postcomp-hom-arrow f g (inclusion-retract-arrow f g R) S
- hom-retraction-postcomp-retract-map : hom-arrow (postcomp S g) (postcomp S f)
- hom-retraction-postcomp-retract-map =
- postcomp-hom-arrow g f (hom-retraction-retract-map f g R) S
+ hom-retraction-postcomp-retract-arrow :
+ hom-arrow (postcomp S g) (postcomp S f)
+ hom-retraction-postcomp-retract-arrow =
+ postcomp-hom-arrow g f (hom-retraction-retract-arrow f g R) S
- is-retraction-map-domain-postcomp-retract-map :
+ is-retraction-map-domain-postcomp-retract-arrow :
is-retraction
( map-domain-hom-arrow
( postcomp S f)
( postcomp S g)
- ( inclusion-postcomp-retract-map))
+ ( inclusion-postcomp-retract-arrow))
( map-domain-hom-arrow
( postcomp S g)
( postcomp S f)
- ( hom-retraction-postcomp-retract-map))
- is-retraction-map-domain-postcomp-retract-map =
- htpy-postcomp S (is-retraction-map-domain-hom-retraction-retract-map f g R)
+ ( hom-retraction-postcomp-retract-arrow))
+ is-retraction-map-domain-postcomp-retract-arrow =
+ htpy-postcomp S
+ ( is-retraction-map-domain-hom-retraction-retract-arrow f g R)
- is-retraction-map-codomain-postcomp-retract-map :
+ is-retraction-map-codomain-postcomp-retract-arrow :
is-retraction
( map-codomain-hom-arrow
( postcomp S f)
( postcomp S g)
- ( inclusion-postcomp-retract-map))
+ ( inclusion-postcomp-retract-arrow))
( map-codomain-hom-arrow
( postcomp S g)
( postcomp S f)
- ( hom-retraction-postcomp-retract-map))
- is-retraction-map-codomain-postcomp-retract-map =
+ ( hom-retraction-postcomp-retract-arrow))
+ is-retraction-map-codomain-postcomp-retract-arrow =
htpy-postcomp S
- ( is-retraction-map-codomain-hom-retraction-retract-map f g R)
+ ( is-retraction-map-codomain-hom-retraction-retract-arrow f g R)
- coh-retract-postcomp-retract-map :
- coherence-retract-map
+ coh-retract-postcomp-retract-arrow :
+ coherence-retract-arrow
( postcomp S f)
( postcomp S g)
- ( inclusion-postcomp-retract-map)
- ( hom-retraction-postcomp-retract-map)
- ( is-retraction-map-domain-postcomp-retract-map)
- ( is-retraction-map-codomain-postcomp-retract-map)
- coh-retract-postcomp-retract-map =
+ ( inclusion-postcomp-retract-arrow)
+ ( hom-retraction-postcomp-retract-arrow)
+ ( is-retraction-map-domain-postcomp-retract-arrow)
+ ( is-retraction-map-codomain-postcomp-retract-arrow)
+ coh-retract-postcomp-retract-arrow =
( postcomp-vertical-coherence-prism-inv-triangles-maps
( id)
- ( map-domain-hom-retraction-retract-map f g R)
- ( map-domain-inclusion-retract-map f g R)
+ ( map-domain-hom-retraction-retract-arrow f g R)
+ ( map-domain-inclusion-retract-arrow f g R)
( id)
- ( map-codomain-hom-retraction-retract-map f g R)
- ( map-codomain-inclusion-retract-map f g R)
+ ( map-codomain-hom-retraction-retract-arrow f g R)
+ ( map-codomain-inclusion-retract-arrow f g R)
( f)
( g)
( f)
- ( is-retraction-map-domain-hom-retraction-retract-map f g R)
+ ( is-retraction-map-domain-hom-retraction-retract-arrow f g R)
( refl-htpy)
- ( coh-hom-retraction-retract-map f g R)
- ( coh-inclusion-retract-map f g R)
- ( is-retraction-map-codomain-hom-retraction-retract-map f g R)
- ( coh-retract-map f g R)
+ ( coh-hom-retraction-retract-arrow f g R)
+ ( coh-inclusion-retract-arrow f g R)
+ ( is-retraction-map-codomain-hom-retraction-retract-arrow f g R)
+ ( coh-retract-arrow f g R)
( S)) ∙h
( ap-concat-htpy
- ( is-retraction-map-codomain-postcomp-retract-map ·r postcomp S f)
+ ( is-retraction-map-codomain-postcomp-retract-arrow ·r postcomp S f)
( eq-htpy-refl-htpy ∘ postcomp S f))
- is-retraction-hom-retraction-postcomp-retract-map :
+ is-retraction-hom-retraction-postcomp-retract-arrow :
is-retraction-hom-arrow
( postcomp S f)
( postcomp S g)
- ( inclusion-postcomp-retract-map)
- ( hom-retraction-postcomp-retract-map)
- pr1 is-retraction-hom-retraction-postcomp-retract-map =
- is-retraction-map-domain-postcomp-retract-map
- pr1 (pr2 is-retraction-hom-retraction-postcomp-retract-map) =
- is-retraction-map-codomain-postcomp-retract-map
- pr2 (pr2 is-retraction-hom-retraction-postcomp-retract-map) =
- coh-retract-postcomp-retract-map
-
- retraction-postcomp-retract-map :
+ ( inclusion-postcomp-retract-arrow)
+ ( hom-retraction-postcomp-retract-arrow)
+ pr1 is-retraction-hom-retraction-postcomp-retract-arrow =
+ is-retraction-map-domain-postcomp-retract-arrow
+ pr1 (pr2 is-retraction-hom-retraction-postcomp-retract-arrow) =
+ is-retraction-map-codomain-postcomp-retract-arrow
+ pr2 (pr2 is-retraction-hom-retraction-postcomp-retract-arrow) =
+ coh-retract-postcomp-retract-arrow
+
+ retraction-postcomp-retract-arrow :
retraction-hom-arrow
( postcomp S f)
( postcomp S g)
- ( inclusion-postcomp-retract-map)
- pr1 retraction-postcomp-retract-map =
- hom-retraction-postcomp-retract-map
- pr2 retraction-postcomp-retract-map =
- is-retraction-hom-retraction-postcomp-retract-map
-
- retract-map-postcomp-retract-map :
- (postcomp S f) retract-of-map (postcomp S g)
- pr1 retract-map-postcomp-retract-map = inclusion-postcomp-retract-map
- pr2 retract-map-postcomp-retract-map = retraction-postcomp-retract-map
+ ( inclusion-postcomp-retract-arrow)
+ pr1 retraction-postcomp-retract-arrow =
+ hom-retraction-postcomp-retract-arrow
+ pr2 retraction-postcomp-retract-arrow =
+ is-retraction-hom-retraction-postcomp-retract-arrow
+
+ retract-arrow-postcomp-retract-arrow :
+ (postcomp S f) retract-of-arrow (postcomp S g)
+ pr1 retract-arrow-postcomp-retract-arrow = inclusion-postcomp-retract-arrow
+ pr2 retract-arrow-postcomp-retract-arrow = retraction-postcomp-retract-arrow
```
### If `A` is a retract of `B` and `S` is a retract of `T` then `diagonal-exponential A S` is a retract of `diagonal-exponential B T`
@@ -929,8 +947,8 @@ module _
postcomp S (map-retraction-retract R) ∘ precomp (inclusion-retract Q) B ,
refl-htpy)
- coh-retract-map-diagonal-exponential-retract :
- coherence-retract-map
+ coh-retract-arrow-diagonal-exponential-retract :
+ coherence-retract-arrow
( diagonal-exponential A S)
( diagonal-exponential B T)
( inclusion-diagonal-exponential-retract)
@@ -939,7 +957,7 @@ module _
( horizontal-concat-htpy
( htpy-postcomp S (is-retraction-map-retraction-retract R))
( htpy-precomp (is-retraction-map-retraction-retract Q) A))
- coh-retract-map-diagonal-exponential-retract x =
+ coh-retract-arrow-diagonal-exponential-retract x =
( compute-eq-htpy-ap-diagonal-exponential S
( map-retraction-retract R (inclusion-retract R x))
( x)
@@ -966,11 +984,11 @@ module _
( horizontal-concat-htpy
( htpy-postcomp S (is-retraction-map-retraction-retract R))
( htpy-precomp (is-retraction-map-retraction-retract Q) A)) ,
- ( coh-retract-map-diagonal-exponential-retract))
+ ( coh-retract-arrow-diagonal-exponential-retract))
- retract-map-diagonal-exponential-retract :
- (diagonal-exponential A S) retract-of-map (diagonal-exponential B T)
- retract-map-diagonal-exponential-retract =
+ retract-arrow-diagonal-exponential-retract :
+ (diagonal-exponential A S) retract-of-arrow (diagonal-exponential B T)
+ retract-arrow-diagonal-exponential-retract =
( inclusion-diagonal-exponential-retract ,
hom-retraction-diagonal-exponential-retract ,
is-retraction-hom-retraction-diagonal-exponential-retract)
diff --git a/src/foundation/retracts-of-types.lagda.md b/src/foundation/retracts-of-types.lagda.md
index 1de9f4bdf06..ef5b1640bfb 100644
--- a/src/foundation/retracts-of-types.lagda.md
+++ b/src/foundation/retracts-of-types.lagda.md
@@ -182,5 +182,5 @@ iff-retract' = inv-iff ∘ iff-retract
## See also
-- [Retracts of maps](foundation.retracts-of-maps.md)
+- [Retracts of arrows](foundation.retracts-of-arrows.md)
- [Retractive types](structured-types.retractive-types.md)
diff --git a/src/foundation/small-maps.lagda.md b/src/foundation/small-maps.lagda.md
index fb58031e156..0c261c3db62 100644
--- a/src/foundation/small-maps.lagda.md
+++ b/src/foundation/small-maps.lagda.md
@@ -9,7 +9,7 @@ module foundation.small-maps where
```agda
open import foundation.dependent-pair-types
open import foundation.locally-small-types
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.split-idempotent-maps
open import foundation.universe-levels
@@ -74,17 +74,17 @@ module _
is-small-map-Prop = is-small-map l f , is-prop-is-small-map
```
-### Small maps are closed under retracts of maps
+### Small maps are closed under retracts of arrows
```agda
module _
{l1 l2 l3 l4 l : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
- {f : A → B} {g : X → Y} (R : f retract-of-map g)
+ {f : A → B} {g : X → Y} (R : f retract-of-arrow g)
where
is-small-map-retract : is-small-map l g → is-small-map l f
is-small-map-retract is-small-g b =
is-small-retract
- ( is-small-g (map-codomain-inclusion-retract-map f g R b))
- ( retract-fiber-retract-map f g R b)
+ ( is-small-g (map-codomain-inclusion-retract-arrow f g R b))
+ ( retract-fiber-retract-arrow f g R b)
```
diff --git a/src/foundation/univalent-type-families.lagda.md b/src/foundation/univalent-type-families.lagda.md
index f41ed1df943..845198b0a17 100644
--- a/src/foundation/univalent-type-families.lagda.md
+++ b/src/foundation/univalent-type-families.lagda.md
@@ -19,7 +19,6 @@ open import foundation.fundamental-theorem-of-identity-types
open import foundation.global-subuniverses
open import foundation.identity-systems
open import foundation.iterated-dependent-product-types
-open import foundation.monomorphisms
open import foundation.propositions
open import foundation.retractions
open import foundation.subtype-identity-principle
diff --git a/src/foundation/vertical-composition-spans-of-spans.lagda.md b/src/foundation/vertical-composition-spans-of-spans.lagda.md
index 785b4827451..9eaf32e217b 100644
--- a/src/foundation/vertical-composition-spans-of-spans.lagda.md
+++ b/src/foundation/vertical-composition-spans-of-spans.lagda.md
@@ -11,7 +11,6 @@ open import foundation.commuting-triangles-of-maps
open import foundation.composition-spans
open import foundation.dependent-pair-types
open import foundation.equivalences
-open import foundation.equivalences-arrows
open import foundation.equivalences-spans
open import foundation.homotopies
open import foundation.identity-types
@@ -25,6 +24,7 @@ open import foundation.type-arithmetic-standard-pullbacks
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
+open import foundation-core.equivalences-arrows
open import foundation-core.function-types
```
diff --git a/src/logic/de-morgan-embeddings.lagda.md b/src/logic/de-morgan-embeddings.lagda.md
index 3391dea43b7..b5184842630 100644
--- a/src/logic/de-morgan-embeddings.lagda.md
+++ b/src/logic/de-morgan-embeddings.lagda.md
@@ -25,7 +25,7 @@ open import foundation.logical-equivalences
open import foundation.negation
open import foundation.propositional-maps
open import foundation.propositions
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.subtype-identity-principle
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.unit-type
@@ -603,7 +603,7 @@ module _
( is-de-morgan-prop-map-is-de-morgan-emb F))
```
-### De Morgan embeddings are closed under retracts of maps
+### De Morgan embeddings are closed under retracts of arrows
```agda
module _
@@ -611,22 +611,22 @@ module _
{f : A → B} {g : X → Y}
where
- is-de-morgan-prop-map-retract-map :
- f retract-of-map g →
+ is-de-morgan-prop-map-retract-arrow :
+ f retract-of-arrow g →
is-de-morgan-prop-map g →
is-de-morgan-prop-map f
- is-de-morgan-prop-map-retract-map R G x =
+ is-de-morgan-prop-map-retract-arrow R G x =
is-de-morgan-prop-retract-of
- ( retract-fiber-retract-map f g R x)
- ( G (map-codomain-inclusion-retract-map f g R x))
+ ( retract-fiber-retract-arrow f g R x)
+ ( G (map-codomain-inclusion-retract-arrow f g R x))
- is-de-morgan-emb-retract-map :
- f retract-of-map g →
+ is-de-morgan-emb-retract-arrow :
+ f retract-of-arrow g →
is-de-morgan-emb g →
is-de-morgan-emb f
- is-de-morgan-emb-retract-map R G =
+ is-de-morgan-emb-retract-arrow R G =
is-de-morgan-emb-is-de-morgan-prop-map
- ( is-de-morgan-prop-map-retract-map R
+ ( is-de-morgan-prop-map-retract-arrow R
( is-de-morgan-prop-map-is-de-morgan-emb G))
```
diff --git a/src/logic/de-morgan-maps.lagda.md b/src/logic/de-morgan-maps.lagda.md
index 98d4d2b321f..a4c1369e307 100644
--- a/src/logic/de-morgan-maps.lagda.md
+++ b/src/logic/de-morgan-maps.lagda.md
@@ -27,7 +27,7 @@ open import foundation.injective-maps
open import foundation.negation
open import foundation.propositions
open import foundation.retractions
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.retracts-of-types
open import foundation.transport-along-identifications
open import foundation.unit-type
@@ -319,7 +319,7 @@ module _
( F (map-codomain-cartesian-hom-arrow g f α d))
```
-### De Morgan maps are closed under retracts of maps
+### De Morgan maps are closed under retracts of arrows
```agda
module _
@@ -327,13 +327,13 @@ module _
{f : A → B} {g : X → Y}
where
- is-de-morgan-retract-map :
- f retract-of-map g →
+ is-de-morgan-retract-arrow :
+ f retract-of-arrow g →
is-de-morgan-map g →
is-de-morgan-map f
- is-de-morgan-retract-map R G x =
+ is-de-morgan-retract-arrow R G x =
is-decidable-iff
- ( map-neg (inclusion-retract (retract-fiber-retract-map f g R x)))
- ( map-neg (map-retraction-retract (retract-fiber-retract-map f g R x)))
- ( G (map-codomain-inclusion-retract-map f g R x))
+ ( map-neg (inclusion-retract (retract-fiber-retract-arrow f g R x)))
+ ( map-neg (map-retraction-retract (retract-fiber-retract-arrow f g R x)))
+ ( G (map-codomain-inclusion-retract-arrow f g R x))
```
diff --git a/src/logic/double-negation-eliminating-maps.lagda.md b/src/logic/double-negation-eliminating-maps.lagda.md
index b5c1d526d1f..4d72dde0991 100644
--- a/src/logic/double-negation-eliminating-maps.lagda.md
+++ b/src/logic/double-negation-eliminating-maps.lagda.md
@@ -20,7 +20,7 @@ open import foundation.functoriality-coproduct-types
open import foundation.hilbert-epsilon-operators-maps
open import foundation.identity-types
open import foundation.injective-maps
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.transport-along-identifications
open import foundation.universe-levels
@@ -314,7 +314,7 @@ module _
( F (map-codomain-cartesian-hom-arrow g f α d))
```
-### Double negation eliminating maps are closed under retracts of maps
+### Double negation eliminating maps are closed under retracts of arrows
```agda
module _
@@ -322,14 +322,14 @@ module _
{f : A → B} {g : X → Y}
where
- is-double-negation-eliminating-retract-map :
- f retract-of-map g →
+ is-double-negation-eliminating-retract-arrow :
+ f retract-of-arrow g →
is-double-negation-eliminating-map g →
is-double-negation-eliminating-map f
- is-double-negation-eliminating-retract-map R G x =
+ is-double-negation-eliminating-retract-arrow R G x =
has-double-negation-elim-retract
- ( retract-fiber-retract-map f g R x)
- ( G (map-codomain-inclusion-retract-map f g R x))
+ ( retract-fiber-retract-arrow f g R x)
+ ( G (map-codomain-inclusion-retract-arrow f g R x))
```
### Double negation eliminating maps have Hilbert ε-operators
diff --git a/src/logic/double-negation-stable-embeddings.lagda.md b/src/logic/double-negation-stable-embeddings.lagda.md
index f6f753758a9..cf8a48cc36b 100644
--- a/src/logic/double-negation-stable-embeddings.lagda.md
+++ b/src/logic/double-negation-stable-embeddings.lagda.md
@@ -22,7 +22,7 @@ open import foundation.identity-types
open import foundation.logical-equivalences
open import foundation.propositional-maps
open import foundation.propositions
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.subtype-identity-principle
open import foundation.unit-type
open import foundation.universal-property-equivalences
@@ -663,7 +663,7 @@ module _
( is-double-negation-stable-prop-map-is-double-negation-stable-emb F))
```
-### Double negation stable embeddings are closed under retracts of maps
+### Double negation stable embeddings are closed under retracts of arrows
```agda
module _
@@ -671,22 +671,22 @@ module _
{f : A → B} {g : X → Y}
where
- is-double-negation-stable-prop-map-retract-map :
- f retract-of-map g →
+ is-double-negation-stable-prop-map-retract-arrow :
+ f retract-of-arrow g →
is-double-negation-stable-prop-map g →
is-double-negation-stable-prop-map f
- is-double-negation-stable-prop-map-retract-map R G x =
+ is-double-negation-stable-prop-map-retract-arrow R G x =
is-double-negation-stable-prop-retract
- ( retract-fiber-retract-map f g R x)
- ( G (map-codomain-inclusion-retract-map f g R x))
+ ( retract-fiber-retract-arrow f g R x)
+ ( G (map-codomain-inclusion-retract-arrow f g R x))
- is-double-negation-stable-emb-retract-map :
- f retract-of-map g →
+ is-double-negation-stable-emb-retract-arrow :
+ f retract-of-arrow g →
is-double-negation-stable-emb g →
is-double-negation-stable-emb f
- is-double-negation-stable-emb-retract-map R G =
+ is-double-negation-stable-emb-retract-arrow R G =
is-double-negation-stable-emb-is-double-negation-stable-prop-map
- ( is-double-negation-stable-prop-map-retract-map R
+ ( is-double-negation-stable-prop-map-retract-arrow R
( is-double-negation-stable-prop-map-is-double-negation-stable-emb G))
```
diff --git a/src/orthogonal-factorization-systems/anodyne-maps.lagda.md b/src/orthogonal-factorization-systems/anodyne-maps.lagda.md
index 8f86a1c09da..5cd1cf6d7ad 100644
--- a/src/orthogonal-factorization-systems/anodyne-maps.lagda.md
+++ b/src/orthogonal-factorization-systems/anodyne-maps.lagda.md
@@ -80,7 +80,7 @@ module _
is-orthogonal-left-equiv-arrow α g (J g H)
```
-### Anodyne maps are closed under retracts of maps
+### Anodyne maps are closed under retracts of arrows
> This remains to be formalized.
diff --git a/src/orthogonal-factorization-systems/connected-maps-at-subuniverses.lagda.md b/src/orthogonal-factorization-systems/connected-maps-at-subuniverses.lagda.md
index 191cb040a68..666a1c72980 100644
--- a/src/orthogonal-factorization-systems/connected-maps-at-subuniverses.lagda.md
+++ b/src/orthogonal-factorization-systems/connected-maps-at-subuniverses.lagda.md
@@ -13,7 +13,6 @@ open import foundation.coproduct-types
open import foundation.dependent-pair-types
open import foundation.dependent-universal-property-equivalences
open import foundation.equivalences
-open import foundation.equivalences-arrows
open import foundation.function-extensionality
open import foundation.functoriality-cartesian-product-types
open import foundation.functoriality-coproduct-types
@@ -24,7 +23,7 @@ open import foundation.inhabited-types
open import foundation.precomposition-dependent-functions
open import foundation.precomposition-functions
open import foundation.propositional-truncations
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.sections
open import foundation.split-surjective-maps
open import foundation.subtype-identity-principle
@@ -39,6 +38,7 @@ open import foundation.universe-levels
open import foundation-core.contractible-maps
open import foundation-core.embeddings
+open import foundation-core.equivalences-arrows
open import foundation-core.fibers-of-maps
open import foundation-core.function-types
open import foundation-core.functoriality-dependent-pair-types
@@ -734,7 +734,7 @@ module _
( dependent-pullback-property-pushout-is-pushout f g c H)
```
-### `K`-connected maps are closed under retracts of maps
+### `K`-connected maps are closed under retracts of arrows
**Proof.** Given a retract of maps
@@ -760,7 +760,7 @@ functoriality an induced retract of dependent precomposition maps
Π(B'),U <--------- Π(B'),(U∘r'∘i') <----- Π(B),(U∘r') <--- Π(B'),(U),
```
-and since equivalences are closed under retracts of maps, if `f` is
+and since equivalences are closed under retracts of arrows, if `f` is
`K`-connected then so is `f'`. ∎
> This remains to be formalized.
@@ -771,18 +771,18 @@ The formalization below takes a shortcut via the fiber condition.
module _
{l1 l2 l3 l4 l5 l6 : Level} (K : subuniverse l1 l2)
{A : UU l3} {B : UU l4} {C : UU l5} {D : UU l6}
- {f : A → B} {g : C → D} (R : f retract-of-map g)
+ {f : A → B} {g : C → D} (R : f retract-of-arrow g)
where
- is-subuniverse-connected-map-retract-map' :
+ is-subuniverse-connected-map-retract-arrow' :
((y : D) → is-subuniverse-connected K (fiber g y)) →
is-subuniverse-connected-map K f
- is-subuniverse-connected-map-retract-map' H =
+ is-subuniverse-connected-map-retract-arrow' H =
is-subuniverse-connected-map-is-subuniverse-connected-fibers K f
( λ b →
is-subuniverse-connected-retract K
- ( retract-fiber-retract-map f g R b)
- ( H (map-codomain-inclusion-retract-map f g R b)))
+ ( retract-fiber-retract-arrow f g R b)
+ ( H (map-codomain-inclusion-retract-arrow f g R b)))
```
### The total map induced by a family of maps is `K`-connected if and only if all maps in the family are `K`-connected
diff --git a/src/orthogonal-factorization-systems/connected-types-at-subuniverses.lagda.md b/src/orthogonal-factorization-systems/connected-types-at-subuniverses.lagda.md
index 9c55d85bf0b..0675ac087ce 100644
--- a/src/orthogonal-factorization-systems/connected-types-at-subuniverses.lagda.md
+++ b/src/orthogonal-factorization-systems/connected-types-at-subuniverses.lagda.md
@@ -11,7 +11,7 @@ open import foundation.contractible-types
open import foundation.dependent-pair-types
open import foundation.diagonal-maps-of-types
open import foundation.equivalences
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.retracts-of-types
open import foundation.subuniverses
open import foundation.unit-type
@@ -223,10 +223,10 @@ module _
is-subuniverse-connected K B →
is-subuniverse-connected K A
is-subuniverse-connected-retract R H U =
- is-equiv-retract-map-is-equiv
+ is-equiv-retract-arrow-is-equiv
( diagonal-exponential (pr1 U) A)
( diagonal-exponential (pr1 U) B)
- ( retract-map-diagonal-exponential-retract id-retract R)
+ ( retract-arrow-diagonal-exponential-retract id-retract R)
( H U)
```
diff --git a/src/orthogonal-factorization-systems/functoriality-localizations-at-global-subuniverses.lagda.md b/src/orthogonal-factorization-systems/functoriality-localizations-at-global-subuniverses.lagda.md
index 84d05820795..ee68ac8344c 100644
--- a/src/orthogonal-factorization-systems/functoriality-localizations-at-global-subuniverses.lagda.md
+++ b/src/orthogonal-factorization-systems/functoriality-localizations-at-global-subuniverses.lagda.md
@@ -24,7 +24,7 @@ open import foundation.identity-types
open import foundation.precomposition-functions
open import foundation.propositions
open import foundation.retractions
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.retracts-of-types
open import foundation.subuniverses
open import foundation.unit-type
@@ -360,7 +360,7 @@ module _
( 𝒫)
( reflection-localization-global-subuniverse LX)
( up-localization-global-subuniverse LX)
- ( is-equiv-retract-map-is-equiv'
+ ( is-equiv-retract-arrow-is-equiv'
( unit-localization-global-subuniverse LX)
( unit-localization-global-subuniverse LY)
( R)
diff --git a/src/orthogonal-factorization-systems/functoriality-pullback-hom.lagda.md b/src/orthogonal-factorization-systems/functoriality-pullback-hom.lagda.md
index 7d7e25d9c1e..560481febd6 100644
--- a/src/orthogonal-factorization-systems/functoriality-pullback-hom.lagda.md
+++ b/src/orthogonal-factorization-systems/functoriality-pullback-hom.lagda.md
@@ -25,7 +25,7 @@ open import foundation.morphisms-arrows
open import foundation.morphisms-cospan-diagrams
open import foundation.postcomposition-functions
open import foundation.precomposition-functions
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.universe-levels
open import foundation.whiskering-higher-homotopies-composition
open import foundation.whiskering-homotopies-composition
diff --git a/src/orthogonal-factorization-systems/functoriality-reflective-global-subuniverses.lagda.md b/src/orthogonal-factorization-systems/functoriality-reflective-global-subuniverses.lagda.md
index 495d59bdb18..4e02f4735cc 100644
--- a/src/orthogonal-factorization-systems/functoriality-reflective-global-subuniverses.lagda.md
+++ b/src/orthogonal-factorization-systems/functoriality-reflective-global-subuniverses.lagda.md
@@ -23,7 +23,7 @@ open import foundation.identity-types
open import foundation.precomposition-functions
open import foundation.propositions
open import foundation.retractions
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.retracts-of-types
open import foundation.subuniverses
open import foundation.unit-type
diff --git a/src/orthogonal-factorization-systems/maps-local-at-maps.lagda.md b/src/orthogonal-factorization-systems/maps-local-at-maps.lagda.md
index 921e0c45d7d..0cde3701c02 100644
--- a/src/orthogonal-factorization-systems/maps-local-at-maps.lagda.md
+++ b/src/orthogonal-factorization-systems/maps-local-at-maps.lagda.md
@@ -26,7 +26,7 @@ open import foundation.postcomposition-functions
open import foundation.precomposition-functions
open import foundation.propositions
open import foundation.pullbacks
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.unit-type
open import foundation.universal-property-family-of-fibers-of-maps
open import foundation.universe-levels
@@ -139,12 +139,12 @@ module _
{f : A → B} {g : C → D} {g' : E → F}
where
- is-local-retract-map :
- is-local-map f g → g' retract-of-map g → is-local-map f g'
- is-local-retract-map G R d =
+ is-local-retract-arrow :
+ is-local-map f g → g' retract-of-arrow g → is-local-map f g'
+ is-local-retract-arrow G R d =
is-local-retract
- ( retract-fiber-retract-map g' g R d)
- ( G (map-codomain-inclusion-retract-map g' g R d))
+ ( retract-fiber-retract-arrow g' g R d)
+ ( G (map-codomain-inclusion-retract-arrow g' g R d))
```
```agda
@@ -154,10 +154,10 @@ module _
{f : A → B} {g : C → D} {f' : E → F}
where
- is-local-retract-map' :
- is-local-map f g → f' retract-of-map f → is-local-map f' g
- is-local-retract-map' F R d =
- is-local-retract-map-is-local f' f R (fiber g d) (F d)
+ is-local-retract-arrow' :
+ is-local-map f g → f' retract-of-arrow f → is-local-map f' g
+ is-local-retract-arrow' F R d =
+ is-local-retract-arrow-is-local f' f R (fiber g d) (F d)
```
## See also
diff --git a/src/orthogonal-factorization-systems/null-types.lagda.md b/src/orthogonal-factorization-systems/null-types.lagda.md
index d47b2a74fd6..a7799e80e18 100644
--- a/src/orthogonal-factorization-systems/null-types.lagda.md
+++ b/src/orthogonal-factorization-systems/null-types.lagda.md
@@ -25,7 +25,7 @@ open import foundation.precomposition-dependent-functions
open import foundation.precomposition-functions
open import foundation.propositions
open import foundation.retractions
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.retracts-of-types
open import foundation.sections
open import foundation.type-arithmetic-unit-type
@@ -132,10 +132,10 @@ module _
is-null-retract :
X retract-of Y → A retract-of B → is-null Y B → is-null X A
is-null-retract e f =
- is-equiv-retract-map-is-equiv
+ is-equiv-retract-arrow-is-equiv
( diagonal-exponential A X)
( diagonal-exponential B Y)
- ( retract-map-diagonal-exponential-retract f e)
+ ( retract-arrow-diagonal-exponential-retract f e)
module _
{l1 l2 l3 : Level} {Y : UU l1} {A : UU l2} {B : UU l3}
diff --git a/src/orthogonal-factorization-systems/postcomposition-extensions-maps.lagda.md b/src/orthogonal-factorization-systems/postcomposition-extensions-maps.lagda.md
index 1de516712d0..a13433b2d44 100644
--- a/src/orthogonal-factorization-systems/postcomposition-extensions-maps.lagda.md
+++ b/src/orthogonal-factorization-systems/postcomposition-extensions-maps.lagda.md
@@ -15,13 +15,14 @@ open import foundation.function-types
open import foundation.functoriality-dependent-function-types
open import foundation.functoriality-dependent-pair-types
open import foundation.functoriality-function-types
-open import foundation.monomorphisms
open import foundation.postcomposition-functions
open import foundation.truncated-maps
open import foundation.truncation-levels
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
+open import foundation-core.monomorphisms
+
open import orthogonal-factorization-systems.extensions-maps
```
diff --git a/src/orthogonal-factorization-systems/types-colocal-at-maps.lagda.md b/src/orthogonal-factorization-systems/types-colocal-at-maps.lagda.md
index 7292a82aa04..ae60e287ae6 100644
--- a/src/orthogonal-factorization-systems/types-colocal-at-maps.lagda.md
+++ b/src/orthogonal-factorization-systems/types-colocal-at-maps.lagda.md
@@ -14,7 +14,6 @@ open import foundation.contractible-types
open import foundation.dependent-pair-types
open import foundation.empty-types
open import foundation.equivalences
-open import foundation.equivalences-arrows
open import foundation.function-extensionality
open import foundation.function-types
open import foundation.homotopies
@@ -22,7 +21,7 @@ open import foundation.identity-types
open import foundation.postcomposition-dependent-functions
open import foundation.postcomposition-functions
open import foundation.propositions
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.retracts-of-types
open import foundation.unit-type
open import foundation.universal-property-empty-type
@@ -30,6 +29,7 @@ open import foundation.universal-property-equivalences
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
+open import foundation-core.equivalences-arrows
open import foundation-core.fibers-of-maps
```
@@ -183,15 +183,15 @@ module _
```agda
module _
{l1 l2 l3 l4 l5 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
- (f : A → B) (g : X → Y) (R : g retract-of-map f) (S : UU l5)
+ (f : A → B) (g : X → Y) (R : g retract-of-arrow f) (S : UU l5)
where
- is-colocal-retract-map-is-colocal : is-colocal f S → is-colocal g S
- is-colocal-retract-map-is-colocal =
- is-equiv-retract-map-is-equiv
+ is-colocal-retract-arrow-is-colocal : is-colocal f S → is-colocal g S
+ is-colocal-retract-arrow-is-colocal =
+ is-equiv-retract-arrow-is-equiv
( postcomp S g)
( postcomp S f)
- ( retract-map-postcomp-retract-map g f R S)
+ ( retract-arrow-postcomp-retract-arrow g f R S)
```
In fact, the higher coherence of the retract is not needed:
@@ -210,9 +210,9 @@ module _
(S : UU l5)
where
- is-colocal-retract-map-is-colocal' : is-colocal f S → is-colocal g S
- is-colocal-retract-map-is-colocal' =
- is-equiv-retract-map-is-equiv'
+ is-colocal-retract-arrow-is-colocal' : is-colocal f S → is-colocal g S
+ is-colocal-retract-arrow-is-colocal' =
+ is-equiv-retract-arrow-is-equiv'
( postcomp S g)
( postcomp S f)
( retract-postcomp S R₀)
diff --git a/src/orthogonal-factorization-systems/types-local-at-maps.lagda.md b/src/orthogonal-factorization-systems/types-local-at-maps.lagda.md
index 61cd3a03c0e..4fb55695d5f 100644
--- a/src/orthogonal-factorization-systems/types-local-at-maps.lagda.md
+++ b/src/orthogonal-factorization-systems/types-local-at-maps.lagda.md
@@ -32,7 +32,7 @@ open import foundation.precomposition-functions
open import foundation.propositional-maps
open import foundation.propositions
open import foundation.retractions
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.retracts-of-types
open import foundation.sections
open import foundation.transport-along-identifications
@@ -223,7 +223,7 @@ module _
is-local-retract : A retract-of B → is-local f B → is-local f A
is-local-retract R =
- is-equiv-retract-map-is-equiv'
+ is-equiv-retract-arrow-is-equiv'
( precomp f A)
( precomp f B)
( retract-postcomp Y R)
@@ -251,15 +251,15 @@ module _
```agda
module _
{l1 l2 l3 l4 l5 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4}
- (f : A → B) (g : X → Y) (R : f retract-of-map g) (S : UU l5)
+ (f : A → B) (g : X → Y) (R : f retract-of-arrow g) (S : UU l5)
where
- is-local-retract-map-is-local : is-local g S → is-local f S
- is-local-retract-map-is-local =
- is-equiv-retract-map-is-equiv
+ is-local-retract-arrow-is-local : is-local g S → is-local f S
+ is-local-retract-arrow-is-local =
+ is-equiv-retract-arrow-is-equiv
( precomp f S)
( precomp g S)
- ( retract-map-precomp-retract-map f g R S)
+ ( retract-arrow-precomp-retract-arrow f g R S)
```
In fact, the higher coherence of the retract is not needed:
@@ -278,9 +278,9 @@ module _
(S : UU l5)
where
- is-local-retract-map-is-local' : is-local g S → is-local f S
- is-local-retract-map-is-local' =
- is-equiv-retract-map-is-equiv'
+ is-local-retract-arrow-is-local' : is-local g S → is-local f S
+ is-local-retract-arrow-is-local' =
+ is-equiv-retract-arrow-is-equiv'
( precomp f S)
( precomp g S)
( retract-precomp R₁ S)
diff --git a/src/orthogonal-factorization-systems/weakly-anodyne-maps.lagda.md b/src/orthogonal-factorization-systems/weakly-anodyne-maps.lagda.md
index a2a1cdbe49c..76eaf486727 100644
--- a/src/orthogonal-factorization-systems/weakly-anodyne-maps.lagda.md
+++ b/src/orthogonal-factorization-systems/weakly-anodyne-maps.lagda.md
@@ -14,7 +14,7 @@ open import foundation.functoriality-cartesian-product-types
open import foundation.functoriality-coproduct-types
open import foundation.functoriality-dependent-pair-types
open import foundation.homotopies
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.unit-type
open import foundation.universe-levels
@@ -74,7 +74,7 @@ module _
( is-orthogonal-terminal-map-is-local f (G x)))
```
-### Weakly anodyne maps are closed under retracts of maps
+### Weakly anodyne maps are closed under retracts of arrows
```agda
module _
@@ -83,8 +83,8 @@ module _
(f : A → B) {j : C → D} {j' : C' → D'}
where
- is-weakly-anodyne-map-retract-map :
- retract-map j j' → is-weakly-anodyne-map f j → is-weakly-anodyne-map f j'
- is-weakly-anodyne-map-retract-map α J g G x =
- is-local-retract-map-is-local j' j α (fiber g x) (J g G x)
+ is-weakly-anodyne-map-retract-arrow :
+ retract-arrow j j' → is-weakly-anodyne-map f j → is-weakly-anodyne-map f j'
+ is-weakly-anodyne-map-retract-arrow α J g G x =
+ is-local-retract-arrow-is-local j' j α (fiber g x) (J g G x)
```
diff --git a/src/synthetic-homotopy-theory/acyclic-maps.lagda.md b/src/synthetic-homotopy-theory/acyclic-maps.lagda.md
index a37d589205e..ac41654748a 100644
--- a/src/synthetic-homotopy-theory/acyclic-maps.lagda.md
+++ b/src/synthetic-homotopy-theory/acyclic-maps.lagda.md
@@ -34,7 +34,7 @@ open import foundation.precomposition-functions
open import foundation.propositional-truncations
open import foundation.propositions
open import foundation.pullbacks
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.torsorial-type-families
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.type-arithmetic-unit-type
@@ -563,11 +563,11 @@ module _
where
is-acyclic-map-retract-of :
- f retract-of-map g → is-acyclic-map g → is-acyclic-map f
+ f retract-of-arrow g → is-acyclic-map g → is-acyclic-map f
is-acyclic-map-retract-of R ac b =
is-acyclic-retract-of
- ( retract-fiber-retract-map f g R b)
- ( ac (map-codomain-inclusion-retract-map f g R b))
+ ( retract-fiber-retract-arrow f g R b)
+ ( ac (map-codomain-inclusion-retract-arrow f g R b))
```
## See also
diff --git a/src/synthetic-homotopy-theory/dependent-pushout-products.lagda.md b/src/synthetic-homotopy-theory/dependent-pushout-products.lagda.md
index 265ce6a2c99..77af3c8b4c1 100644
--- a/src/synthetic-homotopy-theory/dependent-pushout-products.lagda.md
+++ b/src/synthetic-homotopy-theory/dependent-pushout-products.lagda.md
@@ -25,7 +25,7 @@ open import synthetic-homotopy-theory.universal-property-pushouts
The **dependent pushout-product** is a generalization of the
[pushout-product](synthetic-homotopy-theory.pushout-products.md). Consider a map
-`f : A → B` and a family of maps `g : (x : X) → B x → Y x`. The **dependent
+`f : A → X` and a family of maps `g : (x : X) → B x → Y x`. The **dependent
pushout-product** is the [cogap map](synthetic-homotopy-theory.pushouts.md) of
the [commuting square](foundation-core.commuting-squares-of-maps.md)
@@ -39,7 +39,7 @@ the [commuting square](foundation-core.commuting-squares-of-maps.md)
Σ f id
```
-The [fiber](foundation-core.fibers-of-maps.md) of the dependent pushout product
+The [fiber](foundation-core.fibers-of-maps.md) of the dependent pushout-product
at `(x , y)` is [equivalent](foundation-core.equivalences.md) to the join of
fibers
diff --git a/src/synthetic-homotopy-theory/retracts-of-sequential-diagrams.lagda.md b/src/synthetic-homotopy-theory/retracts-of-sequential-diagrams.lagda.md
index 13ad9399bb5..635ec92720b 100644
--- a/src/synthetic-homotopy-theory/retracts-of-sequential-diagrams.lagda.md
+++ b/src/synthetic-homotopy-theory/retracts-of-sequential-diagrams.lagda.md
@@ -202,4 +202,4 @@ module _
## See also
-- [Retracts of maps](foundation.retracts-of-maps.md)
+- [Retracts of arrows](foundation.retracts-of-arrows.md)
diff --git a/src/synthetic-homotopy-theory/truncated-acyclic-maps.lagda.md b/src/synthetic-homotopy-theory/truncated-acyclic-maps.lagda.md
index de8f09d97b7..873360d40a1 100644
--- a/src/synthetic-homotopy-theory/truncated-acyclic-maps.lagda.md
+++ b/src/synthetic-homotopy-theory/truncated-acyclic-maps.lagda.md
@@ -35,7 +35,7 @@ open import foundation.precomposition-functions
open import foundation.propositional-truncations
open import foundation.propositions
open import foundation.pullbacks
-open import foundation.retracts-of-maps
+open import foundation.retracts-of-arrows
open import foundation.torsorial-type-families
open import foundation.truncated-types
open import foundation.truncation-equivalences
@@ -529,13 +529,13 @@ module _
where
is-truncated-acyclic-map-retract-of :
- f retract-of-map g →
+ f retract-of-arrow g →
is-truncated-acyclic-map k g →
is-truncated-acyclic-map k f
is-truncated-acyclic-map-retract-of R ac b =
is-truncated-acyclic-retract-of
- ( retract-fiber-retract-map f g R b)
- ( ac (map-codomain-inclusion-retract-map f g R b))
+ ( retract-fiber-retract-arrow f g R b)
+ ( ac (map-codomain-inclusion-retract-arrow f g R b))
```
### `k`-acyclic maps are closed under pushouts
diff --git a/src/trees/cartesian-morphisms-polynomial-endofunctors.lagda.md b/src/trees/cartesian-morphisms-polynomial-endofunctors.lagda.md
index bc400925adf..4d7d05d893d 100644
--- a/src/trees/cartesian-morphisms-polynomial-endofunctors.lagda.md
+++ b/src/trees/cartesian-morphisms-polynomial-endofunctors.lagda.md
@@ -17,7 +17,6 @@ open import foundation.contractible-types
open import foundation.dependent-pair-types
open import foundation.equality-dependent-function-types
open import foundation.equivalences
-open import foundation.equivalences-arrows
open import foundation.fibers-of-maps
open import foundation.function-types
open import foundation.functoriality-dependent-function-types
@@ -47,6 +46,7 @@ open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
open import foundation-core.equality-dependent-pair-types
+open import foundation-core.equivalences-arrows
open import foundation-core.retractions
open import foundation-core.torsorial-type-families