reserve T, T1 for non empty TopSpace;
reserve F,G,H for Subset-Family of T,
  A,B,C,D for Subset of T,
  O,U for open Subset of T,
  p,q for Point of T,
  x,y,X for set;
reserve Un for FamilySequence of T,
  r,r1,r2 for Real,
  n for Element of NAT;

theorem Th23:
  for ADD being BinOp of Funcs(the carrier of T,REAL) st (for f1,
  f2 being RealMap of T holds ADD.(f1,f2)=f1+f2) holds ADD is having_a_unity &
  ADD is commutative associative
proof
  set F=Funcs(the carrier of T,REAL);
  let ADD be BinOp of Funcs(the carrier of T,REAL) such that
A1: for f1,f2 being RealMap of T holds ADD.(f1,f2)=f1+f2;
  ex map9 be Element of F st map9 is_a_unity_wrt ADD
  proof
    reconsider map0 = (the carrier of T) --> In(0,REAL) as RealMap of T;
    reconsider map09=map0 as Element of F by FUNCT_2:8;
    take map09;
    now
      let f be Element of F;
      now
        let x be Element of T;
        (f+map09).x=f.x+map09.x by Def7;
        then (f+map09).x=f.x+0 by FUNCOP_1:7;
        hence (f+map09).x=f.x;
      end;
      then f+map09=f by FUNCT_2:63;
      hence ADD.(map0,f)=f & ADD.(f,map0)=f by A1;
    end;
    hence thesis by BINOP_1:3;
  end;
  hence ADD is having_a_unity by SETWISEO:def 2;
  thus ADD is commutative
  proof
    let f1,f2 be Element of F;
    ADD.(f1,f2)=f1+f2 by A1;
    hence thesis by A1;
  end;
  thus ADD is associative
  proof
    let f1,f2,f3 be Element of F;
    reconsider ADD12=ADD.(f1,f2),ADD23=ADD.(f2,f3) as RealMap of T by
FUNCT_2:66;
A2: ADD12+f3=ADD.(ADD12,f3) by A1;
    now
      let t be Element of T;
      (f1+(f2+f3)).t=f1.t+(f2+f3).t & (f2+f3).t =f2.t+f3.t by Def7;
      then (f1+(f2+f3)).t=(f1.t+f2.t)+f3.t;
      then (f1+(f2+f3)).t=(f1+f2).t+f3.t by Def7;
      hence (f1+(f2+f3)).t=((f1+f2)+f3).t by Def7;
    end;
    then
A3: f1+(f2+f3)=(f1+f2)+f3 by FUNCT_2:63;
    f1+(f2+f3)=f1+ADD23 by A1;
    then f1+ADD23=ADD12+f3 by A1,A3;
    hence thesis by A1,A2;
  end;
end;
