# “Arbitrary” Products, Unions, and Intersections of Classes

Recently going through the nlab article on categories, I noticed at the end of this section the use of a disjoint union of disjoint unions of the hom-sets in order to produce the class of morphisms in the given category.

This brought to my mind the issue of the well-definability of taking disjoint unions of classes of classes. Assuming that we are working with $\mathrm{NGB}$, there seems to be some issues with this.

The union, intersection, and Cartesian product of two classes $C$ and $C'$ can be easily defined using the Class Comprehension Axiom Schema in $\mathrm{NGB}$ as $$C\times C':= \{(x,y) \mid x\in C \wedge y\in C'\}$$ $$C\cup C' :=\{x \mid x\in C \vee x\in C' \}$$ $$C\cap C' :=\{x \mid x\in C \wedge x\in C'\}$$ That the arbitrary union of a family (set) of sets is a set is guaranteed by the Axiom of union (for sets), and using the Axiom Scheme of restricted comprehension (for sets) one can similarly conclude that the arbitrary intersection of a family of sets is also a set. Arbitrary products can be done for indexed families of sets, being shown to be a set because the collection of functions between two sets can be shown to be a function. However, these tools do not (seem to) exist for classes.

There are several things stopping one from considering the union of a collection of proper classes: for one, there can be no class containing them by definition so in trying to do so we would not be able to make use of classes of these proper classes.

It doesn't seem that the issue exists when we consider classes of classes, however, since the elements of a class are necessarily sets. Using the Axiom Schema of Class comprehension we can immediately define $$\bigcup{C}=\{x \mid \exists y (y\in C \wedge x\in y)\}$$ because $\exists y (y\in C \wedge x\in y)$ does not quantify over all classes, only sets. Similarly, given an indexed class $\{X_i\}_{i\in I}=\{(i,X_i) \mid \exists i( i\in I \wedge X_i\in X \wedge F(i)=X_i)\}$ by another application of the Axiom Schema of Class comprehension $$\prod_{i\in I}{X_i}=\left\{ G:I\rightarrow \bigcup_{i\in I}{X_i} \mid \forall i (i\in I \rightarrow G(i)\in X_i)\right\}$$ exists since $\forall i (i\in I\rightarrow G(i)\in X_i)$ does not quantify over classes but sets (admittedly, that $G$ is a class function from $I$ to $\bigcup_{i\in I}{X_i}$ would need to be added, but this does not quantify over classes, so there is no added issue).

I guess this leads me to my questions:

Is there a way to consider the union/intersection/product of a "collection" of proper classes, at least insofar as the expression $\coprod_{x\in C_0}{\coprod_{y\in C_0}{C_1(x,y)}}$ defines a class, where $C_0$ is a class and $C_1(x,y)$ is a class for every pair $x,y\in C_0$?