Name: Rolf Mertig Date: 03/31/05-04:35:45 PM Z
(a GS[q].GS[l] )/.Dot -> mydot /. {a*mydot[x___, GS[l], y___] :> mydot[x,GS[J],y]} /. mydot -> Dot
This has to do with the way the Mathematica pattern matcher works. Please read the Mathematica book.
Rolf