reserve x,y,X,Y for set;
reserve C for non empty set;
reserve c for Element of C;
reserve f,f1,f2,f3,g,g1 for PartFunc of C,COMPLEX;
reserve r1,r2,p1 for Real;
reserve r,q,cr1,cr2 for Complex;

theorem Th15:
  for f1,f2,f3 being complex-valued Function holds
  (f1 + f2) (#) f3 = f1 (#) f3 + f2 (#) f3
proof
  let f1,f2,f3 be complex-valued Function;
  thus
A1: dom ((f1 + f2) (#) f3) = dom (f1 + f2) /\ dom f3 by VALUED_1:def 4
    .= dom f1 /\ dom f2 /\ (dom f3 /\ dom f3) by VALUED_1:def 1
    .= dom f1 /\ dom f2 /\ dom f3 /\ dom f3 by XBOOLE_1:16
    .= dom f1 /\ dom f3 /\ dom f2 /\ dom f3 by XBOOLE_1:16
    .= dom f1 /\ dom f3 /\ (dom f2 /\ dom f3) by XBOOLE_1:16
    .= dom (f1 (#) f3) /\ (dom f2 /\ dom f3) by VALUED_1:def 4
    .= dom (f1 (#) f3) /\ dom (f2 (#) f3) by VALUED_1:def 4
    .= dom (f1 (#) f3 + f2 (#) f3) by VALUED_1:def 1;
    let c be object;
    assume
A2: c in dom ((f1 + f2)(#)f3);
    then
A3: c in dom (f1(#)f3) /\ dom (f2(#)f3) by A1,VALUED_1:def 1;
    then
A4: c in dom (f1(#)f3) by XBOOLE_0:def 4;
    c in dom (f1 + f2) /\ dom f3 by A2,VALUED_1:def 4;
    then
A5: c in dom (f1 + f2) by XBOOLE_0:def 4;
A6: c in dom (f2 (#) f3) by A3,XBOOLE_0:def 4;
    thus ((f1 + f2) (#) f3).c = (f1 + f2).c * (f3.c) by A2,VALUED_1:def 4
      .= (((f1.c)) + ((f2.c))) * (f3.c) by A5,VALUED_1:def 1
      .= ((f1.c)) * (f3.c) + ((f2.c)) * (f3.c)
      .= (f1 (#) f3).c + ((f2.c))* (f3.c) by A4,VALUED_1:def 4
      .= (f1 (#) f3).c + (f2 (#) f3).c by A6,VALUED_1:def 4
      .=((f1 (#) f3) + (f2 (#) f3)).c by A1,A2,VALUED_1:def 1;
end;
