
theorem Th2:
  for f,g,h being Function st f c= g & (rng h) /\ dom g c= dom f
  holds g*h = f*h
proof
  let f,g,h be Function;
  assume that
A1: f c= g and
A2: (rng h) /\ dom g c= dom f;
A3: dom (f*h) = dom (g*h)
  proof
    f*h c= g*h by A1,RELAT_1:29;
    hence dom (f*h) c= dom (g*h) by RELAT_1:11;
    let x be object;
    assume
A4: x in dom (g*h);
    then
A5: h.x in dom g by FUNCT_1:11;
A6: x in dom h by A4,FUNCT_1:11;
    then h.x in rng h by FUNCT_1:def 3;
    then h.x in (rng h) /\ dom g by A5,XBOOLE_0:def 4;
    hence thesis by A2,A6,FUNCT_1:11;
  end;
  now
    let x be object;
    assume
A7: x in dom (f*h);
    then
A8: x in dom h by FUNCT_1:11;
    then
A9: (g*h).x = g.(h.x) by FUNCT_1:13;
A10: (f*h).x = f.(h.x) by A8,FUNCT_1:13;
    h.x in dom f by A7,FUNCT_1:11;
    hence (g*h).x = (f*h).x by A1,A9,A10,GRFUNC_1:2;
  end;
  hence thesis by A3;
end;
