let C be category; :: thesis: for D being non empty subcategory of C
for o1, o2 being object of C
for p1, p2 being object of D
for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( n is retraction implies m is retraction ) & ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) )
let D be non empty subcategory of C; :: thesis: for o1, o2 being object of C
for p1, p2 being object of D
for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( n is retraction implies m is retraction ) & ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) )
let o1, o2 be object of C; :: thesis: for p1, p2 being object of D
for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( n is retraction implies m is retraction ) & ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) )
let p1, p2 be object of D; :: thesis: for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( n is retraction implies m is retraction ) & ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) )
let m be Morphism of o1,o2; :: thesis: for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( n is retraction implies m is retraction ) & ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) )
let n be Morphism of p1,p2; :: thesis: ( p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} implies ( ( n is retraction implies m is retraction ) & ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) ) )
assume A1:
( p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} )
; :: thesis: ( ( n is retraction implies m is retraction ) & ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) )
thus A2:
( n is retraction implies m is retraction )
:: thesis: ( ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) )
thus A4:
( n is coretraction implies m is coretraction )
:: thesis: ( n is iso implies m is iso )
assume A6:
n is iso
; :: thesis: m is iso
( <^o1,o2^> <> {} & <^o2,o1^> <> {} )
by A1, ALTCAT_2:32, XBOOLE_1:3;
hence
m is iso
by A2, A4, A6, ALTCAT_3:5, ALTCAT_3:6; :: thesis: verum