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 Th70:
  g in sproduct f & h in sproduct f implies g +* h in sproduct f
proof
  assume that
A1: g in sproduct f and
A2: h in sproduct f;
A3: dom g c= dom f by A1,Th49;
  dom h c= dom f by A2,Th49;
  then dom g \/ dom h c= dom f by A3,XBOOLE_1:8;
  then
A4: dom(g+*h) c= dom f by FUNCT_4:def 1;
  now
    let x be object;
    assume x in dom(g+*h);
    then x in dom g \/ dom h by FUNCT_4:def 1;
    then
A5: x in (dom g \ dom h \/ dom h) by XBOOLE_1:39;
    now per cases by A5,XBOOLE_0:def 3;
      suppose
A6:     x in dom h;
        then h.x in f.x by A2,Th49;
        hence (g+*h).x in f.x by A6,FUNCT_4:13;
      end;
      suppose
A7:     x in dom g \ dom h;
        then
A8:     g.x in f.x by A1,Th49;
        not x in dom h by A7,XBOOLE_0:def 5;
        hence (g+*h).x in f.x by A8,FUNCT_4:11;
      end;
    end;
    hence (g+*h).x in f.x;
  end;
  hence thesis by A4,Def9;
end;
