theorem Th55:
  G is Abelian addGroup iff for A,B st B <> {} holds A * B = A
proof
  thus G is Abelian addGroup implies for A,B st B <> {} holds A * B = A
  proof
    assume
A1: G is Abelian addGroup;
    let A,B;
    set y = the Element of B;
    assume
A2: B <> {};
    then reconsider y as Element of G by TARSKI:def 3;
    thus A * B c= A
    proof
      let x be object;
      assume x in A * B;
      then ex a,b st x = a * b & a in A & b in B;
      hence thesis by A1,Th29;
    end;
    let x be object;
    assume
A3: x in A;
    then reconsider a = x as Element of G;
    a * y = x by A1,Th29;
    hence thesis by A2,A3;
  end;
  assume
A4: for A,B st B <> {} holds A * B = A;
  now
    let a,b;
    {a} = {a} * {b} by A4
      .= {a * b} by ThB37;
    hence a = a * b by ZFMISC_1:3;
  end;
  hence thesis by ThB30;
end;
