reserve x1,x2,z for set;
reserve A,B for non empty set;
reserve f,g,h for Element of Funcs(A,COMPLEX);
reserve a,b for Complex;
reserve C for strict non empty CLSStruct,
        u,v,w for Element of C;

theorem Th24:
  for x,y,z being Element of CRing(A) holds x+y = y+x & (x+y)+z =
x+(y+z) & x+(0.CRing(A)) = x & x is right_complementable & x*y = y*x & (x*y)*z
= x*(y*z) & x*(1.CRing(A)) = x & (1.CRing(A))*x = x & x*(y+z) = x*y + x*z & (y+
  z)*x = y*x + z*x
proof
  let x,y,z be Element of CRing(A);
  set IT = CRing(A);
  reconsider f=x as Element of Funcs(A,COMPLEX);
  thus x+y = y+x by Th5;
  thus (x+y)+z = x+(y+z) by Th6;
  thus x+(0.CRing(A)) = (ComplexFuncAdd(A)).(ComplexFuncZero(A),f) by Th5
    .= x by Th10;
  thus ex t being Element of CRing(A) st x+t=(0.CRing(A))
  proof
    reconsider mj=-1r as Element of COMPLEX by XCMPLX_0:def 2;
    set h = (ComplexFuncExtMult(A)).[mj,f];
    reconsider t=h as Element of IT;
    take t;
    thus thesis by Th11;
  end;
  thus x*y = y*x by Th7;
  thus (x*y)*z = x*(y*z) by Th8;
  thus x*(1.CRing(A)) = (ComplexFuncMult(A)).(ComplexFuncUnit(A),f) by Th7
    .= x by Th9;
  hence (1.CRing(A))*x = x by Th7;
  thus x*(y+z) = x*y + x*z by Th15;
  hence (y+z)*x = x*y + x*z by Th7
    .= y*x + x*z by Th7
    .= y*x + z*x by Th7;
end;
