reserve MS for non empty MidStr;
reserve a, b for Element of MS;
reserve M for MidSp;
reserve a,b,c,d,a9,b9,c9,d9,x,y,x9 for Element of M;
reserve p,q,r,p9,q9 for Element of [:the carrier of M,the carrier of M:];
reserve u,v,w,u9,w9 for Vector of M;
reserve X for Subset of [:the carrier of M,the carrier of M:];
reserve x for set;
reserve u1,v1,w1,W,W1,W2,T for Element of setvect(M);

theorem
  vectgroup(M) is add-associative right_zeroed right_complementable Abelian
proof
  set GS = vectgroup(M);
  thus GS is add-associative
  proof
    let x,y,z be Element of GS;
    reconsider xx = x, yy = y, zz = z as Element of setvect(M);
    thus (x+y)+z = (addvect(M)).(xx+yy,zz) by Def14
      .= (xx+yy)+zz by Def14
      .= xx+(yy+zz) by Th50
      .= (addvect(M)).(xx,yy+zz) by Def14
      .= x+(y+z) by Def14;
  end;
  thus GS is right_zeroed
  proof
    let x be Element of GS;
    reconsider xx = x as Element of setvect(M);
    thus x+0.GS = x
    proof
      reconsider xxx = xx as Vector of M by Th48;
      xx+(zerovect(M)) = xxx+ID(M) by Def13
        .= x by Th44;
      hence thesis by Def14;
    end;
  end;
  thus GS is right_complementable
  proof
    let x be Element of GS;
    reconsider xx = x as Element of setvect(M);
    reconsider w = (complvect(M)).xx as Element of GS;
    take w;
    thus x + w = xx + (complvect(M)).xx by Def14
      .= 0.GS by Def15;
  end;
  thus GS is Abelian
  proof
    let x,y be Element of GS;
    reconsider xx = x, yy = y as Element of setvect(M);
    thus x+y = xx + yy by Def14
      .= yy + xx by Th49
      .= y+x by Def14;
  end;
end;
