The Cantor-Bernstein theorem states that if there are two injective applications $f:A\to B$ and $g:B\to A$ between sets $A$ and $B$, then there exists a bijection $h:A\to B$.
I asked myself the following question :
In a category $\textbf{C}$, what would be a
sufficient condition
and a necessary condition
on $\textbf{C}$ such that for any pair of objects $A$ and $B$, the existence of monomorphisms (or simply split monomorphisms) $A\to B$ and $B\to A$ implies the existence of an isomorphism $A\cong B$ ?
As examples, it is false in $\textbf{Top}$, but it is true in $\textbf{Vect}$ (since Cantor-Bernstein applies to the underlying applications, and because the reciprocal of a linear map must remain linear).
Although one has a free object functor and the other doesn't, it turns out it doesn't hold in $\textbf{Grp}$ (I have been told that different-rank free groups can be embedded into one another). I also have no clue whether this would hold in non-concrete categories (whilst being irrelevant to daily-life scenarios, it is still of theoretical interest).
I therefore suspect the condition to be very difficult, thus I'm asking it here.
Now, a similar statement for Cantor-Bernstein holds, assuming choice (see this S.E. question). To go further, how would this translate in this scenario ?