reserve x,x1,x2,y,y9,y1,y2,z,z1,z2 for object,P,X,X1,X2,Y,Y1,Y2,V,Z for set;
reserve A for set,
  f,g,h for Function;

theorem
  for f1,f2, g being Function st rng g c= dom f1 & rng g c= dom f2
  & f1 tolerates f2 holds f1*g = f2*g
proof
  let f1,f2, g be Function;
  assume that
A1: rng g c= dom f1 and
A2: rng g c= dom f2 and
A3: f1 tolerates f2;
A4: dom (f2*g) = dom g by A2,RELAT_1:27;
A5: dom (f1*g) = dom g by A1,RELAT_1:27;
  now
    let x be object;
    assume
A6: x in dom g;
    then
A7: (f2*g).x = f2.(g.x) by A4,FUNCT_1:12;
    g.x in rng g by A6,FUNCT_1:def 3;
    then
A8: g.x in (dom f1) /\ (dom f2) by A1,A2,XBOOLE_0:def 4;
    (f1*g).x = f1.(g.x) by A5,A6,FUNCT_1:12;
    hence (f1*g).x = (f2*g).x by A3,A7,A8;
  end;
  hence thesis by A5,A4;
end;
