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 Th3:
  addMagma (# REAL, addreal #) is add-associative addGroup-like
proof
  set G = addMagma (# REAL, addreal #);
  thus for h,g,f being Element of G holds h + g + f = h + (g + f)
  proof
    let h,g,f be Element of G;
    reconsider A = h, B = g, C = f as Real;
A1: g + f = B + C by BINOP_2:def 9;
    h + g = A + B by BINOP_2:def 9;
    hence h + g + f = A + B + C by BINOP_2:def 9
      .= A + (B + C)
      .= h + (g + f) by A1,BINOP_2:def 9;
  end;
  reconsider e = 0 as Element of G by XREAL_0:def 1;
  take e;
  let h be Element of G;
  reconsider A = h as Real;
  thus h + e = A + 0 by BINOP_2:def 9
    .= h;
  thus e + h = 0 + A by BINOP_2:def 9
    .= h;
  reconsider g = - A as Element of G by XREAL_0:def 1;
  take g;
  thus h + g = A + (- A) by BINOP_2:def 9
    .= e;
  thus g + h = (- A) + A by BINOP_2:def 9
    .= e;
end;
