Hi,

I'm trying to write a code to derive the equations of motion for the electromagnetic Lagrangian. I have the following:

```
{\mu,\nu,\rho,\sigma}::Indices(position=free).
\partial{#}::Derivative.
FieldStrength := F_{\mu\nu} -> \partial_{\mu}{A_\nu} - \partial_{\nu}{A_\mu};
Lagrangian := L -> -(1/4)F_{\mu\nu}F^{\mu\nu};
S := \int{L}{x}:
substitute(S,Lagrangian);
substitute(S,FieldStrength)
distribute(S)
vary(S, $A_{\mu} -> \delta{A_{\mu}}$);
integrate_by_parts(S, $\delta{A_{\mu}}$);
factor_out(S, $\delta{A_{\nu}}$);
```

Everything works until I get to the integration by parts, when I get

RuntimeError: Free indices in different terms in a sum do not match.

If I change \nu to \mu in integrate*by*parts command it sometimes works, but then I get the same error message on factor_out. I suspect I'm just not understanding something simple about how indices work, but I can't figure out what it is.

Thanks!