I'm trying to do a simple case of substitution and index contraction but there's no changes:
{m,n,p,q,r,s,t,u,v,w,a,b,c,d,e,f,g,h}::Indices(vector).
{m,n,p,q,r,s,t,u,v,w,a,b,c,d,e,f,g,h}::Integer(1..7).
W_{m n p q}::WeylTensor;
R_{m n p q}::RiemannTensor;
g_{m n}::Metric;
g^{m n}::InverseMetric;
x:=R_{a b c d} R^{a b c d} R;
substitute(_, $R_{a b c d}-> W_{a b c d}- (g_{a c} g_{b d}- g_{a d} g_{b c})$)
substitute(_, $R^{a b c d}-> W^{a b c d}- (g^{a c} g^{b d}- g^{a d} g^{b c})$);
distribute(_);
canonicalise(_);
eliminate_metric(_);
In the last line there is no contraction.
There is any notation condition for using the command?