let V be non empty set ; for f being Morphism of (Ens V) holds
( f is monic iff (@ f) `2 is one-to-one )
let f be Morphism of (Ens V); ( f is monic iff (@ f) `2 is one-to-one )
set m = @ f;
A1:
dom (@ f) = dom f
by Def10;
then A2:
dom ((@ f) `2 ) = dom f
by Lm3;
thus
( f is monic implies (@ f) `2 is one-to-one )
( (@ f) `2 is one-to-one implies f is monic )proof
set A =
dom ((@ f) `2 );
assume A3:
f is
monic
;
(@ f) `2 is one-to-one
let x1,
x2 be
set ;
FUNCT_1:def 8 ( not x1 in proj1 ((@ f) `2 ) or not x2 in proj1 ((@ f) `2 ) or not ((@ f) `2 ) . x1 = ((@ f) `2 ) . x2 or x1 = x2 )
assume that A4:
x1 in dom ((@ f) `2 )
and A5:
x2 in dom ((@ f) `2 )
and A6:
((@ f) `2 ) . x1 = ((@ f) `2 ) . x2
;
x1 = x2
A7:
dom ((@ f) `2 ) = dom (@ f)
by Lm3;
then reconsider A =
dom ((@ f) `2 ) as
Element of
V ;
A8:
dom f = A
by A7, Def10;
reconsider fx1 =
A --> x1,
fx2 =
A --> x2 as
Function of
A,
A by A4, A5, FUNCOP_1:57;
reconsider m1 =
[[A,A],fx1],
m2 =
[[A,A],fx2] as
Element of
Maps V by Th5;
set f1 =
@ m1;
set f2 =
@ m2;
set h1 =
((@ f) `2 ) * ((@ (@ m1)) `2 );
set h2 =
((@ f) `2 ) * ((@ (@ m2)) `2 );
set ff1 =
(@ f) * (@ (@ m1));
set ff2 =
(@ f) * (@ (@ m2));
A9:
m2 = [[(dom m2),(cod m2)],(m2 `2 )]
by Th8;
then A10:
dom m2 = A
by Lm1;
A11:
cod m2 = A
by A9, Lm1;
then A12:
(
((@ f) * (@ (@ m2))) `2 = ((@ f) `2 ) * ((@ (@ m2)) `2 ) &
dom ((@ f) * (@ (@ m2))) = dom (@ (@ m2)) )
by A7, Th12;
cod ((@ f) * (@ (@ m2))) = cod (@ f)
by A7, A11, Th12;
then A13:
(@ f) * (@ (@ m2)) = [[(dom (@ (@ m2))),(cod (@ f))],(((@ f) `2 ) * ((@ (@ m2)) `2 ))]
by A12, Th8;
dom (@ (@ m2)) = A
by A9, Lm1;
then A14:
dom (@ m2) = A
by Def10;
cod (@ (@ m2)) = A
by A9, Lm1;
then A15:
cod (@ m2) = A
by Def11;
then A16:
f * (@ m2) = (@ f) * (@ (@ m2))
by A8, Th28;
A17:
m1 = [[(dom m1),(cod m1)],(m1 `2 )]
by Th8;
then A18:
cod m1 = A
by Lm1;
then A19:
(
((@ f) * (@ (@ m1))) `2 = ((@ f) `2 ) * ((@ (@ m1)) `2 ) &
dom ((@ f) * (@ (@ m1))) = dom (@ (@ m1)) )
by A7, Th12;
A20:
dom m1 = A
by A17, Lm1;
now thus A21:
(
dom (((@ f) `2 ) * ((@ (@ m1)) `2 )) = A &
dom (((@ f) `2 ) * ((@ (@ m2)) `2 )) = A )
by A20, A10, A19, A12, Lm3;
for x being set st x in A holds
(((@ f) `2 ) * ((@ (@ m1)) `2 )) . x = (((@ f) `2 ) * ((@ (@ m2)) `2 )) . xlet x be
set ;
( x in A implies (((@ f) `2 ) * ((@ (@ m1)) `2 )) . x = (((@ f) `2 ) * ((@ (@ m2)) `2 )) . x )assume A22:
x in A
;
(((@ f) `2 ) * ((@ (@ m1)) `2 )) . x = (((@ f) `2 ) * ((@ (@ m2)) `2 )) . x
fx1 = m1 `2
by A17, ZFMISC_1:33;
then
((@ (@ m1)) `2 ) . x = x1
by A22, FUNCOP_1:13;
then A23:
(((@ f) `2 ) * ((@ (@ m1)) `2 )) . x = ((@ f) `2 ) . x1
by A21, A22, FUNCT_1:22;
fx2 = m2 `2
by A9, ZFMISC_1:33;
then
((@ (@ m2)) `2 ) . x = x2
by A22, FUNCOP_1:13;
hence
(((@ f) `2 ) * ((@ (@ m1)) `2 )) . x = (((@ f) `2 ) * ((@ (@ m2)) `2 )) . x
by A6, A21, A22, A23, FUNCT_1:22;
verum end;
then A24:
((@ f) `2 ) * ((@ (@ m1)) `2 ) = ((@ f) `2 ) * ((@ (@ m2)) `2 )
by FUNCT_1:9;
cod ((@ f) * (@ (@ m1))) = cod (@ f)
by A7, A18, Th12;
then A25:
(@ f) * (@ (@ m1)) = [[(dom (@ (@ m1))),(cod (@ f))],(((@ f) `2 ) * ((@ (@ m1)) `2 ))]
by A19, Th8;
dom (@ (@ m1)) = A
by A17, Lm1;
then A26:
dom (@ m1) = A
by Def10;
cod (@ (@ m1)) = A
by A17, Lm1;
then A27:
cod (@ m1) = A
by Def11;
then
f * (@ m1) = (@ f) * (@ (@ m1))
by A8, Th28;
then
@ m1 = @ m2
by A3, A20, A10, A26, A14, A27, A15, A8, A25, A13, A24, A16, CAT_1:def 10;
then
fx1 = fx2
by ZFMISC_1:33;
hence x1 =
fx2 . x1
by A4, FUNCOP_1:13
.=
x2
by A4, FUNCOP_1:13
;
verum
end;
assume A28:
(@ f) `2 is one-to-one
; f is monic
let f1 be Morphism of (Ens V); CAT_1:def 10 for b1 being Element of the carrier' of (Ens V) holds
( not dom f1 = dom b1 or not cod f1 = dom f or not cod b1 = dom f or not f * f1 = f * b1 or f1 = b1 )
let f2 be Morphism of (Ens V); ( not dom f1 = dom f2 or not cod f1 = dom f or not cod f2 = dom f or not f * f1 = f * f2 or f1 = f2 )
assume that
A29:
dom f1 = dom f2
and
A30:
cod f1 = dom f
and
A31:
cod f2 = dom f
and
A32:
f * f1 = f * f2
; f1 = f2
set m1 = @ f1;
set m2 = @ f2;
A33:
( (@ f) * (@ f1) = f * f1 & (@ f) * (@ f2) = f * f2 )
by A30, A31, Th28;
A34:
@ f1 = [[(dom (@ f1)),(cod (@ f1))],((@ f1) `2 )]
by Th8;
A35:
dom (@ f2) = dom f2
by Def10;
then A36:
dom ((@ f2) `2 ) = dom f2
by Lm3;
A37:
cod (@ f1) = cod f1
by Def11;
then A38:
rng ((@ f1) `2 ) c= cod f1
by Lm3;
A39:
cod (@ f2) = cod f2
by Def11;
then A40:
rng ((@ f2) `2 ) c= cod f2
by Lm3;
A41:
(@ f) * (@ f2) = [[(dom (@ f2)),(cod (@ f))],(((@ f) `2 ) * ((@ f2) `2 ))]
by A31, A39, A1, Def7;
(@ f) * (@ f1) = [[(dom (@ f1)),(cod (@ f))],(((@ f) `2 ) * ((@ f1) `2 ))]
by A30, A37, A1, Def7;
then A42:
((@ f) `2 ) * ((@ f1) `2 ) = ((@ f) `2 ) * ((@ f2) `2 )
by A32, A33, A41, ZFMISC_1:33;
A43:
dom (@ f1) = dom f1
by Def10;
then
dom ((@ f1) `2 ) = dom f1
by Lm3;
then
(@ f1) `2 = (@ f2) `2
by A28, A29, A30, A31, A36, A2, A38, A40, A42, FUNCT_1:49;
hence
f1 = f2
by A29, A30, A31, A43, A35, A37, A39, A34, Th8; verum