## Return to Answer

3 fixed a couple of typos

Isn't it the case that, if $C$ and $D$ are equivalent categories and if, in both of these categories, each object is isomorphic to a proper class of other objects, then $C$ and $D$ are isomorphic (assuming global choice)? So, for example, the category of non-trivial commutative rings and the dual of the category of nonempty affine schemes are isomorphic. (I had to exclude the empty scheme, and therefore the trivial ring, because there's only one empty scheme but lots of trivial rings, which would mess up any attempt at an isomorphism.) More generally, if $F:C\to D$ is an equivalence of categories and if, for each object $a$ in $C$, the number of isomorphic copies of $a$ in $C$ equals the number of isomorphic copies of $F(a)$ in $D$, then there should (again with a generous use of choice) be an isomorphism from $C$ to $D$ (that is, furthermore, naturally isomorphic to the given $F$).

EDIT: Martin asked in a comment for a proof; I'll put a proof (or at least a sketch, which I hope will suffice) into the answer because it won't fit into a comment. Suppose $F:C\to D$ is an equivalence and, for each object $a$ of $C$, the isomorphism classes of $a$ and $F(a)$ are the same size. In $C$, choose one representative object from each isomorphism class of objects; write $a^*$ for the representative of the isomorphism class of $a$. Also choose, for each object $a$, an isomorphism $i_a:a\to a^*$, subject to the convention that `$i_{a^*}$` is the identity morphism of `$a^*$`. Do the same in $D$, but, instead of arbitrarily choosing the representative objects, use the objects `$F(a^*)$`; there's exactly one of these in each isomorphism class, because $F$ is an equivalence. But the isomorphisms `$i_b$`, from objects of $b$ of $D$ to the representatives, are still chosen arbitrarily except that, as before, for the representatives themselves we use identity morphisms. Now define a new functor $F':C\to D$ as follows. On the representative objects `$a^*$`, it agrees with $F$. On other objects, it acts in such a way that the isomorphism class of any `$a^*$` is mapped bijectively to the isomorphism class of `$F(a^*)$`; this is possible because I assumed that these isomorphism classes have the same size. Finally, if $f:a\to b$ is a morphism in $C$, then $F'$ should send it to the following mess: ```$$
i_{F'(b)}^{-1}F(i_bf{i_a}^{-1})i_{F'(a)}.
$$``` In perhaps more understandable language: Use `$i_a$` and `$i_b$` to transport $f$ to a morphism from `$a^*$` to `$b^*$`, apply $F$ to that, and then transport the result to map `$F'(a)\to F'(b)$` F'(b)$` via the chosen isomorphisms in $D$. It should be routine to check that this $F'$ is an isomorphism.

2 added 1772 characters in body

EDIT: Martin asked in a comment for a proof; I'll put a proof (or at least a sketch, which I hope will suffice) into the answer because it won't fit into a comment. Suppose $F:C\to D$ is an equivalence and, for each object $a$ of $C$, the isomorphism classes of $a$ and $F(a)$ are the same size. In $C$, choose one representative object from each isomorphism class of objects; write $a^*$ for the representative of the isomorphism class of $a$. Also choose, for each object $a$, an isomorphism $i_a:a\to a^*$, subject to the convention that `$i_{a^*}$` is the identity morphism of `$a^*$`. Do the same in $D$, but, instead of arbitrarily choosing the representative objects, use the objects `$F(a^*)$`; there's exactly one of these in each isomorphism class, because $F$ is an equivalence. But the isomorphisms `$i_b$`, from objects of $b$ to the representatives, are still chosen arbitrarily except that, as before, for the representatives themselves we use identity morphisms. Now define a new functor $F':C\to D$ as follows. On the representative objects `$a^*$`, it agrees with $F$. On other objects, it acts in such a way that the isomorphism class of any `$a^*$` is mapped bijectively to the isomorphism class of `$F(a^*)$`; this is possible because I assumed that these isomorphism classes have the same size. Finally, if $f:a\to b$ is a morphism in $C$, then $F'$ should send it to the following mess:`$$$$`In perhaps more understandable language: Use `$i_a$` and `$i_b$` to transport $f$ to a morphism from `$a^*$` to `$b^*$`, apply $F$ to that, and then transport the result to map $F'(a)\to F'(b)$` via the chosen isomorphisms in $D$. It should be routine to check that this $F'$ is an isomorphism.

1

Isn't it the case that, if $C$ and $D$ are equivalent categories and if, in both of these categories, each object is isomorphic to a proper class of other objects, then $C$ and $D$ are isomorphic (assuming global choice)? So, for example, the category of non-trivial commutative rings and the dual of the category of nonempty affine schemes are isomorphic. (I had to exclude the empty scheme, and therefore the trivial ring, because there's only one empty scheme but lots of trivial rings, which would mess up any attempt at an isomorphism.) More generally, if $F:C\to D$ is an equivalence of categories and if, for each object $a$ in $C$, the number of isomorphic copies of $a$ in $C$ equals the number of isomorphic copies of $F(a)$ in $D$, then there should (again with a generous use of choice) be an isomorphism from $C$ to $D$ (that is, furthermore, naturally isomorphic to the given $F$).
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 74, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9353822469711304, "perplexity_flag": "head"}