Categorical generalization of intersection? When $S_1$, $S_2$, $T_1$, and $T_2$ are sets, we know that $(S_1 \cap S_2) \times (T_1 \cap T_2) = (S_1 \times T_1) \cap (S_2 \times T_2)$. This also happens to be true when $S_1$, $S_2$, $T_1$, and $T_2$ are abstract simplicial complexes and when we replace Cartesian product with the (categorical) product of abstract complexes.
This identity looked familiar to me; namely it looked like the isomorphism $X \times (Y + Z) \cong (X \times Y) + (X \times Z)$, where $X$, $Y$, and $Z$ are objects in some category with products and sums. So I'm wondering, is there some categorical generalization of $(S_1 \cap S_2) \times (T_1 \cap T_2) = (S_1 \times T_1) \cap (S_2 \times T_2)$, and if so, that probably would require some kind of generalization of intersections, in which case, is there a generalization of intersections?
 A: Pullbacks. ${}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}$
A: There is a categorical generalization of intersection, but it isn't documented very well on the internet (you have to visit a couple pages on nLab to get the full picture, and I can't even find a paragraph for it on Wikipedia). So it can't hurt to write it out.
Let $B$ be an object in some category. We call a pair $(A, a)$ a subobject of $B$ if $a:A\rightarrow B$ is a monomorphism. Now let $\{(A_i, a_i)\}_{i\in I}$ be an indexed collection of subobjects of $B$. We call another subobject $(D,d)$ the intersection of the collection $\{(A_i,a_i)\}_{i\in I}$ if


*

*$d:D\rightarrow B$

*for each $i\in I$ there is a morphism $d_i: D\rightarrow A_i$ such that $a_i\circ d_i=d$

*$(D,d)$ is universal for the above property


It takes a small amount of work to see that $(D,d)$ is itself a subobject of $B$ (thus $d$ is a monomorphism).
In the case of the category Set the indexed collection is just the subsets in question and their inclusion maps. The categorical intersection is then the set-theoretic intersection with the inclusion map. You can dualize this concept to get a generalization of union.
A little rewording and you can recognize the intersection as the pullback of a bunch of monomorphisms that share a codomain. And as Qiaochu Yuan mentioned, since limits in general commute with themselves (and pullbacks are limits), you get that products commute with intersections.
