reserve i,j,x,y for object,
  f,g for Function;

theorem
  for I being set, f being non-empty ManySortedSet of I,
      g being Function, s being Element of product f st
    dom g c= dom f & for x being set st
  x in dom g holds g.x in f.x holds s+*g is Element of product f
proof
  let I be set, f be non-empty ManySortedSet of I, g be Function, s be Element
  of product f;
  assume that
A1: dom g c= dom f and
A2: for x being set st x in dom g holds g.x in f.x;
A3: now
    let x be object;
    assume
A4: x in dom f;
    per cases;
    suppose
A5:   x in dom g;
      then (s+*g).x = g.x by FUNCT_4:13;
      hence (s+*g).x in f.x by A2,A5;
    end;
    suppose
A6:   not x in dom g;
A7:   ex g9 being Function st s = g9 & dom g9 = dom f & for x being object
      st x in dom f holds g9.x in f.x by CARD_3:def 5;
      (s+*g).x = s.x by A6,FUNCT_4:11;
      hence (s+*g).x in f.x by A4,A7;
    end;
  end;
  dom (s+*g) = dom s \/ dom g & dom s = dom f by CARD_3:9,FUNCT_4:def 1;
  then dom (s+*g) = dom f by A1,XBOOLE_1:12;
  hence thesis by A3,CARD_3:9;
end;
