reserve x1,x2,z for set;
reserve A,B for non empty set;
reserve f,g,h for Element of Funcs(A,REAL);
reserve a,b for Real;

theorem Th14:
  for A being set, f being Element of Funcs(A,REAL) holds
    (RealFuncAdd A).((RealFuncExtMult A).(a,f),(RealFuncExtMult A).(b,f)) =
      (RealFuncExtMult A).(a+b,f)
proof
  let A be set, f be Element of Funcs(A,REAL);
  reconsider aa=a, bb=b as Element of REAL by XREAL_0:def 1;
  per cases;
  suppose
A1: A = {};
    thus
    (RealFuncAdd A).((RealFuncExtMult A).(a,f),(RealFuncExtMult A).(b,f)) =
    (RealFuncAdd A).((RealFuncExtMult A).(aa,f),(RealFuncExtMult A).(bb,f))
      .= {} by A1
      .= multreal[;](a+b,f) by A1
      .= (RealFuncExtMult A).(a+b,f) by Def3;
  end;
  suppose
    A <> {};
    then reconsider A as non empty set;
    reconsider f as Element of Funcs(A,REAL);
    now
      let x be Element of A;
      thus ((RealFuncAdd A). ((RealFuncExtMult A).[aa,f],
       (RealFuncExtMult A).[bb,f])).x =
         ((RealFuncExtMult A).[aa,f]).x + ((RealFuncExtMult A).[bb,f]).x
                         by Th1
        .= a*(f.x) + ((RealFuncExtMult A).[bb,f]).x by Th4
        .= a*(f.x) + b*(f.x) by Th4
        .= (a+b)*(f.x)
        .= ((RealFuncExtMult A).[aa+bb,f]).x by Th4;
    end;
    hence thesis by FUNCT_2:63;
  end;
end;
