-- -- This file has been auto-generated by egison-translator. -- declare symbol α, β, γ, c, p, l def C : Matrix MathExpr := [|[|α, 0, 0|], [|0, β, 0|], [|0, 0, γ|]|] def I (C: Matrix MathExpr) : MathExpr := trace C def II (C: Matrix MathExpr) : MathExpr := (trace C ^ 2 - trace (M.* C C)) / 2 def III (C: Matrix MathExpr) : MathExpr := M.det C def I' (C: Matrix MathExpr) : MathExpr := I C / III C ^ (1 / 3) def II' (C: Matrix MathExpr) : MathExpr := II C / III C ^ (2 / 3) def W : MathExpr := c_1 * (I' C - 3) + c_2 * (II' C - 3) def S_i_j : Matrix MathExpr := 2 * ∂/∂ W C~i~j - p * (M.inverse C)_i_j expandAll (substitute [(α, l), (β, 1 / sqrt l), (γ, 1 / sqrt l)] S_#_#)