Hi,
The functions IndexSet and IndexSetDelayed help with this. For example with
<< xAct`xTensor`
$PrePrint = ScreenDollarIndices;
DefManifold[M, 4, {a, b, c, d, e, f}]
DefTensor[s[a, -b], M]
Now define S as
IndexSet[ S[a_Symbol, -b_Symbol], s[a, -c] s[c, -b] ]
Then you can do something like this without the index c being repeated:
In[6]:= S[a, -b] S[b, -c]
Out[6]= s[a, -d] s[b, -e] s[d, -b] s[e, -c]
Cheers,
Jose.