Hai,
I have a problem defining a new function. 
I am using Cadabra for perturbation analysis in which I want to calculate higher-order perturbation terms. I have  to define the result of each order term as independent tensors i.e, I have 
$$T_{\mu \nu}^{\text{eff}}= T_{\mu  \nu}^{(0)}+\epsilon  T_{\mu  \nu}^{(1)}+\epsilon^{2} T_{\mu  \nu}^{(2)}+\epsilon^{3}T_{\mu  \nu}^{(3)}.$$
then  I redefined the equation as the form
$$T_{\mu \nu}^{(eff)}=a^{0} T_{\mu  \nu}^{(0)}+a^{1}  T_{\mu  \nu}^{(1)}+a^{2} T_{\mu  \nu}^{(2)}+a^{3}T_{\mu  \nu}^{(3)}.$$
I would like to obtain the $T_{\mu \nu}^{0}$, $T_{\mu \nu}^{1}$, $T_{\mu \nu}^{2}$ and  $T_{\mu \nu}^{3}$ by substituting $a^{0}=a^{2}=a^{3}=0$  like conditions, for which have used the command as
Ex:=T_{\mu \nu}^(eff)=a^{0} T_{\mu  \nu}^(0)
    +a^{1}  T_{\mu  \nu}^(1)
    +a^{2} T_{\mu  \nu}^(2)
    +a^{3}T_{\mu  \nu}^(3);
T_{\mu \nu}^{0}:=substitute(Ex,$a^{1}->0,a^{2}->0,a^{3}->0$);
T_{\mu \nu}^{1}:=substitute(Ex,$a^{0}->0,a^{2}->0,a^{3}->0$);
T_{\mu \nu}^{2}:=substitute(Ex,$a^{0}->0,a^{1}->0,a^{3}->0$);
T_{\mu \nu}^{3}:=substitute(Ex,$a^{0}->0,a^{1}->0,a^{2}->0$);
But the results are showing the same. How can I rectify it?