reserve X for non empty set;
reserve Y for RealLinearSpace;
reserve f,g,h for Element of Funcs(X,the carrier of Y);

theorem Th1:
  for Y being non empty addLoopStr, f,g,h being Element of Funcs(X,
  the carrier of Y) holds h = FuncAdd(X,Y).(f,g) iff for x being Element of X
  holds h.x = f.x + g.x
proof
  let Y be non empty addLoopStr, f,g,h be Element of Funcs(X,the carrier of Y);
  hereby
    assume
A1: h = (FuncAdd(X,Y)).(f,g);
    let x be Element of X;
A2: x in dom ((the addF of Y).:(f,g)) by Lm1;
    thus h.x = ((the addF of Y).:(f,g)).x by A1,Def1
      .= f.x + g.x by A2,FUNCOP_1:22;
  end;
    assume
A3: for x being Element of X holds h.x=f.x + g.x;
    now
      let x be Element of X;
A4:   x in dom ((the addF of Y).:(f,g)) by Lm1;
      thus ((FuncAdd(X,Y)).(f,g)).x = ((the addF of Y).:(f,g)).x by Def1
        .= f.x + g.x by A4,FUNCOP_1:22
        .= h.x by A3;
    end;
    hence h = (FuncAdd(X,Y)).(f,g) by FUNCT_2:63;
end;
