# Substitute Christoffel2nd into Dual Riemann tensor

Greetings!

I'd like to express dual Riemann tensor in terms of Christoffel symbols. Please clarify what's the problem that nothing changes when I substitute into dual Riemann tensor either Riemann tensor or Christoffel2nd:

{i,j,k,l,m,n,p,q,r,s,t,u}::Indices(space, position=fixed);
{i,j,k,l,m,n,p,q}::Integer(1..4);
\partial{#}::PartialDerivative;

g_{i j}::Metric;
g^{i j}::InverseMetric;
g_{i j}::Symmetric;

\delta{#}::KroneckerDelta;
E_{m n k l}::EpsilonTensor(delta=\delta);
E^{m n k l}::EpsilonTensor(delta=\delta);

#Christoffel second kind
Christoffel2nd := \Gamma^{i}_{k l} = 1/2 g^{i m} (
\partial_{l}{g_{m k}}
+ \partial_{k}{g_{m l}}
- \partial_{m}{g_{k l}});

#Riemann tensor
Riemann := R^{m}_{i k p} = \partial_{k}{\Gamma^{m}_{p i}}
- \partial_{i}{\Gamma^{m}_{p k}}
+ \Gamma^{s}_{p i}\Gamma^{m}_{s k}
- \Gamma^{s}_{p k}\Gamma^{m}_{s i};
lRieman := R_{i k p q} = g_{q m}R^{m}_{i k p};
uRieman := R^{m k p q} = g^{k i} g^{p j} g^{q l} R^{m}_{i j l};

# Dual Riemann tensor
uDualRiemann := 1/4 R_{m n p q} E^{p q k l} E^{i j m n};

substitute(uDualRiemann, Christoffel2nd);
substitute(uDualRiemann, Riemann);