In singular (co)homology, if $\alpha\in C^\*(X)$ and $x\in C\_\*(X)$, then the cap product $\alpha \cap x$ is generally defined by the following process:


1. Apply to $x$ the diagonal map $C\_\*(X)\to C\_\*(X\times X)$ followed by some choice of Alexander-Whitney chain equivalence $ C\_\*(X\times X)\to C\_\*(X)\otimes C\_\*(X)$ to obtain an element $\sum y\_i\otimes z\_i$.
2. Apply $\alpha$ to $\sum y\_i\otimes z\_i$ by the slant product, or, in other words and roughly speaking, apply $\alpha$ to ``half of the factors''.
3. Depending on your favorite conventions (and what you're trying to accomplish), there may also be a sign (which might also be part of your definition of the slant product - but let's ignore this).


The reason I'm being so cagey with wording in part 2 is directly related to my question: In almost all major textbook sources I have consulted, step 2 is performed by forming $\sum y\_i \alpha(z\_i)$, which strikes me as somewhat unnatural, forcing the $\alpha$, which starts off on the left to jump all the way over the $y\_i$ terms to get to the $z\_i$ terms on the right. Is there a good mathematical reason for this convention? Why not define the cap product to be $\sum \alpha(y\_i) z\_i$?


The one major exception to this convention seems to be Hatcher. He does form $\sum \alpha(y\_i) z\_i$, but he also writes cap products as $x\cap \alpha$, so his cochain also has to jump, but it jumps over the $z$s instead!


(For the record, I'm not asking this question out of idle pickiness. Jim McClure and I have been doing a lot of work with cap products recently, and we're trying to be consistent amongst various conventions for various issues, but preferably with good reasons thrown in!) 



Conventions for definitions of the cap product
This is just an expanded version of Tyler's comment, I think.


Let's use a, b, c for cochains, x, y, z for chains, [a,x] for the value of a cochain on a chain. I'll be lazy and write $ab$ for $a\cup b$ and $ax$ for $a\cap x$. Let $[a\otimes b,y\otimes z]=(-1)^{|b||y|}[a,y][b,z]$.


I like to define $bx$ in such a way that $[a,bx]$ is $[ab,x]$. Then associativity and unit of cup makes cap into a module structure: $(bc)x=b(cx)$ because $[a,(bc)x]=[a(bc),x]=[(ab)c,x]=[ab,cx]=[a,b(cx)]$, and $1x=x$ follows from $[a,1x]=[a1,x]=[a,x]$. 


If you have a product $a\otimes b\mapsto ab$ of cochains and a coproduct of chains defined in such a way that $[ab,x]=[a\otimes b,y\_i\otimes z\_i]$ where the coproduct of $x$ is $\Sigma y\_i\otimes z\_i$, then that means I have to define $bx$ to be $\Sigma (-1)^{|y\_i||b|}[b,z\_i]y\_i$, so as to get


$[a,bx]=[ab,x]=[a\otimes b,\Sigma y\_i\otimes z\_i]=\Sigma (-1)^{|y\_i||b|}[a,y\_i][b,z\_i]=[a,\Sigma (-1)^{|y\_i||b|}[b,z\_i]y\_i]$.


The sign is a bit unexpected, as is the jump you mention, but it's worth it for the neat formulas in the third paragraph above.


It's not a bad idea to define $xa$ as well. I'd do it by first declaring $[x,a]$ to be $(-1)^p[a,x]$ when $a$ is a $p$-cochain and $x$ is a $p$-chain, then defining $xa$ in such a way that $[xa,b]=[x,ab]$. This insures $x(ab)=(xa)b$ and $x1=x$. The chain-level formula is no better and no worse than the formula for $ax$.


Of course, $ax$ and $xa$ end up differing only by a sign when you get to homology, but the sign is hard to remember; in working it out you have to use the commutativity law for the cup product.


