let C be non empty category; for c1, c2, a, b being Object of C
for p1 being Morphism of a,c1
for p2 being Morphism of a,c2
for q1 being Morphism of b,c1
for q2 being Morphism of b,c2 st Hom (a,c1) <> {} & Hom (a,c2) <> {} & Hom (b,c1) <> {} & Hom (b,c2) <> {} & a,p1,p2 is_product_of c1,c2 & b,q1,q2 is_product_of c1,c2 holds
a,b are_isomorphic
let c1, c2, a, b be Object of C; for p1 being Morphism of a,c1
for p2 being Morphism of a,c2
for q1 being Morphism of b,c1
for q2 being Morphism of b,c2 st Hom (a,c1) <> {} & Hom (a,c2) <> {} & Hom (b,c1) <> {} & Hom (b,c2) <> {} & a,p1,p2 is_product_of c1,c2 & b,q1,q2 is_product_of c1,c2 holds
a,b are_isomorphic
let p1 be Morphism of a,c1; for p2 being Morphism of a,c2
for q1 being Morphism of b,c1
for q2 being Morphism of b,c2 st Hom (a,c1) <> {} & Hom (a,c2) <> {} & Hom (b,c1) <> {} & Hom (b,c2) <> {} & a,p1,p2 is_product_of c1,c2 & b,q1,q2 is_product_of c1,c2 holds
a,b are_isomorphic
let p2 be Morphism of a,c2; for q1 being Morphism of b,c1
for q2 being Morphism of b,c2 st Hom (a,c1) <> {} & Hom (a,c2) <> {} & Hom (b,c1) <> {} & Hom (b,c2) <> {} & a,p1,p2 is_product_of c1,c2 & b,q1,q2 is_product_of c1,c2 holds
a,b are_isomorphic
let q1 be Morphism of b,c1; for q2 being Morphism of b,c2 st Hom (a,c1) <> {} & Hom (a,c2) <> {} & Hom (b,c1) <> {} & Hom (b,c2) <> {} & a,p1,p2 is_product_of c1,c2 & b,q1,q2 is_product_of c1,c2 holds
a,b are_isomorphic
let q2 be Morphism of b,c2; ( Hom (a,c1) <> {} & Hom (a,c2) <> {} & Hom (b,c1) <> {} & Hom (b,c2) <> {} & a,p1,p2 is_product_of c1,c2 & b,q1,q2 is_product_of c1,c2 implies a,b are_isomorphic )
assume A1:
( Hom (a,c1) <> {} & Hom (a,c2) <> {} & Hom (b,c1) <> {} & Hom (b,c2) <> {} )
; ( not a,p1,p2 is_product_of c1,c2 or not b,q1,q2 is_product_of c1,c2 or a,b are_isomorphic )
assume A2:
a,p1,p2 is_product_of c1,c2
; ( not b,q1,q2 is_product_of c1,c2 or a,b are_isomorphic )
assume A3:
b,q1,q2 is_product_of c1,c2
; a,b are_isomorphic
ex ff being Morphism of a,b ex gg being Morphism of b,a st
( Hom (a,b) <> {} & Hom (b,a) <> {} & gg * ff = id- a & ff * gg = id- b )
proof
consider f being
Morphism of
a,
b such that A4:
(
q1 * f = p1 &
q2 * f = p2 & ( for
h1 being
Morphism of
a,
b st
q1 * h1 = p1 &
q2 * h1 = p2 holds
f = h1 ) )
by A1, A3, Def10;
consider g being
Morphism of
b,
a such that A5:
(
p1 * g = q1 &
p2 * g = q2 & ( for
h1 being
Morphism of
b,
a st
p1 * h1 = q1 &
p2 * h1 = q2 holds
g = h1 ) )
by A1, A2, Def10;
take
f
;
ex gg being Morphism of b,a st
( Hom (a,b) <> {} & Hom (b,a) <> {} & gg * f = id- a & f * gg = id- b )
take
g
;
( Hom (a,b) <> {} & Hom (b,a) <> {} & g * f = id- a & f * g = id- b )
thus A6:
Hom (
a,
b)
<> {}
by A1, A3, Def10;
( Hom (b,a) <> {} & g * f = id- a & f * g = id- b )
thus A7:
Hom (
b,
a)
<> {}
by A1, A2, Def10;
( g * f = id- a & f * g = id- b )
set g11 =
q1 * f;
set g12 =
q2 * f;
consider h1 being
Morphism of
a,
a such that A8:
(
p1 * h1 = q1 * f &
p2 * h1 = q2 * f & ( for
h being
Morphism of
a,
a st
p1 * h = q1 * f &
p2 * h = q2 * f holds
h1 = h ) )
by A1, A2, Def10;
A9:
p1 * (g * f) = q1 * f
by A1, A5, A7, A6, CAT_7:23;
A10:
p2 * (g * f) = q2 * f
by A1, A5, A7, A6, CAT_7:23;
A11:
p1 * (id- a) = q1 * f
by A1, A4, CAT_7:18;
A12:
p2 * (id- a) = q2 * f
by A1, A4, CAT_7:18;
thus g * f =
h1
by A8, A9, A10
.=
id- a
by A8, A11, A12
;
f * g = id- b
set g21 =
p1 * g;
set g22 =
p2 * g;
consider h2 being
Morphism of
b,
b such that A13:
(
q1 * h2 = p1 * g &
q2 * h2 = p2 * g & ( for
h being
Morphism of
b,
b st
q1 * h = p1 * g &
q2 * h = p2 * g holds
h2 = h ) )
by A1, A3, Def10;
A14:
q1 * (f * g) = p1 * g
by A1, A4, A7, A6, CAT_7:23;
A15:
q2 * (f * g) = p2 * g
by A1, A4, A7, A6, CAT_7:23;
A16:
q1 * (id- b) = p1 * g
by A1, A5, CAT_7:18;
A17:
q2 * (id- b) = p2 * g
by A1, A5, CAT_7:18;
thus f * g =
h2
by A13, A14, A15
.=
id- b
by A13, A16, A17
;
verum
end;
hence
a,b are_isomorphic
by CAT_7:def 11; verum