reserve A,B,C for Ordinal,
  K,L,M,N for Cardinal,
  x,y,y1,y2,z,u for object,X,Y,Z,Z1,Z2 for set,
  n for Nat,
  f,f1,g,h for Function,
  Q,R for Relation;
reserve ff for Cardinal-Function;
reserve F,G for Cardinal-Function;
reserve A,B for set;

theorem
  for M,x, g being Function st x in product M holds x * g in product (M * g)
proof
  let M, x, g be Function;
  assume
A1: x in product M;
  set xg = x * g;
  set Mg = M * g;
A2: ex gg being Function st ( x = gg)&( dom gg = dom M)&( for x
  being object st x in dom M holds gg.x in M.x) by A1,Def5;
  then
A3: dom xg = dom Mg by RELAT_1:163;
  now
    let y be object;
    assume
A4: y in dom Mg;
    then
A5: y in dom g by FUNCT_1:11;
A6: g.y in dom M by A4,FUNCT_1:11;
A7: xg.y = x.(g.y) by A5,FUNCT_1:13;
    Mg.y = M.(g.y) by A5,FUNCT_1:13;
    hence xg.y in Mg.y by A2,A6,A7;
  end;
  hence thesis by A3,Def5;
end;
