29
$\begingroup$

I was reading Buzzard's article Grothendieck's use of equality and it made me wonder: there are many models of a product $X\times Y$, consisting of elements the form $(x,y)$ with $x\in X$ and $y\in Y$:

  • $(x,y)=\{\{\{x\},\emptyset\}, \{\{y\}\}\}$, due to Wiener;
  • $(x,y)=\{\{x, 1\}, \{y, 2\}\}$, due to Hausdorff; and
  • $(x,y)=\{\{x\}, \{x, y\}\}$, due to Kazimierz Kuratowski.

In any of these cases, $(X\times Y)\times Z$ and $X\times(Y\times Z)$ are not literally the same set.

Is there a functor $\times\colon \mathrm{Set}\times \mathrm{Set}\to \mathrm{Set}$ which is a product such that $(X\times Y)\times Z=X\times(Y\times Z)$ as sets?

In the above examples, $((x,y),z)=(x,(y,z))$ implies $(x,y)=x$ and $z=(y,z)$, which is clearly impossible. The same argument works generally when $(x,y)$ only depends on the sets $x$ and $y$, but if $(x,y)$ also depends on the ambient sets $X$ and $Y$, I see no way to argue this is impossible.

$\endgroup$
7
  • 8
    $\begingroup$ I think the morphisms of the functor are irrelevant to the problem: If you have simply a function that inputs a pair of sets $X, Y$ and outputs a set $X \times Y$, endowed with an isomorphism from each $X \times Y$ to the usual product, then all the morphisms of the functor are determined by that. So the construction doesn't have to be natural in any sense. Based on this, I think the best strategy may be to recognize when a set arises from the construction as a product and have a special case when it does. $\endgroup$ Commented Aug 18, 2025 at 19:50
  • 6
    $\begingroup$ For example, there is an obvious generalization of Hausdorff's construction to an n-ary product. You can define $n_X$ as the greatest $n$ such that $X$ is an $n$-ary product under this construction, or $1$ if no such $n$ exists, and similarly with $n_Y$, and then define $X \times Y$ as an $n_X \times n_Y$-ary product under this construction. I didn't check carefully that this works, though. $\endgroup$ Commented Aug 18, 2025 at 19:51
  • 2
    $\begingroup$ Classically, it's probably possible (and not very profound). Constructively, one should be able to show that the construction must be parametric in the sets $X$ and $Y$, hence that there is an injective, strictly associative pairing operation on sets, which is impossible as you noted. $\endgroup$ Commented Aug 18, 2025 at 20:19
  • 2
    $\begingroup$ $n_X \times n_Y$ should of course be $n_X+n_Y$ in my last comment. $\endgroup$ Commented Aug 18, 2025 at 20:45
  • 5
    $\begingroup$ In a talk at PSSL 109, Strictifying monoidal structure, revisited, Paul Blain Levy claimed that it is possible to strictify every monoidal structure on $\mathbf{Set}$, including the cartesian monoidal structure. Unfortunately, there is not yet a paper out. $\endgroup$ Commented Aug 18, 2025 at 21:50

2 Answers 2

22
$\begingroup$

Will's suggestion to do this with cases does work. Crucially though, this case splitting depends on the entire set, which means that this doesn't really look like a typical set-theoretic ordered pair/tuple coding which is defined in an element-by-element way (some of which are actually natural transformations from some iterated covariant power set functor, as I discussed in this answer).

Let $\langle x, y \rangle$ be any standard coding of ordered pairs (such as any of the ones in your question). We'll take a function to be a set of elements of the form $\langle x , y \rangle$. Recall that one can code natural numbers as von Neumann ordinals: $n = \{0,1,2,\dots,n-1\}$.

Given two functions $f$ and $g$ with domains $n$ and $m$, respectively, the concatenation of $f$ and $g$, written $f\frown g$, is the unique function $h$ with domain $n + m$ satisfying that $h(i) = f(i)$ for $i < n$ and $h(i) = g(i-n)$ for $i \geq n$. It's easy to show that concatenation of functions with natural number domains is associative (i.e., satisfies that $f \frown (g \frown h) = (f \frown g) \frown h$).

For any $n \geq 0$, say that a set $Y$ is an $n$-fold product if there are sets $X_0,\dots,X_{m-1}$ such that $Y$ is the set of all functions $f$ with domain $n$ satisfying that $f(i) \in X_i$ for each $i < n$. (Note that the only $0$-fold product is $1 = \{0\}$.) It is an easy exercise to show that any given non-empty set is an $n$-fold product for at most one $n$ and one sequence $(X_i)_{i < n}$ (but this requires the set to be non-empty).

Say that a set $Y$ is a raw set if it is not an $n$-fold product for any $n$. (In particular, a raw set is always non-empty.) Given any set $X$, let $\iota(X) = \{\langle 0, x \rangle : x \in X\}$. (In other words, $\iota$ is the set of functions from $1 =\{0\}$ to $X$.) Note that $\iota(X)$ is always a $1$-fold product.

Now we can define a strictly associative product by cases:

  • If $X$ and $Y$ are $n$- and $m$-fold products respectively, then $X \times Y = \{f \frown g : f \in X,~g \in Y\}$.
  • If $X$ is a raw set and $Y$ is an $m$-fold product, then $X \times Y = \iota(X) \times Y$ in the above sense.
  • If $X$ is an $n$-fold product and $Y$ is a raw set, then $X \times Y = X \times \iota(Y)$ in the above sense.
  • If $X$ and $Y$ are both raw sets, then $X \times Y = \iota(X) \times \iota(Y)$.

Now, as mentioned by Will, in order to specify the desired functor from $\mathrm{Set}\times \mathrm{Set}$ to $\mathrm{Set}$, it's enough to specify, for each pair of sets $X$ and $Y$, projection maps $\pi_0 : X \times Y \to X$ and $\pi_1 : X \times Y \to Y$. This can be done in an analogous case-by-case basis.

Finally, it's straightforward to prove that with this definition we have $X \times (Y \times Z) = (X\times Y) \times Z$ literally for all sets $X$, $Y$, and $Z$.

We also almost have a strict identity element. Specifically, $X \times 1 = 1 \times X = X$ if $X$ is an $n$-fold product, but $X \times 1 = 1 \times X = \iota(X)$ for a raw set $X$. I believe it should be possible (with more cases) to make the identity element strict.


As I already said, this is a bit unsatisfying because it isn't given by a simple element-by-element formula. I'm not completely sure how to formalize this question, but I suspect this isn't possible assuming the axiom of foundation (as TLo alluded to in the comments). Relatedly, I suspect that something like this isn't possible constructively (as addressed in Naïm's comment).

On some level the issue is with the way the desired behavior interacts with unions. What should $X \times ((Y \times Z) \cup W)$ look like? Note that the union of an $n$-fold product and an $m$-fold product is generally a raw set.

$\endgroup$
1
  • 10
    $\begingroup$ If you want the product to work element-by-element, then you basically need an ordered pair operator on the set-theoretic universe, and you need this ordered pair operator to be associative. This isn't possible because the equation (x,(y,z)) = ((x,y),z) implies x = (x,y) for any x, y, z in the universe. But then the ordered pair operator (x,y) has to equal x, which doesn't work since it doesn't depend on y. $\endgroup$ Commented Aug 19, 2025 at 1:39
1
$\begingroup$

Andreas Blass had remarked somewhere else on mathoverflow that Kuratowski's definition is just the special case of his general approach to code linear orderings by sets of initial segments. One can add two linear orderings $x$ and $y$ coded in this way by setting $$ x + y = x \cup \left\{a \cup \bigcup x \middle| a \in y\right\}. $$ I believe that one should then be able to define a product such that $$ \begin{aligned} \prod_{i = 0}^k X_i \times \prod_{i = k + 1}^m X_i & = \prod_{i = 0}^\ell X_i \times \prod_{i = \ell + 1}^m X_i \text{ if } k, \ell < m \\ \text{and } X^1 \times (Y \times Z) & = (X \times Y) \times Z^1. \end{aligned} $$ I wrote "believe" as I very slightly doubt that this works for intersecting sets. Kuratowski-pairing yields $\langle a, a\rangle = \{\{a\}\}$ and that is fine. It is likely fine here as well.

But now of course $X^1 = \{\{x\}|x \in X\}$ won't in general be identical to $X$.

$\endgroup$

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.