let C be Category; :: thesis: for a, b being Object of C
for f being Morphism of a,b st f is coretraction holds
f is monic

let a, b be Object of C; :: thesis: for f being Morphism of a,b st f is coretraction holds
f is monic

let f be Morphism of a,b; :: thesis: ( f is coretraction implies f is monic )
assume A1: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; :: according to CAT_3:def 9 :: thesis: ( for g being Morphism of b,a holds not g * f = id a or f is monic )
given g being Morphism of b,a such that A2: g * f = id a ; :: thesis: f is monic
thus Hom (a,b) <> {} by A1; :: according to CAT_1:def 14 :: thesis: for b1 being Element of the carrier of C holds
( Hom (b1,a) = {} or for b2, b3 being Morphism of b1,a holds
( not f * b2 = f * b3 or b2 = b3 ) )

let c be Object of C; :: thesis: ( Hom (c,a) = {} or for b1, b2 being Morphism of c,a holds
( not f * b1 = f * b2 or b1 = b2 ) )

assume A3: Hom (c,a) <> {} ; :: thesis: for b1, b2 being Morphism of c,a holds
( not f * b1 = f * b2 or b1 = b2 )

let p1, p2 be Morphism of c,a; :: thesis: ( not f * p1 = f * p2 or p1 = p2 )
assume A4: f * p1 = f * p2 ; :: thesis: p1 = p2
thus p1 = (g * f) * p1 by
.= g * (f * p2) by
.= (g * f) * p2 by
.= p2 by ; :: thesis: verum