:: FUNCTOR2 semantic presentation
theorem Th1: :: FUNCTOR2:1
canceled;
theorem Th2: :: FUNCTOR2:2
:: deftheorem Def1 defines is_transformable_to FUNCTOR2:def 1 :
theorem Th3: :: FUNCTOR2:3
canceled;
theorem Th4: :: FUNCTOR2:4
:: deftheorem Def2 defines transformation FUNCTOR2:def 2 :
:: deftheorem Def3 defines idt FUNCTOR2:def 3 :
:: deftheorem Def4 defines ! FUNCTOR2:def 4 :
definition
let c1,
c2 be non
empty transitive with_units AltCatStr ;
let c3,
c4,
c5 be
covariant Functor of
c1,
c2;
assume that E7:
c3 is_transformable_to c4
and E8:
c4 is_transformable_to c5
;
let c6 be
transformation of
c3,
c4;
let c7 be
transformation of
c4,
c5;
func c7 `*` c6 -> transformation of
a3,
a5 means :
Def5:
:: FUNCTOR2:def 5
for
b1 being
object of
a1 holds
a8 ! b1 = (a7 ! b1) * (a6 ! b1);
existence
ex b1 being transformation of c3,c5 st
for b2 being object of c1 holds b1 ! b2 = (c7 ! b2) * (c6 ! b2)
uniqueness
for b1, b2 being transformation of c3,c5 st ( for b3 being object of c1 holds b1 ! b3 = (c7 ! b3) * (c6 ! b3) ) & ( for b3 being object of c1 holds b2 ! b3 = (c7 ! b3) * (c6 ! b3) ) holds
b1 = b2
end;
:: deftheorem Def5 defines `*` FUNCTOR2:def 5 :
theorem Th5: :: FUNCTOR2:5
theorem Th6: :: FUNCTOR2:6
theorem Th7: :: FUNCTOR2:7
theorem Th8: :: FUNCTOR2:8
:: deftheorem Def6 defines is_naturally_transformable_to FUNCTOR2:def 6 :
Lemma13:
for b1, b2 being non empty transitive with_units AltCatStr
for b3, b4 being covariant Functor of b1,b2
for b5, b6 being object of b1 st <^b5,b6^> <> {} holds
for b7 being Morphism of b5,b6 holds ((idt b3) ! b6) * (b3 . b7) = (b3 . b7) * ((idt b3) ! b5)
theorem Th9: :: FUNCTOR2:9
Lemma15:
for b1, b2 being category
for b3, b4, b5 being covariant Functor of b1,b2 st b3 is_transformable_to b4 & b4 is_transformable_to b5 holds
for b6 being transformation of b3,b4 st ( for b7, b8 being object of b1 st <^b7,b8^> <> {} holds
for b9 being Morphism of b7,b8 holds (b6 ! b8) * (b3 . b9) = (b4 . b9) * (b6 ! b7) ) holds
for b7 being transformation of b4,b5 st ( for b8, b9 being object of b1 st <^b8,b9^> <> {} holds
for b10 being Morphism of b8,b9 holds (b7 ! b9) * (b4 . b10) = (b5 . b10) * (b7 ! b8) ) holds
for b8, b9 being object of b1 st <^b8,b9^> <> {} holds
for b10 being Morphism of b8,b9 holds ((b7 `*` b6) ! b9) * (b3 . b10) = (b5 . b10) * ((b7 `*` b6) ! b8)
theorem Th10: :: FUNCTOR2:10
definition
let c1,
c2 be non
empty transitive with_units AltCatStr ;
let c3,
c4 be
covariant Functor of
c1,
c2;
assume E17:
c3 is_naturally_transformable_to c4
;
mode natural_transformation of
c3,
c4 -> transformation of
a3,
a4 means :
Def7:
:: FUNCTOR2:def 7
for
b1,
b2 being
object of
a1 st
<^b1,b2^> <> {} holds
for
b3 being
Morphism of
b1,
b2 holds
(a5 ! b2) * (a3 . b3) = (a4 . b3) * (a5 ! b1);
existence
ex b1 being transformation of c3,c4 st
for b2, b3 being object of c1 st <^b2,b3^> <> {} holds
for b4 being Morphism of b2,b3 holds (b1 ! b3) * (c3 . b4) = (c4 . b4) * (b1 ! b2)
by E17, Def6;
end;
:: deftheorem Def7 defines natural_transformation FUNCTOR2:def 7 :
definition
let c1,
c2 be
category;
let c3,
c4,
c5 be
covariant Functor of
c1,
c2;
assume that E18:
c3 is_naturally_transformable_to c4
and E19:
c4 is_naturally_transformable_to c5
;
let c6 be
natural_transformation of
c3,
c4;
let c7 be
natural_transformation of
c4,
c5;
func c7 `*` c6 -> natural_transformation of
a3,
a5 means :
Def8:
:: FUNCTOR2:def 8
a8 = a7 `*` a6;
existence
ex b1 being natural_transformation of c3,c5 st b1 = c7 `*` c6
correctness
uniqueness
for b1, b2 being natural_transformation of c3,c5 st b1 = c7 `*` c6 & b2 = c7 `*` c6 holds
b1 = b2;
;
end;
:: deftheorem Def8 defines `*` FUNCTOR2:def 8 :
theorem Th11: :: FUNCTOR2:11
theorem Th12: :: FUNCTOR2:12
theorem Th13: :: FUNCTOR2:13
:: deftheorem Def9 defines Funcs FUNCTOR2:def 9 :
:: deftheorem Def10 defines Funct FUNCTOR2:def 10 :
definition
let c1,
c2 be
category;
func Functors c1,
c2 -> non
empty transitive strict AltCatStr means :: FUNCTOR2:def 11
( the
carrier of
a3 = Funct a1,
a2 & ( for
b1,
b2 being
strict covariant Functor of
a1,
a2 for
b3 being
set holds
(
b3 in the
Arrows of
a3 . b1,
b2 iff (
b1 is_naturally_transformable_to b2 &
b3 is
natural_transformation of
b1,
b2 ) ) ) & ( for
b1,
b2,
b3 being
strict covariant Functor of
a1,
a2 st
b1 is_naturally_transformable_to b2 &
b2 is_naturally_transformable_to b3 holds
for
b4 being
natural_transformation of
b1,
b2 for
b5 being
natural_transformation of
b2,
b3 ex
b6 being
Function st
(
b6 = the
Comp of
a3 . b1,
b2,
b3 &
b6 . b5,
b4 = b5 `*` b4 ) ) );
existence
ex b1 being non empty transitive strict AltCatStr st
( the carrier of b1 = Funct c1,c2 & ( for b2, b3 being strict covariant Functor of c1,c2
for b4 being set holds
( b4 in the Arrows of b1 . b2,b3 iff ( b2 is_naturally_transformable_to b3 & b4 is natural_transformation of b2,b3 ) ) ) & ( for b2, b3, b4 being strict covariant Functor of c1,c2 st b2 is_naturally_transformable_to b3 & b3 is_naturally_transformable_to b4 holds
for b5 being natural_transformation of b2,b3
for b6 being natural_transformation of b3,b4 ex b7 being Function st
( b7 = the Comp of b1 . b2,b3,b4 & b7 . b6,b5 = b6 `*` b5 ) ) )
uniqueness
for b1, b2 being non empty transitive strict AltCatStr st the carrier of b1 = Funct c1,c2 & ( for b3, b4 being strict covariant Functor of c1,c2
for b5 being set holds
( b5 in the Arrows of b1 . b3,b4 iff ( b3 is_naturally_transformable_to b4 & b5 is natural_transformation of b3,b4 ) ) ) & ( for b3, b4, b5 being strict covariant Functor of c1,c2 st b3 is_naturally_transformable_to b4 & b4 is_naturally_transformable_to b5 holds
for b6 being natural_transformation of b3,b4
for b7 being natural_transformation of b4,b5 ex b8 being Function st
( b8 = the Comp of b1 . b3,b4,b5 & b8 . b7,b6 = b7 `*` b6 ) ) & the carrier of b2 = Funct c1,c2 & ( for b3, b4 being strict covariant Functor of c1,c2
for b5 being set holds
( b5 in the Arrows of b2 . b3,b4 iff ( b3 is_naturally_transformable_to b4 & b5 is natural_transformation of b3,b4 ) ) ) & ( for b3, b4, b5 being strict covariant Functor of c1,c2 st b3 is_naturally_transformable_to b4 & b4 is_naturally_transformable_to b5 holds
for b6 being natural_transformation of b3,b4
for b7 being natural_transformation of b4,b5 ex b8 being Function st
( b8 = the Comp of b2 . b3,b4,b5 & b8 . b7,b6 = b7 `*` b6 ) ) holds
b1 = b2
end;
:: deftheorem Def11 defines Functors FUNCTOR2:def 11 :
for
b1,
b2 being
category for
b3 being non
empty transitive strict AltCatStr holds
(
b3 = Functors b1,
b2 iff ( the
carrier of
b3 = Funct b1,
b2 & ( for
b4,
b5 being
strict covariant Functor of
b1,
b2 for
b6 being
set holds
(
b6 in the
Arrows of
b3 . b4,
b5 iff (
b4 is_naturally_transformable_to b5 &
b6 is
natural_transformation of
b4,
b5 ) ) ) & ( for
b4,
b5,
b6 being
strict covariant Functor of
b1,
b2 st
b4 is_naturally_transformable_to b5 &
b5 is_naturally_transformable_to b6 holds
for
b7 being
natural_transformation of
b4,
b5 for
b8 being
natural_transformation of
b5,
b6 ex
b9 being
Function st
(
b9 = the
Comp of
b3 . b4,
b5,
b6 &
b9 . b8,
b7 = b8 `*` b7 ) ) ) );