The D expression does not simplify.
This is D.
-((5g([],[%1,%2])g([],[%3,%4])g([%1,%4],[],n)g([%3,m],[],%2))/4)+(g([],[%1,%2])g([],[%3,%4])g([%1,n],[],m)g([%3,%4],[],%2))/2-(g([],[%1,%2])g([],[%3,%4])g([%2,m],[],n)g([%3,%4],[],%1))/2+(5g([],[%1,%2])g([],[%3,%4])g([%1,n],[],%4)g([%3,%2],[],m))/4-g([],[%1,%2],%2,m)g([%1,n],[])+g([],[%1,%2],%2,n)g([%1,m],[])
Is this correct? The two terms at the end should cancel due to the symmetry of g and contraction.
It needs to contract g with the derivative indices first, so the derivatives are gone, and then it can use the symmetry of g to cancel them. This term -g([],[%1,%2],%2,m) times g([%1,n],[]) needs to be -g([m,n],[]) otherwise, it becomes -g([],[],m,n), which makes no sense for symmetry.
In the current version of einhil.dem, declaration of g's symmetry properties is deliberately delayed, precisely to show their relevance to the final result. So the fact that D does not simplify to 0 is a feature, not a bug.