reserve x,y,X,Y for set;
reserve C,D,E for non empty set;
reserve SC for Subset of C;
reserve SD for Subset of D;
reserve SE for Subset of E;
reserve c,c1,c2 for Element of C;
reserve d,d1,d2 for Element of D;
reserve e for Element of E;
reserve f,f1,g for PartFunc of C,D;
reserve t for PartFunc of D,C;
reserve s for PartFunc of D,E;
reserve h for PartFunc of C,E;
reserve F for PartFunc of D,D;

theorem
  f is one-to-one & dom f = rng t & rng f = dom t & (for c,d st c in dom
  f & d in dom t holds f/.c = d iff t/.d = c) implies t = f"
proof
  assume that
A1: f is one-to-one & dom f = rng t & rng f = dom t and
A2: for c,d st c in dom f & d in dom t holds f/.c = d iff t/.d = c;
  now
    let x,y be object;
    assume that
A3: x in dom f and
A4: y in dom t;
    reconsider y1=y as Element of D by A4;
    reconsider x1=x as Element of C by A3;
    thus (f qua Function).x = y implies (t qua Function).y = x
    proof
      assume (f qua Function).x = y;
      then f/.x1 = y1 by A3,PARTFUN1:def 6;
      then t/.y1 = x1 by A2,A3,A4;
      hence thesis by A4,PARTFUN1:def 6;
    end;
    assume (t qua Function).y = x;
    then t/.y1 = x1 by A4,PARTFUN1:def 6;
    then f/.x1 = y1 by A2,A3,A4;
    hence (f qua Function).x = y by A3,PARTFUN1:def 6;
  end;
  hence thesis by A1,FUNCT_1:38;
end;
