:: NATTRA_1 semantic presentation
theorem Th1: :: NATTRA_1:1
definition
let c
1, c
2 be non
empty set ;
let c
3 be non
empty Subset of c
1;
let c
4 be non
empty Subset of c
2;
let c
5 be
PartFunc of
[:c3,c3:],c
3;
let c
6 be
PartFunc of
[:c4,c4:],c
4;
redefine func |: as
|:c5,c6:| -> PartFunc of
[:[:a3,a4:],[:a3,a4:]:],
[:a3,a4:];
coherence
|:c5,c6:| is PartFunc of [:[:c3,c4:],[:c3,c4:]:],[:c3,c4:]
by FUNCT_4:62;
end;
theorem Th2: :: NATTRA_1:2
for b
1, b
2 being non
empty set for b
3 being non
empty Subset of b
1for b
4 being non
empty Subset of b
2for b
5 being
PartFunc of
[:b1,b1:],b
1for b
6 being
PartFunc of
[:b2,b2:],b
2for b
7 being
PartFunc of
[:b3,b3:],b
3 holds
( b
7 = b
5 || b
3 implies for b
8 being
PartFunc of
[:b4,b4:],b
4 holds
( b
8 = b
6 || b
4 implies
|:b7,b8:| = |:b5,b6:| || [:b3,b4:] ) )
theorem Th3: :: NATTRA_1:3
theorem Th4: :: NATTRA_1:4
theorem Th5: :: NATTRA_1:5
theorem Th6: :: NATTRA_1:6
theorem Th7: :: NATTRA_1:7
theorem Th8: :: NATTRA_1:8
theorem Th9: :: NATTRA_1:9
for b
1 being
Categoryfor b
2 being non
empty Subset of the
Objects of b
1for b
3 being non
empty Subset of the
Morphisms of b
1for b
4, b
5 being
Function of b
3,b
2 holds
( b
4 = the
Dom of b
1 | b
3 & b
5 = the
Cod of b
1 | b
3 implies for b
6 being
PartFunc of
[:b3,b3:],b
3 holds
( b
6 = the
Comp of b
1 || b
3 implies for b
7 being
Function of b
2,b
3 holds
( b
7 = the
Id of b
1 | b
2 implies
CatStr(# b
2,b
3,b
4,b
5,b
6,b
7 #) is
Subcategory of b
1 ) ) )
theorem Th10: :: NATTRA_1:10
:: deftheorem Def1 defines . NATTRA_1:def 1 :
theorem Th11: :: NATTRA_1:11
theorem Th12: :: NATTRA_1:12
for b
1, b
2 being
Categoryfor b
3, b
4 being
Functor of b
1,b
2 holds
( ( for b
5, b
6 being
Object of b
1 holds
(
Hom b
5,b
6 <> {} implies for b
7 being
Morphism of b
5,b
6 holds b
3 . b
7 = b
4 . b
7 ) ) implies b
3 = b
4 )
theorem Th13: :: NATTRA_1:13
theorem Th14: :: NATTRA_1:14
theorem Th15: :: NATTRA_1:15
theorem Th16: :: NATTRA_1:16
theorem Th17: :: NATTRA_1:17
:: deftheorem Def2 defines is_transformable_to NATTRA_1:def 2 :
theorem Th18: :: NATTRA_1:18
canceled;
theorem Th19: :: NATTRA_1:19
:: deftheorem Def3 defines transformation NATTRA_1:def 3 :
:: deftheorem Def4 defines id NATTRA_1:def 4 :
:: deftheorem Def5 defines . NATTRA_1:def 5 :
definition
let c
1, c
2 be
Category;
let c
3, c
4, c
5 be
Functor of c
1,c
2;
assume that E20:
c
3 is_transformable_to c
4
and E21:
c
4 is_transformable_to c
5
;
let c
6 be
transformation of c
3,c
4;
let c
7 be
transformation of c
4,c
5;
func c
7 `*` c
6 -> transformation of a
3,a
5 means :
Def6:
:: NATTRA_1:def 6
for b
1 being
Object of a
1 holds a
8 . b
1 = (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 holds
( ( 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) ) implies b1 = b2 )
end;
:: deftheorem Def6 defines `*` NATTRA_1:def 6 :
theorem Th20: :: NATTRA_1:20
theorem Th21: :: NATTRA_1:21
theorem Th22: :: NATTRA_1:22
theorem Th23: :: NATTRA_1:23
Lemma25:
for b1, b2 being Category
for b3 being Functor of b2,b1
for b4, b5 being Object of b2 holds
( Hom b4,b5 <> {} implies for b6 being Morphism of b4,b5 holds ((id b3) . b5) * (b3 . b6) = (b3 . b6) * ((id b3) . b4) )
definition
let c
1, c
2 be
Category;
let c
3, c
4 be
Functor of c
1,c
2;
pred c
3 is_naturally_transformable_to c
4 means :
Def7:
:: NATTRA_1:def 7
( a
3 is_transformable_to a
4 & ex b
1 being
transformation of a
3,a
4 st
for b
2, b
3 being
Object of a
1 holds
(
Hom b
2,b
3 <> {} implies for b
4 being
Morphism of b
2,b
3 holds
(b1 . b3) * (a3 . b4) = (a4 . b4) * (b1 . b2) ) );
reflexivity
for b1 being Functor of c1,c2 holds
( b1 is_transformable_to b1 & ex b2 being transformation of b1,b1 st
for b3, b4 being Object of c1 holds
( Hom b3,b4 <> {} implies for b5 being Morphism of b3,b4 holds (b2 . b4) * (b1 . b5) = (b1 . b5) * (b2 . b3) ) )
end;
:: deftheorem Def7 defines is_naturally_transformable_to NATTRA_1:def 7 :
Lemma27:
for b1, b2 being Category
for b3, b4, b5 being Functor of b2,b1 holds
( b3 is_transformable_to b4 & b4 is_transformable_to b5 implies for b6 being transformation of b3,b4 holds
( ( for b7, b8 being Object of b2 holds
( Hom b7,b8 <> {} implies for b9 being Morphism of b7,b8 holds (b6 . b8) * (b3 . b9) = (b4 . b9) * (b6 . b7) ) ) implies for b7 being transformation of b4,b5 holds
( ( for b8, b9 being Object of b2 holds
( Hom b8,b9 <> {} implies for b10 being Morphism of b8,b9 holds (b7 . b9) * (b4 . b10) = (b5 . b10) * (b7 . b8) ) ) implies for b8, b9 being Object of b2 holds
( Hom b8,b9 <> {} implies for b10 being Morphism of b8,b9 holds ((b7 `*` b6) . b9) * (b3 . b10) = (b5 . b10) * ((b7 `*` b6) . b8) ) ) ) )
theorem Th24: :: NATTRA_1:24
canceled;
theorem Th25: :: NATTRA_1:25
definition
let c
1, c
2 be
Category;
let c
3, c
4 be
Functor of c
1,c
2;
assume E29:
c
3 is_naturally_transformable_to c
4
;
mode natural_transformation of c
3,c
4 -> transformation of a
3,a
4 means :
Def8:
:: NATTRA_1:def 8
for b
1, b
2 being
Object of a
1 holds
(
Hom b
1,b
2 <> {} implies for b
3 being
Morphism of b
1,b
2 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 holds
( Hom b2,b3 <> {} implies for b4 being Morphism of b2,b3 holds (b1 . b3) * (c3 . b4) = (c4 . b4) * (b1 . b2) )
by E29, Def7;
end;
:: deftheorem Def8 defines natural_transformation NATTRA_1:def 8 :
:: deftheorem Def9 defines `*` NATTRA_1:def 9 :
theorem Th26: :: NATTRA_1:26
theorem Th27: :: NATTRA_1:27
theorem Th28: :: NATTRA_1:28
:: deftheorem Def10 defines invertible NATTRA_1:def 10 :
:: deftheorem Def11 defines are_naturally_equivalent NATTRA_1:def 11 :
Lemma36:
for b1, b2 being Category
for b3, b4 being Functor of b1,b2
for b5 being transformation of b3,b4 holds
( b3 is_transformable_to b4 & b5 is invertible implies b4 is_transformable_to b3 )
:: deftheorem Def12 defines " NATTRA_1:def 12 :
E38:
now
let c
1, c
2 be
Category;
let c
3, c
4 be
Functor of c
1,c
2;
let c
5 be
natural_transformation of c
3,c
4;
assume that E39:
c
3 is_naturally_transformable_to c
4
and E40:
c
5 is
invertible
;
E41:
c
3 is_transformable_to c
4
by E39, Def7;
let c
6, c
7 be
Object of c
1;
assume E42:
Hom c
6,c
7 <> {}
;
E43:
c
5 . c
7 is
invertible
by E40, Def10;
E44:
c
5 . c
6 is
invertible
by E40, Def10;
E45:
Hom (c3 . c6),
(c3 . c7) <> {}
by E42, CAT_1:126;
E46:
Hom (c3 . c6),
(c4 . c6) <> {}
by E41, Def2;
E47:
Hom (c3 . c7),
(c4 . c7) <> {}
by E41, Def2;
then E48:
Hom (c4 . c7),
(c3 . c7) <> {}
by E43, CAT_1:70;
E49:
Hom (c4 . c6),
(c4 . c7) <> {}
by E42, CAT_1:126;
E50:
Hom (c4 . c6),
(c3 . c6) <> {}
by E44, E46, CAT_1:70;
then E51:
Hom (c4 . c6),
(c3 . c7) <> {}
by E45, CAT_1:52;
let c
8 be
Morphism of c
6,c
7;
(c4 . c8) * (c5 . c6) = (c5 . c7) * (c3 . c8)
by E39, E42, Def8;
then E52:
(((c5 . c7) " ) * (c4 . c8)) * (c5 . c6) =
((c5 . c7) " ) * ((c5 . c7) * (c3 . c8))
by E46, E48, E49, CAT_1:54
.=
(((c5 . c7) " ) * (c5 . c7)) * (c3 . c8)
by E45, E47, E48, CAT_1:54
.=
(id (c3 . c7)) * (c3 . c8)
by E43, E47, CAT_1:def 14
.=
c
3 . c
8
by E45, CAT_1:57
;
((c5 . c7) " ) * (c4 . c8) =
(((c5 . c7) " ) * (c4 . c8)) * (id (c4 . c6))
by E51, CAT_1:58
.=
(((c5 . c7) " ) * (c4 . c8)) * ((c5 . c6) * ((c5 . c6) " ))
by E44, E46, CAT_1:def 14
.=
(c3 . c8) * ((c5 . c6) " )
by E46, E50, E51, E52, CAT_1:54
;
hence ((c5 " ) . c7) * (c4 . c8) =
(c3 . c8) * ((c5 . c6) " )
by E40, E41, Def12
.=
(c3 . c8) * ((c5 " ) . c6)
by E40, E41, Def12
;
end;
Lemma39:
for b1, b2 being Category
for b3, b4 being Functor of b1,b2
for b5 being natural_transformation of b3,b4 holds
( b3 is_naturally_transformable_to b4 & b5 is invertible implies b4 is_naturally_transformable_to b3 )
:: deftheorem Def13 defines " NATTRA_1:def 13 :
theorem Th29: :: NATTRA_1:29
canceled;
theorem Th30: :: NATTRA_1:30
theorem Th31: :: NATTRA_1:31
theorem Th32: :: NATTRA_1:32
for b
1, b
2 being
Categoryfor b
3, b
4, b
5 being
Functor of b
1,b
2 holds
( b
3 ~= b
4 & b
4 ~= b
5 implies b
3 ~= b
5 )
:: deftheorem Def14 defines natural_equivalence NATTRA_1:def 14 :
theorem Th33: :: NATTRA_1:33
theorem Th34: :: NATTRA_1:34
definition
let c
1, c
2 be
Category;
mode NatTrans-DOMAIN of c
1,c
2 -> non
empty set means :
Def15:
:: NATTRA_1:def 15
for b
1 being
set holds
not ( b
1 in a
3 & ( for b
2, b
3 being
Functor of a
1,a
2for b
4 being
natural_transformation of b
2,b
3 holds
not ( b
1 = [[b2,b3],b4] & b
2 is_naturally_transformable_to b
3 ) ) );
existence
ex b1 being non empty set st
for b2 being set holds
not ( b2 in b1 & ( for b3, b4 being Functor of c1,c2
for b5 being natural_transformation of b3,b4 holds
not ( b2 = [[b3,b4],b5] & b3 is_naturally_transformable_to b4 ) ) )
end;
:: deftheorem Def15 defines NatTrans-DOMAIN NATTRA_1:def 15 :
definition
let c
1, c
2 be
Category;
func NatTrans c
1,c
2 -> NatTrans-DOMAIN of a
1,a
2 means :
Def16:
:: NATTRA_1:def 16
for b
1 being
set holds
( b
1 in a
3 iff ex b
2, b
3 being
Functor of a
1,a
2ex b
4 being
natural_transformation of b
2,b
3 st
( b
1 = [[b2,b3],b4] & b
2 is_naturally_transformable_to b
3 ) );
existence
ex b1 being NatTrans-DOMAIN of c1,c2 st
for b2 being set holds
( b2 in b1 iff ex b3, b4 being Functor of c1,c2ex b5 being natural_transformation of b3,b4 st
( b2 = [[b3,b4],b5] & b3 is_naturally_transformable_to b4 ) )
uniqueness
for b1, b2 being NatTrans-DOMAIN of c1,c2 holds
( ( for b3 being set holds
( b3 in b1 iff ex b4, b5 being Functor of c1,c2ex b6 being natural_transformation of b4,b5 st
( b3 = [[b4,b5],b6] & b4 is_naturally_transformable_to b5 ) ) ) & ( for b3 being set holds
( b3 in b2 iff ex b4, b5 being Functor of c1,c2ex b6 being natural_transformation of b4,b5 st
( b3 = [[b4,b5],b6] & b4 is_naturally_transformable_to b5 ) ) ) implies b1 = b2 )
end;
:: deftheorem Def16 defines NatTrans NATTRA_1:def 16 :
theorem Th35: :: NATTRA_1:35
definition
canceled;let c
1, c
2 be
Category;
func Functors c
1,c
2 -> strict Category means :
Def18:
:: NATTRA_1:def 18
( the
Objects of a
3 = Funct a
1,a
2 & the
Morphisms of a
3 = NatTrans a
1,a
2 & ( for b
1 being
Morphism of a
3 holds
(
dom b
1 = (b1 `1 ) `1 &
cod b
1 = (b1 `1 ) `2 ) ) & ( for b
1, b
2 being
Morphism of a
3 holds
(
dom b
2 = cod b
1 implies
[b2,b1] in dom the
Comp of a
3 ) ) & ( for b
1, b
2 being
Morphism of a
3 holds
not (
[b2,b1] in dom the
Comp of a
3 & ( for b
3, b
4, b
5 being
Functor of a
1,a
2for b
6 being
natural_transformation of b
3,b
4for b
7 being
natural_transformation of b
4,b
5 holds
not ( b
1 = [[b3,b4],b6] & b
2 = [[b4,b5],b7] & the
Comp of a
3 . [b2,b1] = [[b3,b5],(b7 `*` b6)] ) ) ) ) & ( for b
1 being
Object of a
3for b
2 being
Functor of a
1,a
2 holds
( b
2 = b
1 implies
id b
1 = [[b2,b2],(id b2)] ) ) );
existence
ex b1 being strict Category st
( the Objects of b1 = Funct c1,c2 & the Morphisms of b1 = NatTrans c1,c2 & ( for b2 being Morphism of b1 holds
( dom b2 = (b2 `1 ) `1 & cod b2 = (b2 `1 ) `2 ) ) & ( for b2, b3 being Morphism of b1 holds
( dom b3 = cod b2 implies [b3,b2] in dom the Comp of b1 ) ) & ( for b2, b3 being Morphism of b1 holds
not ( [b3,b2] in dom the Comp of b1 & ( for b4, b5, b6 being Functor of c1,c2
for b7 being natural_transformation of b4,b5
for b8 being natural_transformation of b5,b6 holds
not ( b2 = [[b4,b5],b7] & b3 = [[b5,b6],b8] & the Comp of b1 . [b3,b2] = [[b4,b6],(b8 `*` b7)] ) ) ) ) & ( for b2 being Object of b1
for b3 being Functor of c1,c2 holds
( b3 = b2 implies id b2 = [[b3,b3],(id b3)] ) ) )
uniqueness
for b1, b2 being strict Category holds
( the Objects of b1 = Funct c1,c2 & the Morphisms of b1 = NatTrans c1,c2 & ( for b3 being Morphism of b1 holds
( dom b3 = (b3 `1 ) `1 & cod b3 = (b3 `1 ) `2 ) ) & ( for b3, b4 being Morphism of b1 holds
( dom b4 = cod b3 implies [b4,b3] in dom the Comp of b1 ) ) & ( for b3, b4 being Morphism of b1 holds
not ( [b4,b3] in dom the Comp of b1 & ( for b5, b6, b7 being Functor of c1,c2
for b8 being natural_transformation of b5,b6
for b9 being natural_transformation of b6,b7 holds
not ( b3 = [[b5,b6],b8] & b4 = [[b6,b7],b9] & the Comp of b1 . [b4,b3] = [[b5,b7],(b9 `*` b8)] ) ) ) ) & ( for b3 being Object of b1
for b4 being Functor of c1,c2 holds
( b4 = b3 implies id b3 = [[b4,b4],(id b4)] ) ) & the Objects of b2 = Funct c1,c2 & the Morphisms of b2 = NatTrans c1,c2 & ( for b3 being Morphism of b2 holds
( dom b3 = (b3 `1 ) `1 & cod b3 = (b3 `1 ) `2 ) ) & ( for b3, b4 being Morphism of b2 holds
( dom b4 = cod b3 implies [b4,b3] in dom the Comp of b2 ) ) & ( for b3, b4 being Morphism of b2 holds
not ( [b4,b3] in dom the Comp of b2 & ( for b5, b6, b7 being Functor of c1,c2
for b8 being natural_transformation of b5,b6
for b9 being natural_transformation of b6,b7 holds
not ( b3 = [[b5,b6],b8] & b4 = [[b6,b7],b9] & the Comp of b2 . [b4,b3] = [[b5,b7],(b9 `*` b8)] ) ) ) ) & ( for b3 being Object of b2
for b4 being Functor of c1,c2 holds
( b4 = b3 implies id b3 = [[b4,b4],(id b4)] ) ) implies b1 = b2 )
end;
:: deftheorem Def17 NATTRA_1:def 17 :
canceled;
:: deftheorem Def18 defines Functors NATTRA_1:def 18 :
for b
1, b
2 being
Categoryfor b
3 being
strict Category holds
( b
3 = Functors b
1,b
2 iff ( the
Objects of b
3 = Funct b
1,b
2 & the
Morphisms of b
3 = NatTrans b
1,b
2 & ( for b
4 being
Morphism of b
3 holds
(
dom b
4 = (b4 `1 ) `1 &
cod b
4 = (b4 `1 ) `2 ) ) & ( for b
4, b
5 being
Morphism of b
3 holds
(
dom b
5 = cod b
4 implies
[b5,b4] in dom the
Comp of b
3 ) ) & ( for b
4, b
5 being
Morphism of b
3 holds
not (
[b5,b4] in dom the
Comp of b
3 & ( for b
6, b
7, b
8 being
Functor of b
1,b
2for b
9 being
natural_transformation of b
6,b
7for b
10 being
natural_transformation of b
7,b
8 holds
not ( b
4 = [[b6,b7],b9] & b
5 = [[b7,b8],b10] & the
Comp of b
3 . [b5,b4] = [[b6,b8],(b10 `*` b9)] ) ) ) ) & ( for b
4 being
Object of b
3for b
5 being
Functor of b
1,b
2 holds
( b
5 = b
4 implies
id b
4 = [[b5,b5],(id b5)] ) ) ) );
theorem Th36: :: NATTRA_1:36
canceled;
theorem Th37: :: NATTRA_1:37
canceled;
theorem Th38: :: NATTRA_1:38
canceled;
theorem Th39: :: NATTRA_1:39
theorem Th40: :: NATTRA_1:40
for b
1, b
2 being
Categoryfor b
3, b
4 being
Object of
(Functors b1,b2)for b
5 being
Morphism of b
3,b
4 holds
not (
Hom b
3,b
4 <> {} & ( for b
6, b
7 being
Functor of b
1,b
2for b
8 being
natural_transformation of b
6,b
7 holds
not ( b
3 = b
6 & b
4 = b
7 & b
5 = [[b6,b7],b8] ) ) )
theorem Th41: :: NATTRA_1:41
for b
1, b
2 being
Categoryfor b
3, b
4, b
5, b
6 being
Functor of b
1,b
2for b
7 being
natural_transformation of b
5,b
6for b
8 being
natural_transformation of b
3,b
4for b
9, b
10 being
Morphism of
(Functors b1,b2) holds
( b
9 = [[b5,b6],b7] & b
10 = [[b3,b4],b8] implies (
[b10,b9] in dom the
Comp of
(Functors b1,b2) iff b
6 = b
3 ) )
theorem Th42: :: NATTRA_1:42
for b
1, b
2 being
Categoryfor b
3, b
4, b
5 being
Functor of b
1,b
2for b
6 being
natural_transformation of b
3,b
4for b
7 being
natural_transformation of b
4,b
5for b
8, b
9 being
Morphism of
(Functors b1,b2) holds
( b
8 = [[b3,b4],b6] & b
9 = [[b4,b5],b7] implies b
9 * b
8 = [[b3,b5],(b7 `*` b6)] )
:: deftheorem Def19 defines discrete NATTRA_1:def 19 :
theorem Th43: :: NATTRA_1:43
canceled;
theorem Th44: :: NATTRA_1:44
theorem Th45: :: NATTRA_1:45
theorem Th46: :: NATTRA_1:46
theorem Th47: :: NATTRA_1:47
theorem Th48: :: NATTRA_1:48
theorem Th49: :: NATTRA_1:49
theorem Th50: :: NATTRA_1:50
theorem Th51: :: NATTRA_1:51
:: deftheorem Def20 defines IdCat NATTRA_1:def 20 :
theorem Th52: :: NATTRA_1:52
theorem Th53: :: NATTRA_1:53
theorem Th54: :: NATTRA_1:54
theorem Th55: :: NATTRA_1:55