For any (commutative, unital) ring $A$, maps $\mathbb{Z}^2\to A$ correspond to idempotent elements of $A$. Also, idempotent elements of $A$ correspond to ways of expressing $A$ as a product of two rings, by mapping an idempotent $e$ to the decomposition $(e)\times (1-e)$, where we treat $(e)$ as a ring with identity $e$. This gives a bijection between $\text{Hom}(\mathbb Z^2,A)$ and the set of product representations of $A$.

More generally, in any category with finite products and initial object $I$, we can define a product decomposition of an object $A$ as an isomorphism class of tuples $(A,B_1,B_2,p_1,p_2)$ with $p_i:A\to B_i$ which form product diagrams. Then for any object $A$, there is a map $F$ from the "set" of product decompositions to $\text{Hom}(I^2,A)$ as follows: given a representative $(A,B_1,B_2,p_1,p_2)$, we have $I\times I \xrightarrow{\pi_i}I\to B_i$ which for $i=1,2$ gives two maps $I\times I\to B_i$, and thus a map $I\times I\to B_1\times B_2=A$.

As noted above, for any object of the category of rings, the $F$ is a bijection. (The set of product decompositions doesn't have a functor structure, so it doesn't seem like we could upgrade this to a natural bijection.) In other categories this is not the case: for example, in the category of sets, the initial object is $\emptyset$ and $\emptyset\times \emptyset=\emptyset$, so $\text{Hom}(I^2,A)$ is always a singleton. However, in $\text{Set}^{\text{op}}$, $F$ is again a bijection, because the coproduct of the final object with itself is a set with 2 elements, and functions from $A$ to a set with two elements correspond, via the above map, with ways of writing $A$ as a disjoint union of two sets. The same thing happens in e.g. the category of topological spaces. (For the same reason that $F$ is trivial in $\text{Set}$, $F$ is trivial in any category with a zero object.)

If we look at something like $\text{Set}\times \text{Set}^{\text{op}}$, $F$ becomes a product projection. (Trying coproduct categories breaks things because there are no longer initial/final objects.)

My questions are the following:

  1. What conditions on a category/an object of a category ensure that the collection of product decompositions is a set?
  2. Are there "natural" categories in which the behavior is different from the 3 behaviors above? In particular, can $F$ not be a bijection?
  3. Is there something deeper going on here?
  4. Does the fact that this describes a similarity between the opposite of the category of rings and the category of topological spaces indicate that there could be some algebraic geometry hiding somewhere?

1 Answer 1


To my mind it's cleaner to take opposite categories and talk about coproduct decompositions of affine schemes, where $\text{Spec } \mathbb{Z} \times \mathbb{Z}$ is just "two points" (the coproduct $2 = 1 \sqcup 1$ of two copies of the terminal object). The common feature of coproducts in affine schemes, sets, and topological spaces that makes those cases work out as nicely as possible is that they are extensive categories. Intuitively this means that coproducts behave like disjoint unions and formally this means among other things that every morphism $x \to y \sqcup z$ into a disjoint union decomposes canonically into a pair of morphisms $x_1 \to y, x_2 \to y$ such that $x \cong x_1 \sqcup x_2$. Specialized to the case that $y = z = 1$ this gives that morphisms $x \to 1 \sqcup 1$ correspond to coproduct decompositions as desired. Note that extensivity also makes "coproduct decompositions" a functor.

Without extensivity of course nothing like this needs to be true. For example, in the category of groups the terminal object is the zero object and the coproduct of two copies of it is still the zero object.

You may also be interested in this blog post where I describe what can be done using only the assumption that a category is distributive (finite products and coproducts exist, and finite products distribute over finite coproducts).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.