let C, D be non empty set ; :: thesis: for f being one-to-one PartFunc of C,D
for g being PartFunc of D,C holds
( g = f " iff ( dom g = rng f & ( for d being Element of D
for c being Element of C holds
( d in rng f & c = g /. d iff ( c in dom f & d = f /. c ) ) ) ) )

let f be one-to-one PartFunc of C,D; :: thesis: for g being PartFunc of D,C holds
( g = f " iff ( dom g = rng f & ( for d being Element of D
for c being Element of C holds
( d in rng f & c = g /. d iff ( c in dom f & d = f /. c ) ) ) ) )

let g be PartFunc of D,C; :: thesis: ( g = f " iff ( dom g = rng f & ( for d being Element of D
for c being Element of C holds
( d in rng f & c = g /. d iff ( c in dom f & d = f /. c ) ) ) ) )

thus ( g = f " implies ( dom g = rng f & ( for d being Element of D
for c being Element of C holds
( d in rng f & c = g /. d iff ( c in dom f & d = f /. c ) ) ) ) ) :: thesis: ( dom g = rng f & ( for d being Element of D
for c being Element of C holds
( d in rng f & c = g /. d iff ( c in dom f & d = f /. c ) ) ) implies g = f " )
proof
assume A1: g = f " ; :: thesis: ( dom g = rng f & ( for d being Element of D
for c being Element of C holds
( d in rng f & c = g /. d iff ( c in dom f & d = f /. c ) ) ) )

then A2: ( dom g = rng f & ( for y, x being set holds
( y in rng f & x = g . y iff ( x in dom f & y = f . x ) ) ) ) by FUNCT_1:54;
thus dom g = rng f by A1, FUNCT_1:54; :: thesis: for d being Element of D
for c being Element of C holds
( d in rng f & c = g /. d iff ( c in dom f & d = f /. c ) )

let d be Element of D; :: thesis: for c being Element of C holds
( d in rng f & c = g /. d iff ( c in dom f & d = f /. c ) )

let c be Element of C; :: thesis: ( d in rng f & c = g /. d iff ( c in dom f & d = f /. c ) )
thus ( d in rng f & c = g /. d implies ( c in dom f & d = f /. c ) ) :: thesis: ( c in dom f & d = f /. c implies ( d in rng f & c = g /. d ) )
proof
assume A3: ( d in rng f & c = g /. d ) ; :: thesis: ( c in dom f & d = f /. c )
then c = g . d by A2, PARTFUN1:def 8;
then ( c in dom f & d = f . c ) by A1, A3, FUNCT_1:54;
hence ( c in dom f & d = f /. c ) by PARTFUN1:def 8; :: thesis: verum
end;
assume ( c in dom f & d = f /. c ) ; :: thesis: ( d in rng f & c = g /. d )
then ( c in dom f & d = f . c ) by PARTFUN1:def 8;
then ( d in rng f & c = g . d ) by A1, FUNCT_1:54;
hence ( d in rng f & c = g /. d ) by A2, PARTFUN1:def 8; :: thesis: verum
end;
assume that
A4: dom g = rng f and
A5: for d being Element of D
for c being Element of C holds
( d in rng f & c = g /. d iff ( c in dom f & d = f /. c ) ) and
A6: g <> f " ; :: thesis: contradiction
now
per cases ( dom (f " ) <> dom g or ex d being Element of D st
( d in dom (f " ) & (f " ) /. d <> g /. d ) )
by A6, Th3;
suppose ex d being Element of D st
( d in dom (f " ) & (f " ) /. d <> g /. d ) ; :: thesis: contradiction
then consider d being Element of D such that
A7: ( d in dom (f " ) & (f " ) /. d <> g /. d ) ;
A8: d in rng f by A7, FUNCT_1:55;
(f " ) /. d in rng (f " ) by A7, Th4;
then A9: (f " ) /. d in dom f by FUNCT_1:55;
d = f . ((f " ) . d) by A8, FUNCT_1:57;
then d = f . ((f " ) /. d) by A7, PARTFUN1:def 8;
then d = f /. ((f " ) /. d) by A9, PARTFUN1:def 8;
hence contradiction by A5, A7, A9; :: thesis: verum
end;
end;
end;
hence contradiction ; :: thesis: verum