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
  (RealFuncMult(A)).(f,g) = f (#) g
proof
A1: dom ((RealFuncMult A).(f,g)) = A by FUNCT_2:def 1;
a1: dom (f (#) g) = dom f /\ dom g by VALUED_1:def 4
               .= A /\ dom g by FUNCT_2:def 1
               .= A /\ A by FUNCT_2:def 1
               .= A;
    now
      let x be object;
      assume
a0:   x in dom (f (#) g);
A3:   dom (multreal.:(f,g)) = A by FUNCT_2:def 1;
      thus ((RealFuncMult(A)).(f,g)).x = (multreal.:(f,g)).x by Def2
        .= multreal.(f.x,g.x) by a1,a0,A3,FUNCOP_1:22
        .= f.x * g.x by BINOP_2:def 11
        .= (f (#) g).x by VALUED_1:5;
    end;
  hence thesis by A1,a1,FUNCT_1:2;
end;
