I'm having trouble understanding why the "essential image" is defined the way it is.


[The nlab article](https://ncatlab.org/nlab/show/essential+image) gives the following definition:



> 
> (A concrete realization of) the essential image of a functor $F: A\to B$ between categories or $n$-categories is the smallest replete subcategory of the target $n$-category $B$ containing the image of $F$
> 
> 
> 


This obviously breaks the principle of equivalence as stated later in the article.


When I think about how to define the essential image, the first thing that comes to mind is if we remember the identification of the functor as a new functor from the source to the essential image - then we don't have to break equivalence:


Say:
The "essential image" of a functor $F:A\to B$ is the initial object in the category of triples $(D, i:D\hookrightarrow B, F':A \to D)$ such that $F= i\circ F'$ (with morphisms the same as in $Cat/B$ that also require post composing them with $F'$ of the domain gives the $F'$ of the codomain)


It exists as the classical image of $F$ satisfies the universal property.


All the different choices of an initial object form a contractible groupoid whose skeleton yields a subcategory of the classical essential image, as the classical image satisfies the universal property and is contained in the classical essential image (but this is not obvious these are equivalent, I suspect in general they are not, but came short of examples).



> 
> **Questions:**
> 
> 
> 1. How large is the difference between this definition and the classical one? To break this down a little:
> 
> 
> a. For what categories we have different subcategories of the two
>  constructions (I believe this highly depends on AC to build
>  pathological cases)
> 
> 
> b. (Aside) Is this difference between the definitions equivalent to AC?
> 
> 
> 2. Which definition behaves better (this is vague in purpose as there are many interpretations to the question that give different points of view on "which" definition is "the right one").
> 
> 
> An argument for this new one is that this definition respects the principle of equivalence. 
> 
> 
> An argument for the classical definition is simplicity - the classical definition is a subcategory and not an equivalence class of subcategories equipped with extra information)?
> 
> 
> Other arguments I can think about can come from higher categorial properties: 
> 
> 
> For example, gluing essential images (in both definitions) of different functors into a pseudofunctor - when can you do this?
> 
> 
> 



Why must the essential image break the principle of equivalence?
There are really two different issues here. In this answer I'm going to deal with the one which I think is mainly a distraction, namely the difference between giving a concrete construction and characterizing something only up to isomorphism.


As the nLab page says, one thing that violates the principle of equivalence is the property of *being equal to the essential image*. But this is not really anything special about the essential image. Consider, for instance, the [product category](https://ncatlab.org/nlab/show/product+category), which is generally defined to have $\mathrm{ob}(A\times B) := \mathrm{ob}(A) \times \mathrm{ob}(B)$ and so on; then the property of "being equal to the product category" also violates the principle of equivalence. The violation here is not in the constructions; the violation is in the words "being equal to" that we choose to apply to them.


If you like, you can always turn a particular construction with a universal property into a definition that appears to be more equivalence-invariant. For instance, instead of defining the product of two sets to be *the* set $A\times B$ of ordered pairs $(a,b)$ with $a\in A$ and $b\in B$, you can define *a* product to be a set equipped with projections $\pi\_1 :P\to A$ and $\pi\_2:P\to B$ satisfying the universal property of the product. However, you then have to prove that such an object *exists*, which you do by giving the particular construction anyway. (From a homotopy-type-theoretic perspective, this is kind of like the difference between $\mathrm{isContr}(A) := \sum\_{a:A} \prod\_{x:A} (a=x)$ and $\mathrm{isContr}(A) := A \times \prod\_{x:A} \prod\_{y\in A} (x=y)$.)


The second approach does prevent us from saying non-invariant things like "is equal to the product", but since (as you point out) it's rather more cumbersome, I'm inclined to instead point the finger at the words "is equal to" rather than at the choice to give a particular construction rather than a definition by universal property. (In particular, there are other ways to prevent ourselves from saying non-invariant things, such as by simply removing the predicate "is equal to" from the language except in cases when it's invariant, or by redefining "equal" to mean "equivalent" as in the univalence axiom.)


In any case, when comparing two notions of image, we should compare apples to apples. The notion of essential image on the nLab page — the smallest replete subcategory containing all the objects and arrows that are the $F$-image of some object or arrow in $A$ — should be compared to a similar notion of image, e.g. the smallest (arbitrary) subcategory containing all those objects and arrows. Both notions of image have a corresponding universal property: they are initial objects in the category of factorizations you describe, where $\hookrightarrow$ means respectively an isofibration that is injective on objects and arrows (in the 'essential' case) or a mere functor that is injective on objects and arrows (in the 'inessential' case). So if we wanted to compare oranges to oranges instead, we could compare these two universal properties. But comparing apples to oranges is a distraction.


A more interesting question, I think, is the extent to which both notions of image do, or do not, respect equivalences of their input data. This question is not addressed on the current nLab page at all.


