let C be Category; :: thesis: for c, a, b being Object of C st Hom c,a <> {} & Hom c,b <> {} holds
for p1 being Morphism of c,a
for p2 being Morphism of c,b holds
( c is_a_product_wrt p1,p2 iff for d being Object of C st Hom d,a <> {} & Hom d,b <> {} holds
( Hom d,c <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) )
let c, a, b be Object of C; :: thesis: ( Hom c,a <> {} & Hom c,b <> {} implies for p1 being Morphism of c,a
for p2 being Morphism of c,b holds
( c is_a_product_wrt p1,p2 iff for d being Object of C st Hom d,a <> {} & Hom d,b <> {} holds
( Hom d,c <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) ) )
assume A1:
( Hom c,a <> {} & Hom c,b <> {} )
; :: thesis: for p1 being Morphism of c,a
for p2 being Morphism of c,b holds
( c is_a_product_wrt p1,p2 iff for d being Object of C st Hom d,a <> {} & Hom d,b <> {} holds
( Hom d,c <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) )
let p1 be Morphism of c,a; :: thesis: for p2 being Morphism of c,b holds
( c is_a_product_wrt p1,p2 iff for d being Object of C st Hom d,a <> {} & Hom d,b <> {} holds
( Hom d,c <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) )
let p2 be Morphism of c,b; :: thesis: ( c is_a_product_wrt p1,p2 iff for d being Object of C st Hom d,a <> {} & Hom d,b <> {} holds
( Hom d,c <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) )
thus
( c is_a_product_wrt p1,p2 implies for d being Object of C st Hom d,a <> {} & Hom d,b <> {} holds
( Hom d,c <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) )
:: thesis: ( ( for d being Object of C st Hom d,a <> {} & Hom d,b <> {} holds
( Hom d,c <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) ) implies c is_a_product_wrt p1,p2 )proof
assume that
(
dom p1 = c &
dom p2 = c )
and A2:
for
d being
Object of
C for
f,
g being
Morphism of
C st
f in Hom d,
(cod p1) &
g in Hom d,
(cod p2) holds
ex
h being
Morphism of
C st
(
h in Hom d,
c & ( for
k being
Morphism of
C st
k in Hom d,
c holds
( (
p1 * k = f &
p2 * k = g ) iff
h = k ) ) )
;
:: according to CAT_3:def 16 :: thesis: for d being Object of C st Hom d,a <> {} & Hom d,b <> {} holds
( Hom d,c <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) )
let d be
Object of
C;
:: thesis: ( Hom d,a <> {} & Hom d,b <> {} implies ( Hom d,c <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) )
assume A3:
(
Hom d,
a <> {} &
Hom d,
b <> {} )
;
:: thesis: ( Hom d,c <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) )
consider f being
Morphism of
d,
a,
g being
Morphism of
d,
b;
A4:
(
cod p1 = a &
cod p2 = b )
by A1, CAT_1:23;
then
(
f in Hom d,
(cod p1) &
g in Hom d,
(cod p2) )
by A3, CAT_1:def 7;
then A5:
ex
h being
Morphism of
C st
(
h in Hom d,
c & ( for
k being
Morphism of
C st
k in Hom d,
c holds
( (
p1 * k = f &
p2 * k = g ) iff
h = k ) ) )
by A2;
hence
Hom d,
c <> {}
;
:: thesis: for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k )
let f be
Morphism of
d,
a;
:: thesis: for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k )let g be
Morphism of
d,
b;
:: thesis: ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k )
(
f in Hom d,
(cod p1) &
g in Hom d,
(cod p2) )
by A3, A4, CAT_1:def 7;
then consider h being
Morphism of
C such that A6:
h in Hom d,
c
and A7:
for
k being
Morphism of
C st
k in Hom d,
c holds
( (
p1 * k = f &
p2 * k = g ) iff
h = k )
by A2;
reconsider h =
h as
Morphism of
d,
c by A6, CAT_1:def 7;
take
h
;
:: thesis: for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k )
let k be
Morphism of
d,
c;
:: thesis: ( ( p1 * k = f & p2 * k = g ) iff h = k )
(
p1 * k = p1 * k &
p2 * k = p2 * k &
k in Hom d,
c )
by A1, A5, CAT_1:def 7, CAT_1:def 13;
hence
( (
p1 * k = f &
p2 * k = g ) iff
h = k )
by A7;
:: thesis: verum
end;
assume A8:
for d being Object of C st Hom d,a <> {} & Hom d,b <> {} holds
( Hom d,c <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) )
; :: thesis: c is_a_product_wrt p1,p2
thus
( dom p1 = c & dom p2 = c )
by A1, CAT_1:23; :: according to CAT_3:def 16 :: thesis: for d being Object of C
for f, g being Morphism of C st f in Hom d,(cod p1) & g in Hom d,(cod p2) holds
ex h being Morphism of C st
( h in Hom d,c & ( for k being Morphism of C st k in Hom d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) )
let d be Object of C; :: thesis: for f, g being Morphism of C st f in Hom d,(cod p1) & g in Hom d,(cod p2) holds
ex h being Morphism of C st
( h in Hom d,c & ( for k being Morphism of C st k in Hom d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) )
let f, g be Morphism of C; :: thesis: ( f in Hom d,(cod p1) & g in Hom d,(cod p2) implies ex h being Morphism of C st
( h in Hom d,c & ( for k being Morphism of C st k in Hom d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) )
assume that
A9:
f in Hom d,(cod p1)
and
A10:
g in Hom d,(cod p2)
; :: thesis: ex h being Morphism of C st
( h in Hom d,c & ( for k being Morphism of C st k in Hom d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) )
A11:
( cod p1 = a & cod p2 = b )
by A1, CAT_1:23;
then
( f is Morphism of d,a & g is Morphism of d,b & Hom d,a <> {} & Hom d,b <> {} )
by A9, A10, CAT_1:def 7;
then consider h being Morphism of d,c such that
A12:
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k )
by A8;
reconsider h' = h as Morphism of C ;
take
h'
; :: thesis: ( h' in Hom d,c & ( for k being Morphism of C st k in Hom d,c holds
( ( p1 * k = f & p2 * k = g ) iff h' = k ) ) )
A13:
Hom d,c <> {}
by A8, A9, A10, A11;
hence
h' in Hom d,c
by CAT_1:def 7; :: thesis: for k being Morphism of C st k in Hom d,c holds
( ( p1 * k = f & p2 * k = g ) iff h' = k )
let k be Morphism of C; :: thesis: ( k in Hom d,c implies ( ( p1 * k = f & p2 * k = g ) iff h' = k ) )
assume
k in Hom d,c
; :: thesis: ( ( p1 * k = f & p2 * k = g ) iff h' = k )
then reconsider k' = k as Morphism of d,c by CAT_1:def 7;
( p1 * k = p1 * k' & p2 * k = p2 * k' )
by A1, A13, CAT_1:def 13;
hence
( ( p1 * k = f & p2 * k = g ) iff h' = k )
by A12; :: thesis: verum