reserve a,b,p,x,x9,x1,x19,x2,y,y9,y1,y19,y2,z,z9,z1,z2 for object,
   X,X9,Y,Y9,Z,Z9 for set;
reserve A,D,D9 for non empty set;
reserve f,g,h for Function;
reserve A,B for set;
reserve x,y,i,j,k for object;

theorem
  f is one-to-one & g is one-to-one & rng f misses rng g implies
  f+*g is one-to-one
proof
  set fg = f+*g;
  assume that
A1: f is one-to-one and
A2: g is one-to-one and
A3: rng f misses rng g;
  let x1,x2 be object;
  assume that
A4: x1 in dom fg and
A5: x2 in dom fg and
A6: fg.x1 = fg.x2;
A7: x1 in dom f or x1 in dom g by A4,Th12;
A8: x2 in dom f or x2 in dom g by A5,Th12;
  per cases;
  suppose
A9: x1 in dom g & x2 in dom g;
    then fg.x1 = g.x1 & fg.x2 = g.x2 by Th13;
    hence thesis by A2,A6,A9;
  end;
  suppose
A10: x1 in dom g & not x2 in dom g;
    then x2 in dom f by A5,Th12;
    then
A11: f.x2 in rng f by FUNCT_1:def 3;
A12: g.x1 in rng g by A10,FUNCT_1:def 3;
    fg.x1 = g.x1 & fg.x2 = f.x2 by A10,Th11,Th13;
    hence thesis by A3,A6,A12,A11,XBOOLE_0:3;
  end;
  suppose
A13: not x1 in dom g & x2 in dom g;
    then x1 in dom f by A4,Th12;
    then
A14: f.x1 in rng f by FUNCT_1:def 3;
A15: g.x2 in rng g by A13,FUNCT_1:def 3;
    fg.x1 = f.x1 & fg.x2 = g.x2 by A13,Th11,Th13;
    hence thesis by A3,A6,A15,A14,XBOOLE_0:3;
  end;
  suppose
A16: not x1 in dom g & not x2 in dom g;
    then fg.x1 = f.x1 & fg.x2 = f.x2 by Th11;
    hence thesis by A1,A6,A7,A8,A16;
  end;
end;
