reserve P,Q,X,Y,Z for set, p,x,x9,x1,x2,y,z for object;

theorem
  for f being Function of X,Y st X <> {} & Y <> {} holds f is one-to-one
  iff for Z for g,h being Function of Z,X st f*g = f*h holds g = h
proof
  let f be Function of X,Y;
  assume that
A1: X <> {} and
A2: Y <> {};
A3: dom f = X by A2,Def1;
  thus f is one-to-one implies for Z for g,h being Function of Z,X st f*g = f*
  h holds g = h
  proof
    assume
A4: f is one-to-one;
    let Z;
    let g,h be Function of Z,X;
A5: rng g c= X & rng h c= X;
    dom g = Z & dom h = Z by A1,Def1;
    hence thesis by A3,A4,A5,FUNCT_1:27;
  end;
  assume
A6: for Z for g,h being Function of Z,X st f*g = f*h holds g = h;
  now
    let g,h be Function;
    assume rng g c= dom f & rng h c= dom f & dom g = dom h;
    then g is Function of dom g,X & h is Function of dom g,X by A3,Th2;
    hence f*g = f*h implies g = h by A6;
  end;
  hence thesis by FUNCT_1:27;
end;
