reserve x for set;
reserve i,j for Integer;
reserve n,n1,n2,n3 for Nat;
reserve K,K1,K2,K3 for Field;
reserve SK1,SK2 for Subfield of K;
reserve ek,ek1,ek2 for Element of K;
reserve p for Prime;
reserve a,b,c for Element of GF(p);
reserve F for FinSequence of GF(p);

theorem Th26:
  for F being Abelian add-associative right_zeroed right_complementable
  associative commutative well-unital almost_left_invertible distributive
  non empty doubleLoopStr, x,y being Element of F holds x*x=y*y
    iff x=y or x=-y
    proof
      let F be Abelian add-associative right_zeroed right_complementable
      associative commutative well-unital almost_left_invertible
      distributive non empty doubleLoopStr, x,y be Element of F;
  A1: (x-y)*(x+y) =(x-y)*x +(x-y)*y by VECTSP_1:def 7
      .=x*x -x*y +(x-y)*y by VECTSP_1:11
      .=x*x -x*y + (y*x-y*y) by VECTSP_1:11
      .=(x*x -x*y + y*x) + -y*y by RLVECT_1:def 3
      .=(x*x + ((-x*y) + y*x)) + -y*y by RLVECT_1:def 3
      .=(x*x + (y*x  - x*y )) + -y*y
      .= (x*x + (x-x)*y ) + -y*y by VECTSP_1:11
      .= (x*x + 0.F * y )-y*y by RLVECT_1:5
      .= (x*x + 0.F )-y*y
      .= x*x - y*y by RLVECT_1:def 4;
      hereby assume A2: x*x=y*y;
        (x-y)*(x+y) = 0.F by A1,A2,RLVECT_1:5;
        then x-y =0.F or x + y = 0.F by VECTSP_1:12;
        hence x = y or x =-y by RLVECT_1:6,21;
      end;
      assume x = y or x =-y;
      then x-y =0.F or x+y = 0.F by RLVECT_1:5;
      hence x*x = y*y by A1,RLVECT_1:21;
    end;
