# Dependent epimorphisms ```agda module foundation.dependent-epimorphisms where ``` <details><summary>Imports</summary> ```agda open import foundation.epimorphisms open import foundation.universe-levels open import foundation-core.embeddings open import foundation-core.precomposition-dependent-functions ``` </details> ## Idea A **dependent epimorphism** is a map `f : A → B` such that the [precomposition function](foundation.precomposition-dependent-functions.md) ```text - ∘ f : ((b : B) → C b) → ((a : A) → C (f a)) ``` is an [embedding](foundation-core.embeddings.md) for every type family `C` over `B`. Clearly, every dependent epimorphism is an [epimorphism](foundation.epimorphisms.md). The converse is also true, i.e., every epimorphism is a dependent epimorphism. Therefore it follows that a map `f : A → B` is [acyclic](synthetic-homotopy-theory.acyclic-maps.md) if and only if it is an epimorphism, if and only if it is a dependent epimorphism. ## Definitions ### The predicate of being a dependent epimorphism ```agda module _ {l1 l2 : Level} {A : UU l1} {B : UU l2} where is-dependent-epimorphism : (A → B) → UUω is-dependent-epimorphism f = {l : Level} (C : B → UU l) → is-emb (precomp-Π f C) ``` ## Properties ### Every dependent epimorphism is an epimorphism ```agda module _ {l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A → B) where is-epimorphism-is-dependent-epimorphism : is-dependent-epimorphism f → is-epimorphism f is-epimorphism-is-dependent-epimorphism e X = e (λ _ → X) ``` The converse of the above, that every epimorphism is a dependent epimorphism, can be found in the file on [acyclic maps](synthetic-homotopy-theory.acyclic-maps.md). ## See also - [Acyclic maps](synthetic-homotopy-theory.acyclic-maps.md) - [Epimorphisms](foundation.epimorphisms.md) - [Epimorphisms with respect to sets](foundation.epimorphisms-with-respect-to-sets.md) - [Epimorphisms with respect to truncated types](foundation.epimorphisms-with-respect-to-truncated-types.md)