let C, A, B be non empty transitive with_units AltCatStr ; :: thesis: for F1, F2 being covariant Functor of A,B
for G1, G2 being covariant Functor of B,C
for p being transformation of F1,F2
for q being natural_transformation of G1,G2 st F1 is_transformable_to F2 & G1 is_naturally_transformable_to G2 holds
q (#) p = (G2 * p) `*` (q * F1)
let F1, F2 be covariant Functor of A,B; :: thesis: for G1, G2 being covariant Functor of B,C
for p being transformation of F1,F2
for q being natural_transformation of G1,G2 st F1 is_transformable_to F2 & G1 is_naturally_transformable_to G2 holds
q (#) p = (G2 * p) `*` (q * F1)
let G1, G2 be covariant Functor of B,C; :: thesis: for p being transformation of F1,F2
for q being natural_transformation of G1,G2 st F1 is_transformable_to F2 & G1 is_naturally_transformable_to G2 holds
q (#) p = (G2 * p) `*` (q * F1)
let p be transformation of F1,F2; :: thesis: for q being natural_transformation of G1,G2 st F1 is_transformable_to F2 & G1 is_naturally_transformable_to G2 holds
q (#) p = (G2 * p) `*` (q * F1)
let q be natural_transformation of G1,G2; :: thesis: ( F1 is_transformable_to F2 & G1 is_naturally_transformable_to G2 implies q (#) p = (G2 * p) `*` (q * F1) )
assume A1:
( F1 is_transformable_to F2 & G1 is_naturally_transformable_to G2 )
; :: thesis: q (#) p = (G2 * p) `*` (q * F1)
then A2:
G1 is_transformable_to G2
by FUNCTOR2:def 6;
then A3:
G1 * F1 is_transformable_to G2 * F2
by A1, Th10;
A4:
( G1 * F2 is_transformable_to G2 * F2 & G1 * F1 is_transformable_to G1 * F2 )
by A1, A2, Th10;
A5:
( G1 * F1 is_transformable_to G2 * F1 & G2 * F1 is_transformable_to G2 * F2 )
by A1, A2, Th10;
now let a be
object of
A;
:: thesis: ((q * F2) `*` (G1 * p)) ! a = ((G2 * p) `*` (q * F1)) ! aA6:
(
G1 . (F1 . a) = (G1 * F1) . a &
G1 . (F2 . a) = (G1 * F2) . a &
G2 . (F1 . a) = (G2 * F1) . a &
G2 . (F2 . a) = (G2 * F2) . a )
by FUNCTOR0:34;
then reconsider sF2a =
q ! (F2 . a) as
Morphism of
((G1 * F2) . a),
((G2 * F2) . a) ;
reconsider G2ta =
(G2 * p) ! a as
Morphism of
(G2 . (F1 . a)),
(G2 . (F2 . a)) by A6;
A7:
<^(F1 . a),(F2 . a)^> <> {}
by A1, FUNCTOR2:def 1;
thus ((q * F2) `*` (G1 * p)) ! a =
((q * F2) ! a) * ((G1 * p) ! a)
by A4, FUNCTOR2:def 5
.=
sF2a * ((G1 * p) ! a)
by A2, Th12
.=
(q ! (F2 . a)) * (G1 . (p ! a))
by A1, A6, Th11
.=
(G2 . (p ! a)) * (q ! (F1 . a))
by A1, A7, FUNCTOR2:def 7
.=
G2ta * (q ! (F1 . a))
by A1, Th11
.=
((G2 * p) ! a) * ((q * F1) ! a)
by A2, A6, Th12
.=
((G2 * p) `*` (q * F1)) ! a
by A5, FUNCTOR2:def 5
;
:: thesis: verum end;
hence
q (#) p = (G2 * p) `*` (q * F1)
by A3, FUNCTOR2:5; :: thesis: verum