Remark 11.10.5.4. Let $U: \operatorname{\mathcal{D}}\rightarrow \operatorname{\mathcal{C}}$ be a functor between categories. The following conditions are equivalent:
The functor $U$ is a fibration in sets. Moreover, for every morphism $f: X \rightarrow Y$ in the category $\operatorname{\mathcal{C}}$, the function $f^{\ast }: \operatorname{Ob}( \operatorname{\mathcal{D}}_{Y} ) \rightarrow \operatorname{Ob}( \operatorname{\mathcal{D}}_{X} )$ is bijective.
The functor $U$ is an opfibration in sets. Moreover, for every morphism $f: X \rightarrow Y$ in the category $\operatorname{\mathcal{C}}$, the function $f_!: \operatorname{Ob}( \operatorname{\mathcal{D}}_{X} ) \rightarrow \operatorname{Ob}( \operatorname{\mathcal{D}}_{Y} )$ is bijective.
The functor $U$ is both a fibration in sets and an opfibration in sets.
If these conditions are satisfied, then we say that $U$ is a covering map (see Definition ). In this case, for every morphism $f: X \rightarrow Y$ in the category $\operatorname{\mathcal{C}}$, the functions $f^{\ast }$ and $f_{!}$ are inverses of one another.