:: ALTCAT_2 semantic presentation
theorem Th1: :: ALTCAT_2:1
theorem Th2: :: ALTCAT_2:2
theorem Th3: :: ALTCAT_2:3
theorem Th4: :: ALTCAT_2:4
theorem Th5: :: ALTCAT_2:5
theorem Th6: :: ALTCAT_2:6
:: deftheorem Def1 defines cc= ALTCAT_2:def 1 :
:: deftheorem Def2 defines cc= ALTCAT_2:def 2 :
theorem Th7: :: ALTCAT_2:7
canceled;
theorem Th8: :: ALTCAT_2:8
theorem Th9: :: ALTCAT_2:9
theorem Th10: :: ALTCAT_2:10
theorem Th11: :: ALTCAT_2:11
theorem Th12: :: ALTCAT_2:12
definition
let c1 be
CatStr ;
func the_hom_sets_of c1 -> ManySortedSet of
[:the Objects of a1,the Objects of a1:] means :
Def3:
:: ALTCAT_2:def 3
for
b1,
b2 being
Object of
a1 holds
a2 . b1,
b2 = Hom b1,
b2;
existence
ex b1 being ManySortedSet of [:the Objects of c1,the Objects of c1:] st
for b2, b3 being Object of c1 holds b1 . b2,b3 = Hom b2,b3
uniqueness
for b1, b2 being ManySortedSet of [:the Objects of c1,the Objects of c1:] st ( for b3, b4 being Object of c1 holds b1 . b3,b4 = Hom b3,b4 ) & ( for b3, b4 being Object of c1 holds b2 . b3,b4 = Hom b3,b4 ) holds
b1 = b2
end;
:: deftheorem Def3 defines the_hom_sets_of ALTCAT_2:def 3 :
theorem Th13: :: ALTCAT_2:13
definition
let c1 be
Category;
func the_comps_of c1 -> BinComp of
(the_hom_sets_of a1) means :
Def4:
:: ALTCAT_2:def 4
for
b1,
b2,
b3 being
Object of
a1 holds
a2 . b1,
b2,
b3 = the
Comp of
a1 | [:((the_hom_sets_of a1) . b2,b3),((the_hom_sets_of a1) . b1,b2):];
existence
ex b1 being BinComp of (the_hom_sets_of c1) st
for b2, b3, b4 being Object of c1 holds b1 . b2,b3,b4 = the Comp of c1 | [:((the_hom_sets_of c1) . b3,b4),((the_hom_sets_of c1) . b2,b3):]
uniqueness
for b1, b2 being BinComp of (the_hom_sets_of c1) st ( for b3, b4, b5 being Object of c1 holds b1 . b3,b4,b5 = the Comp of c1 | [:((the_hom_sets_of c1) . b4,b5),((the_hom_sets_of c1) . b3,b4):] ) & ( for b3, b4, b5 being Object of c1 holds b2 . b3,b4,b5 = the Comp of c1 | [:((the_hom_sets_of c1) . b4,b5),((the_hom_sets_of c1) . b3,b4):] ) holds
b1 = b2
end;
:: deftheorem Def4 defines the_comps_of ALTCAT_2:def 4 :
theorem Th14: :: ALTCAT_2:14
theorem Th15: :: ALTCAT_2:15
theorem Th16: :: ALTCAT_2:16
:: deftheorem Def5 defines Alter ALTCAT_2:def 5 :
theorem Th17: :: ALTCAT_2:17
theorem Th18: :: ALTCAT_2:18
theorem Th19: :: ALTCAT_2:19
:: deftheorem Def6 defines reflexive ALTCAT_2:def 6 :
:: deftheorem Def7 defines reflexive ALTCAT_2:def 7 :
definition
let c1 be non
empty transitive AltCatStr ;
redefine attr a1 is
associative means :
Def8:
:: ALTCAT_2:def 8
for
b1,
b2,
b3,
b4 being
object of
a1for
b5 being
Morphism of
b1,
b2for
b6 being
Morphism of
b2,
b3for
b7 being
Morphism of
b3,
b4 st
<^b1,b2^> <> {} &
<^b2,b3^> <> {} &
<^b3,b4^> <> {} holds
(b7 * b6) * b5 = b7 * (b6 * b5);
compatibility
( c1 is associative iff for b1, b2, b3, b4 being object of c1
for b5 being Morphism of b1,b2
for b6 being Morphism of b2,b3
for b7 being Morphism of b3,b4 st <^b1,b2^> <> {} & <^b2,b3^> <> {} & <^b3,b4^> <> {} holds
(b7 * b6) * b5 = b7 * (b6 * b5) )
end;
:: deftheorem Def8 defines associative ALTCAT_2:def 8 :
definition
let c1 be non
empty AltCatStr ;
redefine attr a1 is
with_units means :: ALTCAT_2:def 9
for
b1 being
object of
a1 holds
(
<^b1,b1^> <> {} & ex
b2 being
Morphism of
b1,
b1 st
for
b3 being
object of
a1for
b4 being
Morphism of
b3,
b1for
b5 being
Morphism of
b1,
b3 holds
( (
<^b3,b1^> <> {} implies
b2 * b4 = b4 ) & (
<^b1,b3^> <> {} implies
b5 * b2 = b5 ) ) );
compatibility
( c1 is with_units iff for b1 being object of c1 holds
( <^b1,b1^> <> {} & ex b2 being Morphism of b1,b1 st
for b3 being object of c1
for b4 being Morphism of b3,b1
for b5 being Morphism of b1,b3 holds
( ( <^b3,b1^> <> {} implies b2 * b4 = b4 ) & ( <^b1,b3^> <> {} implies b5 * b2 = b5 ) ) ) )
end;
:: deftheorem Def9 defines with_units ALTCAT_2:def 9 :
Lemma18:
for b1, b2 being strict AltCatStr st the carrier of b1 is empty & the carrier of b2 is empty holds
b1 = b2
:: deftheorem Def10 defines the_empty_category ALTCAT_2:def 10 :
theorem Th20: :: ALTCAT_2:20
:: deftheorem Def11 defines SubCatStr ALTCAT_2:def 11 :
theorem Th21: :: ALTCAT_2:21
theorem Th22: :: ALTCAT_2:22
theorem Th23: :: ALTCAT_2:23
definition
let c1 be non
empty AltCatStr ;
let c2 be
object of
c1;
func ObCat c2 -> strict SubCatStr of
a1 means :
Def12:
:: ALTCAT_2:def 12
( the
carrier of
a3 = {a2} & the
Arrows of
a3 = a2,
a2 :-> <^a2,a2^> & the
Comp of
a3 = [a2,a2,a2] .--> (the Comp of a1 . a2,a2,a2) );
existence
ex b1 being strict SubCatStr of c1 st
( the carrier of b1 = {c2} & the Arrows of b1 = c2,c2 :-> <^c2,c2^> & the Comp of b1 = [c2,c2,c2] .--> (the Comp of c1 . c2,c2,c2) )
uniqueness
for b1, b2 being strict SubCatStr of c1 st the carrier of b1 = {c2} & the Arrows of b1 = c2,c2 :-> <^c2,c2^> & the Comp of b1 = [c2,c2,c2] .--> (the Comp of c1 . c2,c2,c2) & the carrier of b2 = {c2} & the Arrows of b2 = c2,c2 :-> <^c2,c2^> & the Comp of b2 = [c2,c2,c2] .--> (the Comp of c1 . c2,c2,c2) holds
b1 = b2
;
end;
:: deftheorem Def12 defines ObCat ALTCAT_2:def 12 :
theorem Th24: :: ALTCAT_2:24
theorem Th25: :: ALTCAT_2:25
:: deftheorem Def13 defines full ALTCAT_2:def 13 :
:: deftheorem Def14 defines id-inheriting ALTCAT_2:def 14 :
theorem Th26: :: ALTCAT_2:26
theorem Th27: :: ALTCAT_2:27
theorem Th28: :: ALTCAT_2:28
theorem Th29: :: ALTCAT_2:29
theorem Th30: :: ALTCAT_2:30
theorem Th31: :: ALTCAT_2:31
theorem Th32: :: ALTCAT_2:32
theorem Th33: :: ALTCAT_2:33
for
b1 being non
empty transitive AltCatStr for
b2 being non
empty transitive SubCatStr of
b1for
b3,
b4,
b5 being
object of
b2 st
<^b3,b4^> <> {} &
<^b4,b5^> <> {} holds
for
b6,
b7,
b8 being
object of
b1 st
b6 = b3 &
b7 = b4 &
b8 = b5 holds
for
b9 being
Morphism of
b6,
b7for
b10 being
Morphism of
b7,
b8for
b11 being
Morphism of
b3,
b4for
b12 being
Morphism of
b4,
b5 st
b9 = b11 &
b10 = b12 holds
b10 * b9 = b12 * b11
theorem Th34: :: ALTCAT_2:34
theorem Th35: :: ALTCAT_2:35