Sign convention for compatibility of cap and cross products Bredon's Topology and Geometry contains the following formula relating cap and cross products (Theorem 5.4 in chapter VI):
$(\alpha \times \beta) \cap (a \times b) = (-1)^{\deg(\beta) \deg(a)} (\alpha \cap a) \times (\beta \cap b)$
for $\alpha \in H^*(X), \beta \in H^*(Y), a \in H_*(X)$ and $b \in H_*(Y).$
On the other hand, Spanier asserts (at the end of section 5.6 of Algebraic Topology) that the sign is (using Bredon's notation)
$(-1)^{\deg(\alpha) (\deg(b) - \deg(\beta))}.$
I'm wondering whether this stems from the two authors using a different sign convention somewhere (if so, where?), or if one of them is incorrect, and if so, which one? Thanks
 A: I've struggled with this myself, so I'm posting an answer for future reference. Neither convention is "wrong", but I certainly prefer Bredon's. He consistently enforces the Koszul sign rule, whereas Spanier doesn't, which makes the signs in his version of this formula a lot more natural. I will keep his notation throughout. The relevant conventions are:

*

*Their definitions of the dual of a chain complex have differentials differing by a sign that alternates with degree (see Spanier, p. 237 and Bredon, Section VI.2, A Sign Convention), which forces their definitions of cup products to differ. If $\alpha$ and $\beta$ are cochains, Spanier's and Bredon's definition of $\alpha\cup\beta$ differ by a sign of $(-1)^{|\alpha||\beta|}$ (see Bredon, p. 328 and Spanier, p. 251). The same goes for the related cohomology cross product, given it can be expressed in terms of the cup product (see Bredon, p. 327 and Spanier, 5.6.14).


*Their conventions for the homology cross product are the same (this follows from the method of acyclic models, compare Bredon, p. 221 and Spanier, p. 234).


*Their different cup product conventions force different cap product conventions. If $\alpha$ is a cochain and $a$ is a chain, then Spanier's and Bredon's definition of $\alpha\cap a$ differ by a sign of $(-1)^{|\alpha|(|a|-|\alpha|)}$ (see Bredon, p. 335 and Spanier, p. 254).
The expression $(\alpha\times\beta)\cap(a\times b)$ in Bredon thus differs from the corresponding expression in Spanier by a sign of $(-1)^{|\alpha||\beta|+(|\alpha|+|\beta|)(|a|+|b|-|\alpha|-|\beta|)}$. The expression $(\alpha\cap a)\times(\beta\cap b)$ in Bredon differs from the corresponding expression in Spanier by a sign of $(-1)^{|\alpha|(|a|-|\alpha|)+|\beta|(|b|-|\beta|)}$. in Bredon, these two expressions differ by a sign of $(-1)^{|\beta||a|}$. Putting these together, the corresponding expressions in Spanier should differ by a sign of
$$
(-1)^{|\alpha||\beta|+(|\alpha|+|\beta|)(|a|+|b|-|\alpha|-|\beta|)+|\alpha|(|a|-|\alpha|)+|\beta|(|b|-|\beta|)+|\beta||a|}=(-1)^{|\alpha|(|b|-|\beta|)}.
$$
This is as desired.
