defpred S1[ set , set ] means for F1, F2 being Functor of A,[:B,C:]
for t being natural_transformation of F1,F2 st $1 = [[F1,F2],t] holds
$2 = [[[(Pr1 F1),(Pr1 F2)],(Pr1 t)],[[(Pr2 F1),(Pr2 F2)],(Pr2 t)]];
A1:
now for f being Morphism of (Functors (A,[:B,C:])) ex g being Element of the carrier' of [:(Functors (A,B)),(Functors (A,C)):] st S1[f,g]let f be
Morphism of
(Functors (A,[:B,C:]));
ex g being Element of the carrier' of [:(Functors (A,B)),(Functors (A,C)):] st S1[f,g]consider F1,
F2 being
Functor of
A,
[:B,C:],
s being
natural_transformation of
F1,
F2 such that A2:
F1 is_naturally_transformable_to F2
and
dom f = F1
and
cod f = F2
and A3:
f = [[F1,F2],s]
by Th6;
( the
carrier' of
(Functors (A,C)) = NatTrans (
A,
C) &
Pr2 F1 is_naturally_transformable_to Pr2 F2 )
by A2, ISOCAT_1:22, NATTRA_1:def 17;
then reconsider PPr2 =
[[(Pr2 F1),(Pr2 F2)],(Pr2 s)] as
Morphism of
(Functors (A,C)) by NATTRA_1:32;
( the
carrier' of
(Functors (A,B)) = NatTrans (
A,
B) &
Pr1 F1 is_naturally_transformable_to Pr1 F2 )
by A2, ISOCAT_1:22, NATTRA_1:def 17;
then reconsider PPr1 =
[[(Pr1 F1),(Pr1 F2)],(Pr1 s)] as
Morphism of
(Functors (A,B)) by NATTRA_1:32;
take g =
[PPr1,PPr2];
S1[f,g]thus
S1[
f,
g]
verumproof
let G1,
G2 be
Functor of
A,
[:B,C:];
for t being natural_transformation of G1,G2 st f = [[G1,G2],t] holds
g = [[[(Pr1 G1),(Pr1 G2)],(Pr1 t)],[[(Pr2 G1),(Pr2 G2)],(Pr2 t)]]let t be
natural_transformation of
G1,
G2;
( f = [[G1,G2],t] implies g = [[[(Pr1 G1),(Pr1 G2)],(Pr1 t)],[[(Pr2 G1),(Pr2 G2)],(Pr2 t)]] )
assume A4:
f = [[G1,G2],t]
;
g = [[[(Pr1 G1),(Pr1 G2)],(Pr1 t)],[[(Pr2 G1),(Pr2 G2)],(Pr2 t)]]
then
[G1,G2] = [F1,F2]
by A3, XTUPLE_0:1;
then A5:
(
G1 = F1 &
G2 = F2 )
by XTUPLE_0:1;
t = s
by A3, A4, XTUPLE_0:1;
hence
g = [[[(Pr1 G1),(Pr1 G2)],(Pr1 t)],[[(Pr2 G1),(Pr2 G2)],(Pr2 t)]]
by A5;
verum
end; end;
consider IT being Function of the carrier' of (Functors (A,[:B,C:])), the carrier' of [:(Functors (A,B)),(Functors (A,C)):] such that
A6:
for f being Morphism of (Functors (A,[:B,C:])) holds S1[f,IT . f]
from FUNCT_2:sch 3(A1);
IT is Functor of Functors (A,[:B,C:]),[:(Functors (A,B)),(Functors (A,C)):]
proof
thus
for
c being
Object of
(Functors (A,[:B,C:])) ex
d being
Object of
[:(Functors (A,B)),(Functors (A,C)):] st
IT . (id c) = id d
ISOCAT_1:def 1 ( ( for b1 being Element of the carrier' of (Functors (A,[:B,C:])) holds
( IT . (id (dom b1)) = id (dom (IT . b1)) & IT . (id (cod b1)) = id (cod (IT . b1)) ) ) & ( for b1, b2 being Element of the carrier' of (Functors (A,[:B,C:])) holds
( not dom b2 = cod b1 or IT . (b2 (*) b1) = (IT . b2) (*) (IT . b1) ) ) )proof
let c be
Object of
(Functors (A,[:B,C:]));
ex d being Object of [:(Functors (A,B)),(Functors (A,C)):] st IT . (id c) = id d
reconsider F =
c as
Functor of
A,
[:B,C:] by Th5;
reconsider d2 =
Pr2 F as
Object of
(Functors (A,C)) by Th5;
reconsider d1 =
Pr1 F as
Object of
(Functors (A,B)) by Th5;
take
[d1,d2]
;
IT . (id c) = id [d1,d2]
Pr1 (id F) = id (Pr1 F)
by ISOCAT_1:33;
then A7:
id d1 = [[(Pr1 F),(Pr1 F)],(Pr1 (id F))]
by NATTRA_1:def 17;
Pr2 (id F) = id (Pr2 F)
by ISOCAT_1:33;
then A8:
id d2 = [[(Pr2 F),(Pr2 F)],(Pr2 (id F))]
by NATTRA_1:def 17;
id c = [[F,F],(id F)]
by NATTRA_1:def 17;
hence IT . (id c) =
[(id d1),(id d2)]
by A6, A7, A8
.=
id [d1,d2]
by CAT_2:31
;
verum
end;
A9:
the
carrier' of
(Functors (A,C)) = NatTrans (
A,
C)
by NATTRA_1:def 17;
A10:
the
carrier' of
(Functors (A,B)) = NatTrans (
A,
B)
by NATTRA_1:def 17;
thus
for
f being
Morphism of
(Functors (A,[:B,C:])) holds
(
IT . (id (dom f)) = id (dom (IT . f)) &
IT . (id (cod f)) = id (cod (IT . f)) )
for b1, b2 being Element of the carrier' of (Functors (A,[:B,C:])) holds
( not dom b2 = cod b1 or IT . (b2 (*) b1) = (IT . b2) (*) (IT . b1) )proof
let f be
Morphism of
(Functors (A,[:B,C:]));
( IT . (id (dom f)) = id (dom (IT . f)) & IT . (id (cod f)) = id (cod (IT . f)) )
consider F1,
F2 being
Functor of
A,
[:B,C:],
s being
natural_transformation of
F1,
F2 such that A11:
F1 is_naturally_transformable_to F2
and A12:
dom f = F1
and A13:
cod f = F2
and A14:
f = [[F1,F2],s]
by Th6;
Pr1 F1 is_naturally_transformable_to Pr1 F2
by A11, ISOCAT_1:22;
then reconsider f1 =
[[(Pr1 F1),(Pr1 F2)],(Pr1 s)] as
Morphism of
(Functors (A,B)) by A10, NATTRA_1:32;
(
dom f1 = Pr1 F1 &
Pr1 (id F1) = id (Pr1 F1) )
by ISOCAT_1:33, NATTRA_1:33;
then A15:
id (dom f1) = [[(Pr1 F1),(Pr1 F1)],(Pr1 (id F1))]
by NATTRA_1:def 17;
Pr2 F1 is_naturally_transformable_to Pr2 F2
by A11, ISOCAT_1:22;
then reconsider f2 =
[[(Pr2 F1),(Pr2 F2)],(Pr2 s)] as
Morphism of
(Functors (A,C)) by A9, NATTRA_1:32;
(
dom f2 = Pr2 F1 &
Pr2 (id F1) = id (Pr2 F1) )
by ISOCAT_1:33, NATTRA_1:33;
then A16:
id (dom f2) = [[(Pr2 F1),(Pr2 F1)],(Pr2 (id F1))]
by NATTRA_1:def 17;
id (dom f) = [[F1,F1],(id F1)]
by A12, NATTRA_1:def 17;
hence IT . (id (dom f)) =
[(id (dom f1)),(id (dom f2))]
by A6, A15, A16
.=
id [(dom f1),(dom f2)]
by CAT_2:31
.=
id (dom [f1,f2])
by CAT_2:28
.=
id (dom (IT . f))
by A6, A14
;
IT . (id (cod f)) = id (cod (IT . f))
(
cod f1 = Pr1 F2 &
Pr1 (id F2) = id (Pr1 F2) )
by ISOCAT_1:33, NATTRA_1:33;
then A17:
id (cod f1) = [[(Pr1 F2),(Pr1 F2)],(Pr1 (id F2))]
by NATTRA_1:def 17;
(
cod f2 = Pr2 F2 &
Pr2 (id F2) = id (Pr2 F2) )
by ISOCAT_1:33, NATTRA_1:33;
then A18:
id (cod f2) = [[(Pr2 F2),(Pr2 F2)],(Pr2 (id F2))]
by NATTRA_1:def 17;
id (cod f) = [[F2,F2],(id F2)]
by A13, NATTRA_1:def 17;
hence IT . (id (cod f)) =
[(id (cod f1)),(id (cod f2))]
by A6, A17, A18
.=
id [(cod f1),(cod f2)]
by CAT_2:31
.=
id (cod [f1,f2])
by CAT_2:28
.=
id (cod (IT . f))
by A6, A14
;
verum
end;
let f,
g be
Morphism of
(Functors (A,[:B,C:]));
( not dom g = cod f or IT . (g (*) f) = (IT . g) (*) (IT . f) )
assume A19:
dom g = cod f
;
IT . (g (*) f) = (IT . g) (*) (IT . f)
consider F1,
F2 being
Functor of
A,
[:B,C:],
s being
natural_transformation of
F1,
F2 such that A20:
F1 is_naturally_transformable_to F2
and
dom f = F1
and A21:
cod f = F2
and A22:
f = [[F1,F2],s]
by Th6;
consider G1,
G2 being
Functor of
A,
[:B,C:],
t being
natural_transformation of
G1,
G2 such that A23:
G1 is_naturally_transformable_to G2
and A24:
dom g = G1
and
cod g = G2
and A25:
g = [[G1,G2],t]
by Th6;
reconsider t =
t as
natural_transformation of
F2,
G2 by A19, A21, A24;
A26:
g (*) f = [[F1,G2],(t `*` s)]
by A19, A21, A22, A24, A25, NATTRA_1:36;
A27:
Pr2 F1 is_naturally_transformable_to Pr2 F2
by A20, ISOCAT_1:22;
Pr2 F2 is_naturally_transformable_to Pr2 G2
by A19, A21, A23, A24, ISOCAT_1:22;
then reconsider g2 =
[[(Pr2 F2),(Pr2 G2)],(Pr2 t)],
f2 =
[[(Pr2 F1),(Pr2 F2)],(Pr2 s)] as
Morphism of
(Functors (A,C)) by A9, A27, NATTRA_1:32;
A28:
g2 (*) f2 =
[[(Pr2 F1),(Pr2 G2)],((Pr2 t) `*` (Pr2 s))]
by NATTRA_1:36
.=
[[(Pr2 F1),(Pr2 G2)],(Pr2 (t `*` s))]
by A19, A20, A21, A23, A24, ISOCAT_1:27
;
A29:
dom g2 =
Pr2 F2
by NATTRA_1:33
.=
cod f2
by NATTRA_1:33
;
A30:
Pr1 F1 is_naturally_transformable_to Pr1 F2
by A20, ISOCAT_1:22;
Pr1 F2 is_naturally_transformable_to Pr1 G2
by A19, A21, A23, A24, ISOCAT_1:22;
then reconsider g1 =
[[(Pr1 F2),(Pr1 G2)],(Pr1 t)],
f1 =
[[(Pr1 F1),(Pr1 F2)],(Pr1 s)] as
Morphism of
(Functors (A,B)) by A10, A30, NATTRA_1:32;
A31:
dom g1 =
Pr1 F2
by NATTRA_1:33
.=
cod f1
by NATTRA_1:33
;
A32:
IT . f = [[[(Pr1 F1),(Pr1 F2)],(Pr1 s)],[[(Pr2 F1),(Pr2 F2)],(Pr2 s)]]
by A6, A22;
g1 (*) f1 =
[[(Pr1 F1),(Pr1 G2)],((Pr1 t) `*` (Pr1 s))]
by NATTRA_1:36
.=
[[(Pr1 F1),(Pr1 G2)],(Pr1 (t `*` s))]
by A19, A20, A21, A23, A24, ISOCAT_1:27
;
hence IT . (g (*) f) =
[(g1 (*) f1),(g2 (*) f2)]
by A6, A28, A26
.=
[g1,g2] (*) [f1,f2]
by A31, A29, CAT_2:29
.=
(IT . g) (*) (IT . f)
by A6, A19, A21, A24, A25, A32
;
verum
end;
then reconsider IT = IT as Functor of Functors (A,[:B,C:]),[:(Functors (A,B)),(Functors (A,C)):] ;
take
IT
; for F1, F2 being Functor of A,[:B,C:] st F1 is_naturally_transformable_to F2 holds
for t being natural_transformation of F1,F2 holds IT . [[F1,F2],t] = [[[(Pr1 F1),(Pr1 F2)],(Pr1 t)],[[(Pr2 F1),(Pr2 F2)],(Pr2 t)]]
let F1, F2 be Functor of A,[:B,C:]; ( F1 is_naturally_transformable_to F2 implies for t being natural_transformation of F1,F2 holds IT . [[F1,F2],t] = [[[(Pr1 F1),(Pr1 F2)],(Pr1 t)],[[(Pr2 F1),(Pr2 F2)],(Pr2 t)]] )
assume A33:
F1 is_naturally_transformable_to F2
; for t being natural_transformation of F1,F2 holds IT . [[F1,F2],t] = [[[(Pr1 F1),(Pr1 F2)],(Pr1 t)],[[(Pr2 F1),(Pr2 F2)],(Pr2 t)]]
let t be natural_transformation of F1,F2; IT . [[F1,F2],t] = [[[(Pr1 F1),(Pr1 F2)],(Pr1 t)],[[(Pr2 F1),(Pr2 F2)],(Pr2 t)]]
set f = [[F1,F2],t];
[[F1,F2],t] in NatTrans (A,[:B,C:])
by A33, NATTRA_1:32;
then reconsider f = [[F1,F2],t] as Morphism of (Functors (A,[:B,C:])) by NATTRA_1:def 17;
thus IT . [[F1,F2],t] =
IT . f
.=
[[[(Pr1 F1),(Pr1 F2)],(Pr1 t)],[[(Pr2 F1),(Pr2 F2)],(Pr2 t)]]
by A6
; verum