Hi,
Your code has various name conflicts: d is both a constant symbol and an index, g is both a metric and an index. In xAct we cannot have the same symbol representing different geometric objects. Also, the DefTensor calls a manifold Mc that was not defined. And you don't need to define the indices l1, l2, l3 because those are automatically defined by xTensor when it runs out of indices.
Are you thinking of having different dimensions d and ds? I mean, do you want to work with a (presumably invertible) coordinate change or is this an embedding or something like that?
There are at least three ways to attack a problem like this:
1) The fully symbolic way. xTensor has a concept of Mapping, which is the formal version of what you want here. See section 7 of xTensorDoc.nb. I must say that this is the last major thing added to xTensor, and has not been tested very much.
2) The fully explicit way. You work respective charts in xCoba and introduce explicit functions describing the mapping.
3) An intermediate case in which you define your own tangent-tensor mappings, and then specify their components.
If you know the formulas for the mapping between the manifolds, then I'd recommend method 2). If not, then probably method 3) is simpler than method 1), particularly if you are not very experienced with xTensor yet.
In the simpler case of 3), namely a (local) diffeomorphism, you can just use one manifold and have two PD derivatives, one associated to each chart. You don't need metrics to change coordinates, nor covariant derivatives. So it would be something like
<< xAct`xTensor`
$PrePrint = ScreenDollarIndices;
DefConstantSymbol[dim]
DefManifold[M, dim, IndexRange[a, z]]
xTensor already has the PD derivative. Now introduce a new one, called pd:
DefCovD[pd[-a], SymbolOfCovD -> {"|", "D"}, Curvature -> False]
This will be the tangent mapping (what you call \partial x^b / \partial y^a
DefTensor[tmap[-a, b], M]
Then you need to define transformation rules between PD and pd derivatives as needed.
Cheers,
Jose.