:: CAT_2 semantic presentation
theorem Th1: :: CAT_2:1
theorem Th2: :: CAT_2:2
definition
let c1,
c2,
c3 be non
empty set ;
let c4 be
Function of
[:c1,c2:],
c3;
redefine func curry as
curry c4 -> Function of
a1,
Funcs a2,
a3;
coherence
curry c4 is Function of c1, Funcs c2,c3
by Th1;
redefine func curry' as
curry' c4 -> Function of
a2,
Funcs a1,
a3;
coherence
curry' c4 is Function of c2, Funcs c1,c3
by Th2;
end;
theorem Th3: :: CAT_2:3
theorem Th4: :: CAT_2:4
:: deftheorem Def1 defines --> CAT_2:def 1 :
theorem Th5: :: CAT_2:5
canceled;
theorem Th6: :: CAT_2:6
theorem Th7: :: CAT_2:7
:: deftheorem Def2 defines Funct CAT_2:def 2 :
:: deftheorem Def3 defines FUNCTOR-DOMAIN CAT_2:def 3 :
:: deftheorem Def4 defines Subcategory CAT_2:def 4 :
theorem Th8: :: CAT_2:8
canceled;
theorem Th9: :: CAT_2:9
canceled;
theorem Th10: :: CAT_2:10
canceled;
theorem Th11: :: CAT_2:11
canceled;
theorem Th12: :: CAT_2:12
theorem Th13: :: CAT_2:13
theorem Th14: :: CAT_2:14
theorem Th15: :: CAT_2:15
theorem Th16: :: CAT_2:16
theorem Th17: :: CAT_2:17
theorem Th18: :: CAT_2:18
theorem Th19: :: CAT_2:19
:: deftheorem Def5 defines incl CAT_2:def 5 :
theorem Th20: :: CAT_2:20
canceled;
theorem Th21: :: CAT_2:21
theorem Th22: :: CAT_2:22
theorem Th23: :: CAT_2:23
theorem Th24: :: CAT_2:24
theorem Th25: :: CAT_2:25
:: deftheorem Def6 defines is_full_subcategory_of CAT_2:def 6 :
theorem Th26: :: CAT_2:26
canceled;
theorem Th27: :: CAT_2:27
theorem Th28: :: CAT_2:28
theorem Th29: :: CAT_2:29
theorem Th30: :: CAT_2:30
for
b1 being
Category for
b2 being non
empty Subset of the
Objects of
b1 for
b3 being non
empty set for
b4,
b5 being
Function of
b3,
b2 for
b6 being
PartFunc of
[:b3,b3:],
b3 for
b7 being
Function of
b2,
b3 st
b3 = union { (Hom b8,b9) where B is Object of b1, B is Object of b1 : ( b8 in b2 & b9 in b2 ) } &
b4 = the
Dom of
b1 | b3 &
b5 = the
Cod of
b1 | b3 &
b6 = the
Comp of
b1 || b3 &
b7 = the
Id of
b1 | b2 holds
CatStr(#
b2,
b3,
b4,
b5,
b6,
b7 #)
is_full_subcategory_of b1
theorem Th31: :: CAT_2:31
for
b1 being
Category for
b2 being non
empty Subset of the
Objects of
b1 for
b3 being non
empty set for
b4,
b5 being
Function of
b3,
b2 for
b6 being
PartFunc of
[:b3,b3:],
b3 for
b7 being
Function of
b2,
b3 st
CatStr(#
b2,
b3,
b4,
b5,
b6,
b7 #)
is_full_subcategory_of b1 holds
(
b3 = union { (Hom b8,b9) where B is Object of b1, B is Object of b1 : ( b8 in b2 & b9 in b2 ) } &
b4 = the
Dom of
b1 | b3 &
b5 = the
Cod of
b1 | b3 &
b6 = the
Comp of
b1 || b3 &
b7 = the
Id of
b1 | b2 )
definition
let c1,
c2,
c3,
c4 be non
empty set ;
let c5 be
Function of
c1,
c3;
let c6 be
Function of
c2,
c4;
redefine func [: as
[:c5,c6:] -> Function of
[:a1,a2:],
[:a3,a4:];
coherence
[:c5,c6:] is Function of [:c1,c2:],[:c3,c4:]
end;
definition
let c1,
c2 be non
empty set ;
let c3 be
PartFunc of
[:c1,c1:],
c1;
let c4 be
PartFunc of
[:c2,c2:],
c2;
redefine func |: as
|:c3,c4:| -> PartFunc of
[:[:a1,a2:],[:a1,a2:]:],
[:a1,a2:];
coherence
|:c3,c4:| is PartFunc of [:[:c1,c2:],[:c1,c2:]:],[:c1,c2:]
by FUNCT_4:62;
end;
definition
let c1,
c2 be
Category;
func [:c1,c2:] -> Category equals :: CAT_2:def 7
CatStr(#
[:the Objects of a1,the Objects of a2:],
[:the Morphisms of a1,the Morphisms of a2:],
[:the Dom of a1,the Dom of a2:],
[:the Cod of a1,the Cod of a2:],
|:the Comp of a1,the Comp of a2:|,
[:the Id of a1,the Id of a2:] #);
coherence
CatStr(# [:the Objects of c1,the Objects of c2:],[:the Morphisms of c1,the Morphisms of c2:],[:the Dom of c1,the Dom of c2:],[:the Cod of c1,the Cod of c2:],|:the Comp of c1,the Comp of c2:|,[:the Id of c1,the Id of c2:] #) is Category
end;
:: deftheorem Def7 defines [: CAT_2:def 7 :
for
b1,
b2 being
Category holds
[:b1,b2:] = CatStr(#
[:the Objects of b1,the Objects of b2:],
[:the Morphisms of b1,the Morphisms of b2:],
[:the Dom of b1,the Dom of b2:],
[:the Cod of b1,the Cod of b2:],
|:the Comp of b1,the Comp of b2:|,
[:the Id of b1,the Id of b2:] #);
theorem Th32: :: CAT_2:32
canceled;
theorem Th33: :: CAT_2:33
for
b1,
b2 being
Category holds
( the
Objects of
[:b1,b2:] = [:the Objects of b1,the Objects of b2:] & the
Morphisms of
[:b1,b2:] = [:the Morphisms of b1,the Morphisms of b2:] & the
Dom of
[:b1,b2:] = [:the Dom of b1,the Dom of b2:] & the
Cod of
[:b1,b2:] = [:the Cod of b1,the Cod of b2:] & the
Comp of
[:b1,b2:] = |:the Comp of b1,the Comp of b2:| & the
Id of
[:b1,b2:] = [:the Id of b1,the Id of b2:] ) ;
theorem Th34: :: CAT_2:34
theorem Th35: :: CAT_2:35
theorem Th36: :: CAT_2:36
theorem Th37: :: CAT_2:37
theorem Th38: :: CAT_2:38
theorem Th39: :: CAT_2:39
theorem Th40: :: CAT_2:40
theorem Th41: :: CAT_2:41
theorem Th42: :: CAT_2:42
theorem Th43: :: CAT_2:43
for
b1,
b2 being
Category for
b3,
b4 being
Object of
b1 for
b5 being
Morphism of
b3,
b4 for
b6,
b7 being
Object of
b2 for
b8 being
Morphism of
b6,
b7 st
Hom b3,
b4 <> {} &
Hom b6,
b7 <> {} holds
[b5,b8] is
Morphism of
[b3,b6],
[b4,b7]
theorem Th44: :: CAT_2:44
theorem Th45: :: CAT_2:45
:: deftheorem Def8 defines ?- CAT_2:def 8 :
theorem Th46: :: CAT_2:46
canceled;
theorem Th47: :: CAT_2:47
theorem Th48: :: CAT_2:48
:: deftheorem Def9 defines -? CAT_2:def 9 :
theorem Th49: :: CAT_2:49
canceled;
theorem Th50: :: CAT_2:50
theorem Th51: :: CAT_2:51
theorem Th52: :: CAT_2:52
theorem Th53: :: CAT_2:53
theorem Th54: :: CAT_2:54
theorem Th55: :: CAT_2:55
definition
let c1,
c2 be
Category;
func pr1 c1,
c2 -> Functor of
[:a1,a2:],
a1 equals :: CAT_2:def 10
pr1 the
Morphisms of
a1,the
Morphisms of
a2;
coherence
pr1 the Morphisms of c1,the Morphisms of c2 is Functor of [:c1,c2:],c1
by Th54;
func pr2 c1,
c2 -> Functor of
[:a1,a2:],
a2 equals :: CAT_2:def 11
pr2 the
Morphisms of
a1,the
Morphisms of
a2;
coherence
pr2 the Morphisms of c1,the Morphisms of c2 is Functor of [:c1,c2:],c2
by Th55;
end;
:: deftheorem Def10 defines pr1 CAT_2:def 10 :
:: deftheorem Def11 defines pr2 CAT_2:def 11 :
theorem Th56: :: CAT_2:56
canceled;
theorem Th57: :: CAT_2:57
canceled;
theorem Th58: :: CAT_2:58
theorem Th59: :: CAT_2:59
theorem Th60: :: CAT_2:60
theorem Th61: :: CAT_2:61
theorem Th62: :: CAT_2:62
definition
let c1,
c2,
c3 be
Category;
let c4 be
Functor of
c1,
c2;
let c5 be
Functor of
c1,
c3;
redefine func <: as
<:c4,c5:> -> Functor of
a1,
[:a2,a3:];
coherence
<:c4,c5:> is Functor of c1,[:c2,c3:]
by Th62;
end;
theorem Th63: :: CAT_2:63
theorem Th64: :: CAT_2:64
theorem Th65: :: CAT_2:65
definition
let c1,
c2,
c3,
c4 be
Category;
let c5 be
Functor of
c1,
c3;
let c6 be
Functor of
c2,
c4;
redefine func [: as
[:c5,c6:] -> Functor of
[:a1,a2:],
[:a3,a4:];
coherence
[:c5,c6:] is Functor of [:c1,c2:],[:c3,c4:]
by Th65;
end;
theorem Th66: :: CAT_2:66