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;

theorem
  (for r,s,t holds r + s + t = r + (s + t)) & (for r,s holds (ex t st r
  + t = s) & (ex t st t + r = s)) implies S is add-associative addGroup-like
proof
  set r = the Element of S;
  assume that
A1: for r,s,t holds r + s + t = r + (s + t) and
A2: for r,s holds (ex t st r + t = s) & ex t st t + r = s;
  consider s1 such that
A3: r + s1 = r by A2;
  thus for r,s,t holds r + s + t = r + (s + t) by A1;
  take s1;
  let s;
  ex t st t + r = s by A2;
  hence
A4: s + s1 = s by A1,A3;
  consider s2 such that
A5: s2 + r = r by A2;
  consider t1 such that
A6: r + t1 = s1 by A2;
A7: ex t2 st t2 + r = s2 by A2;
A8: s1 = s2 + (r + t1) by A1,A5,A6
    .= s2 by A1,A3,A6,A7;
  ex t st r + t = s by A2;
  hence
A9: s1 + s = s by A1,A5,A8;
  consider t1 such that
A10: s + t1 = s1 by A2;
  consider t2 such that
A11: t2 + s = s1 by A2;
  take t1;
  consider r1 such that
A12: s + r1 = t1 by A2;
A13: ex r2 st r2 + s = t2 by A2;
  t1 = s1 + (s + r1) by A1,A9,A12
    .= t2 + (s + t1) by A1,A11,A12
    .= t2 by A1,A4,A10,A13;
  hence thesis by A10,A11;
end;
