Hi,
In xAct the partial derivative PD is just a special case of covariant derivative. It is the "ordinary derivative" of Wald, a covariant derivative with zero curvature and zero torsion. Therefore we have:
In[2]:= CovDQ[PD]
Out[2]= True
The zero torsion and zero curvature conditions imply locally the existence of a coordinate system on which the derivative can be constructed as partial differentiation with respect to the coordinates. PD in xTensor is a "fiducial derivative" defined with respect to some generic, unspecified, coordinate system.
The AllowUpperDerivatives option of ContractMetric applies to all covariant derivatives. For example take
In[3]:= DefManifold[M, 3, {a, b, c}]
In[4]:= DefMetric[-1, g[-a, -b], cd]
In[5]:= DefTensor[v[a], M]
Then this does not work by default:
In[6]:= ContractMetric[g[c, a] cd[-a][v[b]]]
Out[6]= g[c, a] cd[-a][v[b]]
If you really want to contract that derivative then you need this:
In[7]:= ContractMetric[g[c, a] cd[-a][v[b]], AllowUpperDerivatives -> True]
Out[7]= cd[c][v[b]]
So in this sense the documentation is correct. Thanks for pointing out the typo: the "givien" should be "giving".
Cheers,
Jose.