
theorem Th23:
  for f, g being non-empty Function
  st dom g c= dom f & for i being object st i in dom g holds g.i c= f.i
  holds product(f+*g) c= product f
proof
  let f, g be non-empty Function;
  assume that
    A1: dom g c= dom f and
    A2: for i being object st i in dom g holds g.i c= f.i;
  A3: dom(f+*g) = dom f \/ dom g by FUNCT_4:def 1
    .= dom f by A1, XBOOLE_1:12;
  now
    let x be object;
    assume x in dom (f+*g);
    thus (f+*g).x c= f.x
    proof
      let i be object;
      assume A4: i in (f+*g).x;
      per cases;
      suppose a5: x in dom g;
        then A5: i in g.x by A4, FUNCT_4:13;
        g.x c= f.x by a5,A2;
        hence i in f.x by A5;
      end;
      suppose not x in dom g;
        hence i in f.x by A4, FUNCT_4:11;
      end;
    end;
  end;
  hence product(f+*g) c= product f by A3, CARD_3:27;
end;
