let V be non empty set ; :: thesis: for C being Category st Hom C c= V holds
hom?? C is Functor of [:(C opp ),C:], Ens V
let C be Category; :: thesis: ( Hom C c= V implies hom?? C is Functor of [:(C opp ),C:], Ens V )
assume A1:
Hom C c= V
; :: thesis: hom?? C is Functor of [:(C opp ),C:], Ens V
C opp = CatStr(# the carrier of C,the carrier' of C,the Target of C,the Source of C,(~ the Comp of C),the Id of C #)
by OPPCAT_1:def 1;
then
( the carrier' of [:(C opp ),C:] = the carrier' of [:C,C:] & Maps (Hom C) c= Maps V & the carrier' of (Ens V) = Maps V & Maps (Hom C) <> {} )
by A1, Th7;
then reconsider T = hom?? C as Function of the carrier' of [:(C opp ),C:],the carrier' of (Ens V) by FUNCT_2:9;
A2:
for f being Morphism of (C opp ) holds opp f = f
A3:
for a being Object of (C opp ) holds opp a = a
now thus
for
c being
Object of
[:(C opp ),C:] ex
d being
Object of
(Ens V) st
T . (id c) = id d
:: thesis: ( ( for fg being Morphism of [:(C opp ),C:] holds
( T . (id (dom fg)) = id (dom (T . fg)) & T . (id (cod fg)) = id (cod (T . fg)) ) ) & ( for ff, gg being Morphism of [:(C opp ),C:] st dom gg = cod ff holds
T . (gg * ff) = (T . gg) * (T . ff) ) )thus
for
fg being
Morphism of
[:(C opp ),C:] holds
(
T . (id (dom fg)) = id (dom (T . fg)) &
T . (id (cod fg)) = id (cod (T . fg)) )
:: thesis: for ff, gg being Morphism of [:(C opp ),C:] st dom gg = cod ff holds
T . (gg * ff) = (T . gg) * (T . ff)proof
let fg be
Morphism of
[:(C opp ),C:];
:: thesis: ( T . (id (dom fg)) = id (dom (T . fg)) & T . (id (cod fg)) = id (cod (T . fg)) )
consider f being
Morphism of
(C opp ),
g being
Morphism of
C such that A5:
fg = [f,g]
by DOMAIN_1:9;
(
Hom (cod (opp f)),
(dom g) in Hom C &
Hom (dom (opp f)),
(cod g) in Hom C )
;
then reconsider A =
Hom (cod (opp f)),
(dom g),
B =
Hom (dom (opp f)),
(cod g) as
Element of
V by A1;
set h =
T . fg;
opp f = f
by A2;
then A6:
[[(Hom (cod (opp f)),(dom g)),(Hom (dom (opp f)),(cod g))],(hom (opp f),g)] =
@ (T . fg)
by A5, Def25
.=
[[(dom (@ (T . fg))),(cod (@ (T . fg)))],((@ (T . fg)) `2 )]
by Th8
.=
[[(dom (T . fg)),(cod (@ (T . fg)))],((@ (T . fg)) `2 )]
by Def10
.=
[[(dom (T . fg)),(cod (T . fg))],((@ (T . fg)) `2 )]
by Def11
;
thus T . (id (dom fg)) =
T . (id [(dom f),(dom g)])
by A5, CAT_2:38
.=
T . [(id (dom f)),(id (dom g))]
by CAT_2:41
.=
T . [(opp (id (dom f))),(id (dom g))]
by A2
.=
T . [(id (opp (dom f))),(id (dom g))]
by OPPCAT_1:22
.=
T . [(id (cod (opp f))),(id (dom g))]
by OPPCAT_1:12
.=
id (@ A)
by A1, Lm10
.=
id (dom (T . fg))
by A6, Lm1
;
:: thesis: T . (id (cod fg)) = id (cod (T . fg))
thus T . (id (cod fg)) =
T . (id [(cod f),(cod g)])
by A5, CAT_2:38
.=
T . [(id (cod f)),(id (cod g))]
by CAT_2:41
.=
T . [(opp (id (cod f))),(id (cod g))]
by A2
.=
T . [(id (opp (cod f))),(id (cod g))]
by OPPCAT_1:22
.=
T . [(id (dom (opp f))),(id (cod g))]
by OPPCAT_1:12
.=
id (@ B)
by A1, Lm10
.=
id (cod (T . fg))
by A6, Lm1
;
:: thesis: verum
end; let ff,
gg be
Morphism of
[:(C opp ),C:];
:: thesis: ( dom gg = cod ff implies T . (gg * ff) = (T . gg) * (T . ff) )assume A7:
dom gg = cod ff
;
:: thesis: T . (gg * ff) = (T . gg) * (T . ff)consider f being
Morphism of
(C opp ),
f' being
Morphism of
C such that A8:
ff = [f,f']
by DOMAIN_1:9;
consider g being
Morphism of
(C opp ),
g' being
Morphism of
C such that A9:
gg = [g,g']
by DOMAIN_1:9;
opp f = f
by A2;
then [[(Hom (cod (opp f)),(dom f')),(Hom (dom (opp f)),(cod f'))],(hom (opp f),f')] =
@ (T . ff)
by A8, Def25
.=
[[(dom (@ (T . ff))),(cod (@ (T . ff)))],((@ (T . ff)) `2 )]
by Th8
.=
[[(dom (T . ff)),(cod (@ (T . ff)))],((@ (T . ff)) `2 )]
by Def10
.=
[[(dom (T . ff)),(cod (T . ff))],((@ (T . ff)) `2 )]
by Def11
;
then A10:
(
(@ (T . ff)) `2 = hom (opp f),
f' &
dom (T . ff) = Hom (cod (opp f)),
(dom f') &
cod (T . ff) = Hom (dom (opp f)),
(cod f') )
by Lm1, ZFMISC_1:33;
then A11:
(
dom (@ (T . ff)) = Hom (cod (opp f)),
(dom f') &
cod (@ (T . ff)) = Hom (dom (opp f)),
(cod f') )
by Def10, Def11;
opp g = g
by A2;
then [[(Hom (cod (opp g)),(dom g')),(Hom (dom (opp g)),(cod g'))],(hom (opp g),g')] =
@ (T . gg)
by A9, Def25
.=
[[(dom (@ (T . gg))),(cod (@ (T . gg)))],((@ (T . gg)) `2 )]
by Th8
.=
[[(dom (T . gg)),(cod (@ (T . gg)))],((@ (T . gg)) `2 )]
by Def10
.=
[[(dom (T . gg)),(cod (T . gg))],((@ (T . gg)) `2 )]
by Def11
;
then A12:
(
(@ (T . gg)) `2 = hom (opp g),
g' &
dom (T . gg) = Hom (cod (opp g)),
(dom g') &
cod (T . gg) = Hom (dom (opp g)),
(cod g') )
by Lm1, ZFMISC_1:33;
then A13:
(
dom (@ (T . gg)) = Hom (cod (opp g)),
(dom g') &
cod (@ (T . gg)) = Hom (dom (opp g)),
(cod g') )
by Def10, Def11;
A14:
(
dom gg = [(dom g),(dom g')] &
cod ff = [(cod f),(cod f')] )
by A8, A9, CAT_2:38;
then A15:
dom g = cod f
by A7, ZFMISC_1:33;
then A16:
(
cod (opp g) = dom (opp f) &
dom g' = cod f' )
by A7, ZFMISC_1:33;
then A17:
(
dom (g' * f') = dom f' &
cod (g' * f') = cod g' &
dom ((opp f) * (opp g)) = dom (opp g) &
cod ((opp f) * (opp g)) = cod (opp f) )
by CAT_1:42;
thus T . (gg * ff) =
T . [(g * f),(g' * f')]
by A7, A8, A9, CAT_2:40
.=
T . [(opp (g * f)),(g' * f')]
by A2
.=
T . [((opp f) * (opp g)),(g' * f')]
by A15, OPPCAT_1:19
.=
[[(Hom (cod ((opp f) * (opp g))),(dom (g' * f'))),(Hom (dom ((opp f) * (opp g))),(cod (g' * f')))],(hom ((opp f) * (opp g)),(g' * f'))]
by Def25
.=
[[(Hom (cod (opp f)),(dom f')),(Hom (dom (opp g)),(cod g'))],((hom (opp g),g') * (hom (opp f),f'))]
by A16, A17, Th56
.=
(@ (T . gg)) * (@ (T . ff))
by A10, A11, A12, A13, A16, Def7
.=
(T . gg) * (T . ff)
by A10, A12, A16, Th28
;
:: thesis: verum end;
hence
hom?? C is Functor of [:(C opp ),C:], Ens V
by CAT_1:96; :: thesis: verum