
theorem Th3:
  for f,g,h being Function st dom f misses rng h & g.:dom h misses
  dom f holds f*(g+*h) = f*g
proof
  let f,g,h be Function such that
A1: dom f misses rng h and
A2: g.:dom h misses dom f;
A3: dom (f*g) = dom (f*(g+*h))
  proof
    hereby
      let x be object;
      assume
A4:   x in dom (f*g);
      then
A5:   x in dom g by FUNCT_1:11;
A6:   g.x in dom f by A4,FUNCT_1:11;
      now
        assume x in dom h;
        then g.x in g.:dom h by A5,FUNCT_1:def 6;
        hence contradiction by A2,A6,XBOOLE_0:3;
      end;
      then
A7:   g.x = (g+*h).x by FUNCT_4:11;
      x in dom (g+*h) by A5,FUNCT_4:12;
      hence x in dom (f*(g+*h)) by A6,A7,FUNCT_1:11;
    end;
    let x be object;
    assume
A8: x in dom (f*(g+*h));
    then x in dom (g+*h) by FUNCT_1:11;
    then x in dom g & not x in dom h or x in dom h by FUNCT_4:12;
    then
A9: x in dom g & (g+*h).x = g.x or (g+*h).x = h.x & h.x in rng h by
FUNCT_1:def 3,FUNCT_4:11,13;
    (g+*h).x in dom f by A8,FUNCT_1:11;
    hence thesis by A1,A9,FUNCT_1:11,XBOOLE_0:3;
  end;
  now
    let x be object;
    assume
A10: x in dom (f*g);
    then
A11: x in dom g by FUNCT_1:11;
A12: g.x in dom f by A10,FUNCT_1:11;
    now
      assume x in dom h;
      then g.x in g.:dom h by A11,FUNCT_1:def 6;
      hence contradiction by A2,A12,XBOOLE_0:3;
    end;
    then
A13: g.x = (g+*h).x by FUNCT_4:11;
    x in dom (g+*h) by A11,FUNCT_4:12;
    hence (f*(g+*h)).x = f.(g.x) by A13,FUNCT_1:13
      .= (f*g).x by A11,FUNCT_1:13;
  end;
  hence thesis by A3;
end;
