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;
reserve A,B for Ordinal;
reserve n,k for Nat;

theorem
  for f,g being non-empty Function, x being Element of product f,
  y being Element of product g holds x+*y in product (f+*g)
proof
  let f,g be non-empty Function, x be Element of product f;
  let y be Element of product g;
A1: dom x = dom f by Th9;
A2: dom y = dom g by Th9;
  then
A3: dom (x+*y) = dom f \/ dom g by A1,FUNCT_4:def 1;
A4: dom (f+*g) = dom f \/ dom g by FUNCT_4:def 1;
  now
    let z be object;
    assume
A5: z in dom (f+*g);
    then z in dom g or not z in dom g & z in dom f by A4,XBOOLE_0:def 3;
    then (x+*y).z = x.z & (f+*g).z = f.z & x.z in f.z or
    (x+*y).z = y.z & (f+*g).z = g.z & y.z in g.z
    by A1,A2,A4,A5,Th9,FUNCT_4:def 1;
    hence (x+*y).z in (f+*g).z;
  end;
  hence thesis by A3,A4,Th9;
end;
