let V be non empty set ; for f being Morphism of (Ens V) st @ f is surjective holds
f is epi
let f be Morphism of (Ens V); ( @ f is surjective implies f is epi )
set m = @ f;
assume A1:
rng ((@ f) `2) = cod (@ f)
; ENS_1:def 8 f is epi
let f1 be Morphism of (Ens V); CAT_1:def 8 for b1 being Element of the carrier' of (Ens V) holds
( not dom f1 = cod f or not dom b1 = cod f or not cod f1 = cod b1 or not f1 * f = b1 * f or f1 = b1 )
let f2 be Morphism of (Ens V); ( not dom f1 = cod f or not dom f2 = cod f or not cod f1 = cod f2 or not f1 * f = f2 * f or f1 = f2 )
assume that
A2:
dom f1 = cod f
and
A3:
dom f2 = cod f
and
A4:
cod f1 = cod f2
and
A5:
f1 * f = f2 * f
; f1 = f2
set m1 = @ f1;
set m2 = @ f2;
A6:
( (@ f1) * (@ f) = f1 * f & (@ f2) * (@ f) = f2 * f )
by A2, A3, Th28;
A7:
@ f1 = [[(dom (@ f1)),(cod (@ f1))],((@ f1) `2)]
by Th8;
A8:
( cod (@ f1) = cod f1 & cod (@ f2) = cod f2 )
by Def11;
A9:
dom (@ f2) = dom f2
by Def10;
then A10:
dom ((@ f2) `2) = dom f2
by Lm3;
A11:
cod (@ f) = cod f
by Def11;
then A12:
(@ f2) * (@ f) = [[(dom (@ f)),(cod (@ f2))],(((@ f2) `2) * ((@ f) `2))]
by A3, A9, Def7;
A13:
dom (@ f1) = dom f1
by Def10;
then
(@ f1) * (@ f) = [[(dom (@ f)),(cod (@ f1))],(((@ f1) `2) * ((@ f) `2))]
by A2, A11, Def7;
then A14:
((@ f1) `2) * ((@ f) `2) = ((@ f2) `2) * ((@ f) `2)
by A5, A6, A12, ZFMISC_1:27;
dom ((@ f1) `2) = dom f1
by A13, Lm3;
then
(@ f1) `2 = (@ f2) `2
by A1, A2, A3, A11, A14, A10, FUNCT_1:86;
hence
f1 = f2
by A2, A3, A4, A13, A9, A8, A7, Th8; verum