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