Property of the covariant derivative I am learning to use the covariant derivative. In particular, I am trying to verify the expression
$${\nabla}_{b}[(\nabla^a S) (\nabla_a S)] = 2 \nabla^a S \nabla_b \nabla_a S$$
for an arbitrary scalar function $S$. I found the expression on this question from physics.SE. The derivation they give is 
$$ \begin{align*} 0 &= \nabla_b \left[ (\nabla^a S) (\nabla_a S)
 \right] \\ &= 2 \nabla^a S \nabla_b \nabla_a S && \text{(product
 rule)} \\ &= 2 \nabla^a S \nabla_a \nabla_b S && \text{(derivatives
 commute on scalars)} \\ &= 2 k^a \nabla_a k_b, \end{align*} $$
I can't get the second step from the first step. I try to do the product rule:
$$
0=({\nabla}_{a}S)\,({\nabla}_{b}{\nabla}^{a}S)\,\,+\,\,({\nabla}^{a}S)\,({\nabla}_{b}{\nabla}_{a}S).
$$
As far as I can tell, this does not equal $2 \nabla^a S \nabla_b \nabla_a S$ unless you can interchange ${\nabla}^{a}$ and ${\nabla}_{a}$. I don't see why you would be able to interchange those, i.e. the covariant derivative is interchanged with the "contravariant" derivative. I have never heard of a contravariant derivative or seen  ${\nabla}^{a}$ before.
 A: So essentially to get form what you have $$0=({\nabla}_{a}S)\,({\nabla}_{b}{\nabla}^{a}S)\,\,+\,\,({\nabla}^{a}S)\,({\nabla}_{b}{\nabla}_{a}S)$$
write $\nabla^a (\cdot)$ as $\nabla_b (g^{ab}\cdot)$, and use the product rule and the fact that for connections compatible with the metric $\nabla_a g_{bc}=\nabla_a g^{bc}=0$, to pull the metric all the way out
$$({\nabla}_{a}S)\,({\nabla}_{b}{\nabla}^{a}S)\,\,+\,\,({\nabla}^{a}S)\,({\nabla}_{b}{\nabla}_{a}S)$$
$$=({\nabla}_{a}S)\,({\nabla}_{b}{\nabla}_{c}g^{ca}S)\,\,+\,\,({\nabla}^{a}S)\,({\nabla}_{b}{\nabla}_{a}S)$$
$$=({\nabla}_{a}S)\,({\nabla}_{b}g^{ca}{\nabla}_{c}S)\,\,+\,\,({\nabla}^{a}S)\,({\nabla}_{b}{\nabla}_{a}S)$$
$$=({\nabla}_{a}S)\,g^{ca}({\nabla}_{b}{\nabla}_{c}S)\,\,+\,\,({\nabla}^{a}S)\,({\nabla}_{b}{\nabla}_{a}S)$$
$$=({\nabla}_{a}g^{ca}S)\,({\nabla}_{b}{\nabla}_{c}S)\,\,+\,\,({\nabla}^{a}S)\,({\nabla}_{b}{\nabla}_{a}S)$$
$$=({\nabla}^{c}S)\,({\nabla}_{b}{\nabla}_{c}S)\,\,+\,\,({\nabla}^{a}S)\,({\nabla}_{b}{\nabla}_{a}S)$$
Then relabelling dummy indices
$$=2({\nabla}^{a}S)\,({\nabla}_{b}{\nabla}_{a}S)$$
