reserve L for Abelian left_zeroed add-associative associative right_zeroed
              right_complementable distributive non empty doubleLoopStr;
reserve a,b,c for Element of L;
reserve R for non degenerated comRing;
reserve n,m,i,j,k for Nat;
 reserve D for Function of R, R;
 reserve x,y,z for Element of R;
reserve D for Derivation of R;

theorem
    for x,y,z st z*y=1.R holds y|^2*D.(x*z) = (y*D.x -x*D.y)
    proof
      let x,y,z;
      assume
A1:   z*y=1.R;
      reconsider c = x*z as Element of R;
      reconsider d = c*D.y as Element of R;
      c*y = x*1.R by A1,GROUP_1:def 3
      .= x; then
      D.x = c*D.y + y*D.c by Def1; then
A2:   y*D.c = D.x - c*D.y by VECTSP_2:2 .= D.x + - d;
A3:   y*(c*D.y) = (y*(z*x))*D.y by GROUP_1:def 3
      .= ((1.R)*x)*D.y by A1,GROUP_1:def 3
      .= x*D.y;
       y|^2 = y|^(1+1) .= (y|^1)*(y|^1) by BINOM:10 .= y*y|^1 by BINOM:8
      .= y*y by BINOM:8; then
       y|^2*D.c = y*(D.x + (- d)) by A2,GROUP_1:def 3
      .= y*(D.x) + y*(-d) by VECTSP_1:def 2
      .= y*D.x - x*D.y by A3,VECTSP_1:8;
      hence thesis;
    end;
