I noticed that for any vectors $\mathbf{a},\mathbf{b},\mathbf{c}$ where $\mathbf{a},\mathbf{b}\in \mathbb{R}^{m\times 1}$ and $\mathbf{c}\in \mathbb{R}^{n\times 1}$, there exists the equality that

$$\mathbf{a}^\top \mathbf{b} \mathbf{c}=\mathbf{c}\mathbf{b}^\top \mathbf{a}$$

I can prove it as follows,

Denote the left side as vector $\mathbf{l}=\mathbf{a}^\top \mathbf{b} \mathbf{c}$ and the right side $\mathbf{r}=\mathbf{c}\mathbf{b}^\top \mathbf{a}$, then

$$l_j=(\sum_1^m{a_i b_i})c_j$$

and

$$r_j=\sum_1^m{c_j b_i a_i}$$

Since $l_j=r_j$, hence it is proved.

It's an element-based proof. I was wondering if there is any other method that can prove it very simply and if this equality is an existing property of vector operations?