let C be Category; for a being Object of C
for F being Function of {}, the carrier' of C holds
( a is_a_product_wrt F iff a is terminal )
let a be Object of C; for F being Function of {}, the carrier' of C holds
( a is_a_product_wrt F iff a is terminal )
let F be Function of {}, the carrier' of C; ( a is_a_product_wrt F iff a is terminal )
thus
( a is_a_product_wrt F implies a is terminal )
( a is terminal implies a is_a_product_wrt F )proof
assume A1:
a is_a_product_wrt F
;
a is terminal
let b be
Object of
C;
CAT_1:def 18 ( not Hom (b,a) = {} & ex b1 being Morphism of b,a st
for b2 being Morphism of b,a holds b1 = b2 )
set F9 = the
Projections_family of
b,
{} ;
consider h being
Morphism of
C such that A2:
h in Hom (
b,
a)
and A3:
for
k being
Morphism of
C st
k in Hom (
b,
a) holds
( ( for
x being
set st
x in {} holds
(F /. x) (*) k = the
Projections_family of
b,
{} /. x ) iff
h = k )
by A1;
thus
Hom (
b,
a)
<> {}
by A2;
ex b1 being Morphism of b,a st
for b2 being Morphism of b,a holds b1 = b2
reconsider f =
h as
Morphism of
b,
a by A2, CAT_1:def 5;
take
f
;
for b1 being Morphism of b,a holds f = b1
let g be
Morphism of
b,
a;
f = g
A4:
for
x being
set st
x in {} holds
(F /. x) (*) g = the
Projections_family of
b,
{} /. x
;
g in Hom (
b,
a)
by A2, CAT_1:def 5;
hence
f = g
by A3, A4;
verum
end;
assume A5:
a is terminal
; a is_a_product_wrt F
thus
F is Projections_family of a, {}
by Th42; CAT_3:def 14 for b being Object of C
for F9 being Projections_family of b, {} st cods F = cods F9 holds
ex h being Morphism of C st
( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k ) ) )
let b be Object of C; for F9 being Projections_family of b, {} st cods F = cods F9 holds
ex h being Morphism of C st
( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k ) ) )
consider h being Morphism of b,a such that
A6:
for g being Morphism of b,a holds h = g
by A5;
let F9 be Projections_family of b, {} ; ( cods F = cods F9 implies ex h being Morphism of C st
( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k ) ) ) )
assume
cods F = cods F9
; ex h being Morphism of C st
( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k ) ) )
take
h
; ( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k ) ) )
Hom (b,a) <> {}
by A5;
hence
h in Hom (b,a)
by CAT_1:def 5; for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k )
let k be Morphism of C; ( k in Hom (b,a) implies ( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k ) )
assume
k in Hom (b,a)
; ( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k )
then
k is Morphism of b,a
by CAT_1:def 5;
hence
( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k )
by A6; verum