
Above is the question and answer to question (b) (ignore (a))... I don't get where the final implication comes from. Why can we use c as a (covariant) index on the LHS... surely we must use d or something different to c. Is the implication obvious, or do we have to justify all the possible combinations in order to understand the implication?
Since each side is vector valued, It doesn't matter what you call the index. For instance, say you called one $c$ and the second $d$, you still would have that: $$LHS_{c1}=LHS_{d1},~ LHS_{c2}=LHS_{d2}, ~LHS_{c3}=LHS_{d3}$$ So it these are essentially the same.