# What is the right way to simplify a tensor expression (with many indices, but no derivatives) in Mathematica?

After not finding the desired capabilities in base Mathematica, I am trying to use xActxTensor package. It appears that I do not need most of it capabilities though: I have an expression with tensors, where indices go over $$1,\dots,d$$, $$1,\dots,J$$, or $$1,\dots,S$$, where positive integers $$d,J,S$$ are unknown, and need to expand simplify that expression given known properties of the tensors involved. I didn't find a dedicated way to specify a vector space in xActxTensor, so I am assuming it is supposed to be a vBundle over 0-dimensional manifold. Thus, I am trying to define:

DefManifold[M0, 0, {}];
DefVBundle[vBd, M0, nd, {a, b, c, d, e, f, a1, b1, c1, d1, e1, f1}];
DefMetric[1, metricvBd[-a, -b], PrintAs -> "gd"];


Unfortunately, this fails with an error DefMetric::noicovd: Metrics in inner vbundles do not support covariant derivatives. Why is that? Is there a way to specify that I do not need any derivatives (and, in fact, would be more than happy with the trivial metric $$\delta_{ab}$$) and avoid that error or a better library to use for that purpose?

The solution to the above issue seems to be to explicitly specify covd (3rd) argument of the DefMetric function as None:

DefMetric[1, metricvBd[-a, -b], None, PrintAs -> "gd"];


I've found this by finding the code of xTensor package in .Mathematica/Applications/xAct/xTensor/xTensor.m and reading the condition where the message DefMetric::noicovd gets thrown:

DefMetricCheck[signdet_,metric_[-ind1_,-ind2_],covd_,covdsymbol_,flat_,inducedfrom_,confto_,odeps_,wwb_,eoib_]:=Module[
...
If[tangentmetricQ,
...,
(*else branch*)
If[covd=!=None,
Throw@Message[DefMetric::noicovd];
]
];
...
];