let C be category; :: thesis: for o1, o2 being object of C st <^o1,o2^> <> {} & <^o2,o1^> <> {} holds
for A being Morphism of o1,o2 holds
( A is iso iff ( A is retraction & A is coretraction ) )
let o1, o2 be object of C; :: thesis: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} implies for A being Morphism of o1,o2 holds
( A is iso iff ( A is retraction & A is coretraction ) ) )
assume A1:
( <^o1,o2^> <> {} & <^o2,o1^> <> {} )
; :: thesis: for A being Morphism of o1,o2 holds
( A is iso iff ( A is retraction & A is coretraction ) )
let A be Morphism of o1,o2; :: thesis: ( A is iso iff ( A is retraction & A is coretraction ) )
thus
( A is iso implies ( A is retraction & A is coretraction ) )
by Th5; :: thesis: ( A is retraction & A is coretraction implies A is iso )
assume that
A2:
A is retraction
and
A3:
A is coretraction
; :: thesis: A is iso
( A " is_left_inverse_of A & A " is_right_inverse_of A )
by A1, A2, A3, Def4;
then
( (A " ) * A = idm o1 & A * (A " ) = idm o2 )
by Def1;
hence
A is iso
by Def5; :: thesis: verum