reserve m,n for Nat;
reserve i,j for Integer;
reserve S for non empty addMagma;
reserve r,r1,r2,s,s1,s2,t,t1,t2 for Element of S;
reserve G for addGroup-like non empty addMagma;
reserve e,h for Element of G;
reserve G for addGroup;
reserve f,g,h for Element of G;
reserve u for UnOp of G;
reserve A for Abelian addGroup;
reserve a,b for Element of A;
reserve x for object;
reserve y,y1,y2,Y,Z for set;
reserve k for Nat;
reserve G for addGroup;
reserve a,g,h for Element of G;
reserve A for Subset of G;
reserve G for non empty addMagma,
  A,B,C for Subset of G;
reserve a,b,g,g1,g2,h,h1,h2 for Element of G;

theorem Th22:
  for G being addGroup, A being Subset of G holds (for g1,g2 being
Element of G st g1 in A & g2 in A holds g1 + g2 in A) & (for g being Element of
  G st g in A holds -g in A) implies A + A = A
proof
  let G be addGroup, A be Subset of G such that
A1: for g1,g2 being Element of G st g1 in A & g2 in A holds g1 + g2 in A and
A2: for g being Element of G st g in A holds -g in A;
  thus A + A c= A
  proof
    let x be object;
    assume x in A + A;
    then ex g1,g2 being Element of G st x = g1 + g2 & g1 in A & g2 in A;
    hence thesis by A1;
  end;
  let x be object;
  assume
A3: x in A;
  then reconsider a = x as Element of G;
  -a in A by A2,A3;
  then -a + a in A by A1,A3;
  then
A4: 0_G in A by Def5;
  0_G + a = a by Def4;
  hence thesis by A3,A4;
end;
