Hi,

I noticed recently that

- the dependence of an object only includes the given position of the index

and also that

- objects with derivatives cannot change their index-position

if the index position is given as fixed.

For example, the Exp in the following gives zero, because only A with an upper index depends on the derivative:

```
{\mu,\nu}::Indices(position=fixed);
{\mu,\nu}::Integer(0..3);
\partial{#}::PartialDerivative;
A^\mu::Depends(\partial{#});
Exp:= \partial^{\mu}{A_\nu};
unwrap(_);
```

Of course I could just make A dependent on \partial for lowercase indices as well or just for every index position via

```
A{#}::Depends(...);
```

but it still strikes me as odd.

Secondly, once I have defined objects with derivatives, the index position does not change through the use of canonicalise. So for example

```
Exp:= \partial_{\mu}{A^\mu} - \partial^{\mu}{A_\mu};
canonicalise(_);
```

gives not zero as expected. And even if I derive a scalar, its index is fixed, so

```
Exp:= A^\mu \partial_{\mu}{B} - A_\mu \partial^{\mu}{B};
canonicalise(_);
```

does not give zero.

I usually don't want to think about the position of dummy indices. So if it would be possible to give the index positions of derivatives a bit more freedom I would be very grateful!

Cheers,

Karim