Why is $\nabla_A \mbox{tr} (ABA^TC) = CAB + C^TAB^T$?
Here $A, B, C, D$ are all $n \times n$ matrices.
$$\nabla_A f(A) = \left[\begin{matrix} \frac{\partial f}{\partial A_{11}}... \frac{\partial f}{\partial A_{1n}}\\ ...\\ \frac{\partial f}{\partial A_{n1}}... \frac{\partial f}{\partial A_{nn}}\\ \end{matrix}\right]$$
I tried to prove it in this way:
$$\begin{align} \nabla_A \mbox{tr} (ABA^TC) &= \nabla_Atr (BA^TC)A\\ &= \nabla_A \mbox{tr} DA ......let \ D=BA^TC\\ &= \nabla_A \mbox{tr} AD\\ &=D^T\\ &=B^TAC^T\end{align}$$
Since $B^TAC^T \neq CAB + C^TAB^T$, there must be something wrong in my derivation. How to prove this property?
$$tr(ABA^TC)=\sum_{ijkl}A_{ij}B_{jk}A^T_{kl}C_{li}=\sum_{ijkl}A_{ij}B_{jk}A_{lk}C_{li}$$ $$(\nabla_{A}tr(ABA^TC))_{mn}=\frac{\partial}{\partial A_{mn}}\sum_{ijkl}A_{ij}B_{jk}A_{lk}C_{li}$$ $$=\sum_{ijkl}B_{jk}A_{lk}C_{li}\delta_{im}\delta_{jn}+\sum_{ijkl}A_{ij}B_{jk}C_{li}\delta_{lm}\delta_{kn}$$ $$=\sum_{kl}B_{nk}A_{lk}C_{lm}+\sum_{ij}A_{ij}B_{jn}C_{mi}$$ $$=\sum_{kl}C_{lm}A_{lk}B_{nk}+\sum_{ij}C_{mi}A_{ij}B_{jn}$$ $$=\sum_{kl}C^T_{ml}A_{lk}B^T_{kn}+\sum_{ij}C_{mi}A_{ij}B_{jn}$$ $$=(C^TAB^T)_{mn}+(CAB)_{mn}$$
$$\nabla_{A}tr(ABA^TC)=C^TAB^T+CAB$$