:: CAT_5 semantic presentation :: Showing IDV graph ... (Click the Palm Trees again to close it)
theorem Th1: :: CAT_5:1 :: Showing IDV graph ... (Click the Palm Tree again to close it)
for
C,
D being
CatStr st
CatStr(# the
Objects of
C,the
Morphisms of
C,the
Dom of
C,the
Cod of
C,the
Comp of
C,the
Id of
C #)
= CatStr(# the
Objects of
D,the
Morphisms of
D,the
Dom of
D,the
Cod of
D,the
Comp of
D,the
Id of
D #) &
C is
Category-like holds
D is
Category-like
:: deftheorem Def1 defines with_triple-like_morphisms CAT_5:def 1 :
theorem Th2: :: CAT_5:2 :: Showing IDV graph ... (Click the Palm Tree again to close it)
scheme :: CAT_5:sch 1
CatEx{
F1()
-> non
empty set ,
F2()
-> non
empty set ,
P1[
set ,
set ,
set ],
F3(
set ,
set )
-> set } :
ex
C being
strict with_triple-like_morphisms Category st
( the
Objects of
C = F1() & ( for
a,
b being
Element of
F1()
for
f being
Element of
F2() st
P1[
a,
b,
f] holds
[[a,b],f] is
Morphism of
C ) & ( for
m being
Morphism of
C ex
a,
b being
Element of
F1() ex
f being
Element of
F2() st
(
m = [[a,b],f] &
P1[
a,
b,
f] ) ) & ( for
m1,
m2 being
Morphism of
C for
a1,
a2,
a3 being
Element of
F1()
for
f1,
f2 being
Element of
F2() st
m1 = [[a1,a2],f1] &
m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],F3(f2,f1)] ) )
provided
A1:
for
a,
b,
c being
Element of
F1()
for
f,
g being
Element of
F2() st
P1[
a,
b,
f] &
P1[
b,
c,
g] holds
(
F3(
g,
f)
in F2() &
P1[
a,
c,
F3(
g,
f)] )
and A2:
for
a being
Element of
F1() ex
f being
Element of
F2() st
(
P1[
a,
a,
f] & ( for
b being
Element of
F1()
for
g being
Element of
F2() holds
( (
P1[
a,
b,
g] implies
F3(
g,
f)
= g ) & (
P1[
b,
a,
g] implies
F3(
f,
g)
= g ) ) ) )
and A3:
for
a,
b,
c,
d being
Element of
F1()
for
f,
g,
h being
Element of
F2() st
P1[
a,
b,
f] &
P1[
b,
c,
g] &
P1[
c,
d,
h] holds
F3(
h,
F3(
g,
f))
= F3(
F3(
h,
g),
f)
scheme :: CAT_5:sch 2
CatUniq{
F1()
-> non
empty set ,
F2()
-> non
empty set ,
P1[
set ,
set ,
set ],
F3(
set ,
set )
-> set } :
for
C1,
C2 being
strict with_triple-like_morphisms Category st the
Objects of
C1 = F1() & ( for
a,
b being
Element of
F1()
for
f being
Element of
F2() st
P1[
a,
b,
f] holds
[[a,b],f] is
Morphism of
C1 ) & ( for
m being
Morphism of
C1 ex
a,
b being
Element of
F1() ex
f being
Element of
F2() st
(
m = [[a,b],f] &
P1[
a,
b,
f] ) ) & ( for
m1,
m2 being
Morphism of
C1 for
a1,
a2,
a3 being
Element of
F1()
for
f1,
f2 being
Element of
F2() st
m1 = [[a1,a2],f1] &
m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],F3(f2,f1)] ) & the
Objects of
C2 = F1() & ( for
a,
b being
Element of
F1()
for
f being
Element of
F2() st
P1[
a,
b,
f] holds
[[a,b],f] is
Morphism of
C2 ) & ( for
m being
Morphism of
C2 ex
a,
b being
Element of
F1() ex
f being
Element of
F2() st
(
m = [[a,b],f] &
P1[
a,
b,
f] ) ) & ( for
m1,
m2 being
Morphism of
C2 for
a1,
a2,
a3 being
Element of
F1()
for
f1,
f2 being
Element of
F2() st
m1 = [[a1,a2],f1] &
m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],F3(f2,f1)] ) holds
C1 = C2
provided
A1:
for
a being
Element of
F1() ex
f being
Element of
F2() st
(
P1[
a,
a,
f] & ( for
b being
Element of
F1()
for
g being
Element of
F2() holds
( (
P1[
a,
b,
g] implies
F3(
g,
f)
= g ) & (
P1[
b,
a,
g] implies
F3(
f,
g)
= g ) ) ) )
theorem Th3: :: CAT_5:3 :: Showing IDV graph ... (Click the Palm Tree again to close it)
for
C1 being
Category for
C2 being
Subcategory of
C1 st
C1 is
Subcategory of
C2 holds
CatStr(# the
Objects of
C1,the
Morphisms of
C1,the
Dom of
C1,the
Cod of
C1,the
Comp of
C1,the
Id of
C1 #)
= CatStr(# the
Objects of
C2,the
Morphisms of
C2,the
Dom of
C2,the
Cod of
C2,the
Comp of
C2,the
Id of
C2 #)
theorem Th4: :: CAT_5:4 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def2 defines /\ CAT_5:def 2 :
theorem Th5: :: CAT_5:5 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th6: :: CAT_5:6 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def3 defines Image CAT_5:def 3 :
theorem Th7: :: CAT_5:7 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: CAT_5:8 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th9: :: CAT_5:9 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def4 defines categorial CAT_5:def 4 :
:: deftheorem Def5 defines categorial CAT_5:def 5 :
definition
let C be
Category;
attr C is
Categorial means :
Def6:
:: CAT_5:def 6
( the
Objects of
C is
categorial & ( for
a being
Object of
C for
A being
Category st
a = A holds
id a = [[A,A],(id A)] ) & ( for
m being
Morphism of
C for
A,
B being
Category st
A = dom m &
B = cod m holds
ex
F being
Functor of
A,
B st
m = [[A,B],F] ) & ( for
m1,
m2 being
Morphism of
C for
A,
B,
C being
Category for
F being
Functor of
A,
B for
G being
Functor of
B,
C st
m1 = [[A,B],F] &
m2 = [[B,C],G] holds
m2 * m1 = [[A,C],(G * F)] ) );
end;
:: deftheorem Def6 defines Categorial CAT_5:def 6 :
for
C being
Category holds
(
C is
Categorial iff ( the
Objects of
C is
categorial & ( for
a being
Object of
C for
A being
Category st
a = A holds
id a = [[A,A],(id A)] ) & ( for
m being
Morphism of
C for
A,
B being
Category st
A = dom m &
B = cod m holds
ex
F being
Functor of
A,
B st
m = [[A,B],F] ) & ( for
m1,
m2 being
Morphism of
C for
A,
B,
C being
Category for
F being
Functor of
A,
B for
G being
Functor of
B,
C st
m1 = [[A,B],F] &
m2 = [[B,C],G] holds
m2 * m1 = [[A,C],(G * F)] ) ) );
theorem Th10: :: CAT_5:10 :: Showing IDV graph ... (Click the Palm Tree again to close it)
for
C,
D being
Category st
CatStr(# the
Objects of
C,the
Morphisms of
C,the
Dom of
C,the
Cod of
C,the
Comp of
C,the
Id of
C #)
= CatStr(# the
Objects of
D,the
Morphisms of
D,the
Dom of
D,the
Cod of
D,the
Comp of
D,the
Id of
D #) &
C is
Categorial holds
D is
Categorial
theorem Th11: :: CAT_5:11 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th12: :: CAT_5:12 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th13: :: CAT_5:13 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th14: :: CAT_5:14 :: Showing IDV graph ... (Click the Palm Tree again to close it)
for
C1,
C2 being
Categorial Category st the
Objects of
C1 = the
Objects of
C2 & the
Morphisms of
C1 = the
Morphisms of
C2 holds
CatStr(# the
Objects of
C1,the
Morphisms of
C1,the
Dom of
C1,the
Cod of
C1,the
Comp of
C1,the
Id of
C1 #)
= CatStr(# the
Objects of
C2,the
Morphisms of
C2,the
Dom of
C2,the
Cod of
C2,the
Comp of
C2,the
Id of
C2 #)
theorem Th15: :: CAT_5:15 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def7 defines cat CAT_5:def 7 :
theorem Th16: :: CAT_5:16 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th17: :: CAT_5:17 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th18: :: CAT_5:18 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def8 defines full CAT_5:def 8 :
theorem :: CAT_5:19 :: Showing IDV graph ... (Click the Palm Tree again to close it)
for
C1,
C2 being
Categorial full Category st the
Objects of
C1 = the
Objects of
C2 holds
CatStr(# the
Objects of
C1,the
Morphisms of
C1,the
Dom of
C1,the
Cod of
C1,the
Comp of
C1,the
Id of
C1 #)
= CatStr(# the
Objects of
C2,the
Morphisms of
C2,the
Dom of
C2,the
Cod of
C2,the
Comp of
C2,the
Id of
C2 #)
theorem Th20: :: CAT_5:20 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th21: :: CAT_5:21 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: CAT_5:22 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem defines Hom CAT_5:def 9 :
:: deftheorem defines Hom CAT_5:def 10 :
theorem Th23: :: CAT_5:23 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th24: :: CAT_5:24 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: CAT_5:25 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: CAT_5:26 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th27: :: CAT_5:27 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th28: :: CAT_5:28 :: Showing IDV graph ... (Click the Palm Tree again to close it)
definition
let C be
Category;
let o be
Object of
C;
set A =
Hom o;
set B = the
Morphisms of
C;
defpred S1[
Element of
Hom o,
Element of
Hom o,
Element of the
Morphisms of
C]
means (
dom $2
= cod $3 & $1
= $2
* $3 );
deffunc H1(
Morphism of
C,
Morphism of
C)
-> Element of the
Morphisms of
C = $1
* $2;
A1:
for
a,
b,
c being
Element of
Hom o for
f,
g being
Element of the
Morphisms of
C st
S1[
a,
b,
f] &
S1[
b,
c,
g] holds
(
H1(
g,
f)
in the
Morphisms of
C &
S1[
a,
c,
H1(
g,
f)] )
A3:
for
a being
Element of
Hom o ex
f being
Element of the
Morphisms of
C st
(
S1[
a,
a,
f] & ( for
b being
Element of
Hom o for
g being
Element of the
Morphisms of
C holds
( (
S1[
a,
b,
g] implies
H1(
g,
f)
= g ) & (
S1[
b,
a,
g] implies
H1(
f,
g)
= g ) ) ) )
A4:
for
a,
b,
c,
d being
Element of
Hom o for
f,
g,
h being
Element of the
Morphisms of
C st
S1[
a,
b,
f] &
S1[
b,
c,
g] &
S1[
c,
d,
h] holds
H1(
h,
H1(
g,
f))
= H1(
H1(
h,
g),
f)
func C -SliceCat o -> strict with_triple-like_morphisms Category means :
Def11:
:: CAT_5:def 11
( the
Objects of
it = Hom o & ( for
a,
b being
Element of
Hom o for
f being
Morphism of
C st
dom b = cod f &
a = b * f holds
[[a,b],f] is
Morphism of
it ) & ( for
m being
Morphism of
it ex
a,
b being
Element of
Hom o ex
f being
Morphism of
C st
(
m = [[a,b],f] &
dom b = cod f &
a = b * f ) ) & ( for
m1,
m2 being
Morphism of
it for
a1,
a2,
a3 being
Element of
Hom o for
f1,
f2 being
Morphism of
C st
m1 = [[a1,a2],f1] &
m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],(f2 * f1)] ) );
existence
ex b1 being strict with_triple-like_morphisms Category st
( the Objects of b1 = Hom o & ( for a, b being Element of Hom o
for f being Morphism of C st dom b = cod f & a = b * f holds
[[a,b],f] is Morphism of b1 ) & ( for m being Morphism of b1 ex a, b being Element of Hom o ex f being Morphism of C st
( m = [[a,b],f] & dom b = cod f & a = b * f ) ) & ( for m1, m2 being Morphism of b1
for a1, a2, a3 being Element of Hom o
for f1, f2 being Morphism of C st m1 = [[a1,a2],f1] & m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],(f2 * f1)] ) )
uniqueness
for b1, b2 being strict with_triple-like_morphisms Category st the Objects of b1 = Hom o & ( for a, b being Element of Hom o
for f being Morphism of C st dom b = cod f & a = b * f holds
[[a,b],f] is Morphism of b1 ) & ( for m being Morphism of b1 ex a, b being Element of Hom o ex f being Morphism of C st
( m = [[a,b],f] & dom b = cod f & a = b * f ) ) & ( for m1, m2 being Morphism of b1
for a1, a2, a3 being Element of Hom o
for f1, f2 being Morphism of C st m1 = [[a1,a2],f1] & m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],(f2 * f1)] ) & the Objects of b2 = Hom o & ( for a, b being Element of Hom o
for f being Morphism of C st dom b = cod f & a = b * f holds
[[a,b],f] is Morphism of b2 ) & ( for m being Morphism of b2 ex a, b being Element of Hom o ex f being Morphism of C st
( m = [[a,b],f] & dom b = cod f & a = b * f ) ) & ( for m1, m2 being Morphism of b2
for a1, a2, a3 being Element of Hom o
for f1, f2 being Morphism of C st m1 = [[a1,a2],f1] & m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],(f2 * f1)] ) holds
b1 = b2
set X =
o Hom ;
defpred S2[
Element of
o Hom ,
Element of
o Hom ,
Element of the
Morphisms of
C]
means (
dom $3
= cod $1 & $2
= $3
* $1 );
A5:
for
a,
b,
c being
Element of
o Hom for
f,
g being
Element of the
Morphisms of
C st
S2[
a,
b,
f] &
S2[
b,
c,
g] holds
(
H1(
g,
f)
in the
Morphisms of
C &
S2[
a,
c,
H1(
g,
f)] )
A7:
for
a being
Element of
o Hom ex
f being
Element of the
Morphisms of
C st
(
S2[
a,
a,
f] & ( for
b being
Element of
o Hom for
g being
Element of the
Morphisms of
C holds
( (
S2[
a,
b,
g] implies
H1(
g,
f)
= g ) & (
S2[
b,
a,
g] implies
H1(
f,
g)
= g ) ) ) )
A8:
for
a,
b,
c,
d being
Element of
o Hom for
f,
g,
h being
Element of the
Morphisms of
C st
S2[
a,
b,
f] &
S2[
b,
c,
g] &
S2[
c,
d,
h] holds
H1(
h,
H1(
g,
f))
= H1(
H1(
h,
g),
f)
func o -SliceCat C -> strict with_triple-like_morphisms Category means :
Def12:
:: CAT_5:def 12
( the
Objects of
it = o Hom & ( for
a,
b being
Element of
o Hom for
f being
Morphism of
C st
dom f = cod a &
f * a = b holds
[[a,b],f] is
Morphism of
it ) & ( for
m being
Morphism of
it ex
a,
b being
Element of
o Hom ex
f being
Morphism of
C st
(
m = [[a,b],f] &
dom f = cod a &
f * a = b ) ) & ( for
m1,
m2 being
Morphism of
it for
a1,
a2,
a3 being
Element of
o Hom for
f1,
f2 being
Morphism of
C st
m1 = [[a1,a2],f1] &
m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],(f2 * f1)] ) );
existence
ex b1 being strict with_triple-like_morphisms Category st
( the Objects of b1 = o Hom & ( for a, b being Element of o Hom
for f being Morphism of C st dom f = cod a & f * a = b holds
[[a,b],f] is Morphism of b1 ) & ( for m being Morphism of b1 ex a, b being Element of o Hom ex f being Morphism of C st
( m = [[a,b],f] & dom f = cod a & f * a = b ) ) & ( for m1, m2 being Morphism of b1
for a1, a2, a3 being Element of o Hom
for f1, f2 being Morphism of C st m1 = [[a1,a2],f1] & m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],(f2 * f1)] ) )
uniqueness
for b1, b2 being strict with_triple-like_morphisms Category st the Objects of b1 = o Hom & ( for a, b being Element of o Hom
for f being Morphism of C st dom f = cod a & f * a = b holds
[[a,b],f] is Morphism of b1 ) & ( for m being Morphism of b1 ex a, b being Element of o Hom ex f being Morphism of C st
( m = [[a,b],f] & dom f = cod a & f * a = b ) ) & ( for m1, m2 being Morphism of b1
for a1, a2, a3 being Element of o Hom
for f1, f2 being Morphism of C st m1 = [[a1,a2],f1] & m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],(f2 * f1)] ) & the Objects of b2 = o Hom & ( for a, b being Element of o Hom
for f being Morphism of C st dom f = cod a & f * a = b holds
[[a,b],f] is Morphism of b2 ) & ( for m being Morphism of b2 ex a, b being Element of o Hom ex f being Morphism of C st
( m = [[a,b],f] & dom f = cod a & f * a = b ) ) & ( for m1, m2 being Morphism of b2
for a1, a2, a3 being Element of o Hom
for f1, f2 being Morphism of C st m1 = [[a1,a2],f1] & m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],(f2 * f1)] ) holds
b1 = b2
end;
:: deftheorem Def11 defines -SliceCat CAT_5:def 11 :
for
C being
Category for
o being
Object of
C for
b3 being
strict with_triple-like_morphisms Category holds
(
b3 = C -SliceCat o iff ( the
Objects of
b3 = Hom o & ( for
a,
b being
Element of
Hom o for
f being
Morphism of
C st
dom b = cod f &
a = b * f holds
[[a,b],f] is
Morphism of
b3 ) & ( for
m being
Morphism of
b3 ex
a,
b being
Element of
Hom o ex
f being
Morphism of
C st
(
m = [[a,b],f] &
dom b = cod f &
a = b * f ) ) & ( for
m1,
m2 being
Morphism of
b3 for
a1,
a2,
a3 being
Element of
Hom o for
f1,
f2 being
Morphism of
C st
m1 = [[a1,a2],f1] &
m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],(f2 * f1)] ) ) );
:: deftheorem Def12 defines -SliceCat CAT_5:def 12 :
for
C being
Category for
o being
Object of
C for
b3 being
strict with_triple-like_morphisms Category holds
(
b3 = o -SliceCat C iff ( the
Objects of
b3 = o Hom & ( for
a,
b being
Element of
o Hom for
f being
Morphism of
C st
dom f = cod a &
f * a = b holds
[[a,b],f] is
Morphism of
b3 ) & ( for
m being
Morphism of
b3 ex
a,
b being
Element of
o Hom ex
f being
Morphism of
C st
(
m = [[a,b],f] &
dom f = cod a &
f * a = b ) ) & ( for
m1,
m2 being
Morphism of
b3 for
a1,
a2,
a3 being
Element of
o Hom for
f1,
f2 being
Morphism of
C st
m1 = [[a1,a2],f1] &
m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],(f2 * f1)] ) ) );
theorem Th29: :: CAT_5:29 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th30: :: CAT_5:30 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th31: :: CAT_5:31 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th32: :: CAT_5:32 :: Showing IDV graph ... (Click the Palm Tree again to close it)
definition
let C be
Category;
let f be
Morphism of
C;
func SliceFunctor f -> Functor of
C -SliceCat (dom f),
C -SliceCat (cod f) means :
Def13:
:: CAT_5:def 13
for
m being
Morphism of
(C -SliceCat (dom f)) holds
it . m = [[(f * (m `11 )),(f * (m `12 ))],(m `2 )];
existence
ex b1 being Functor of C -SliceCat (dom f),C -SliceCat (cod f) st
for m being Morphism of (C -SliceCat (dom f)) holds b1 . m = [[(f * (m `11 )),(f * (m `12 ))],(m `2 )]
uniqueness
for b1, b2 being Functor of C -SliceCat (dom f),C -SliceCat (cod f) st ( for m being Morphism of (C -SliceCat (dom f)) holds b1 . m = [[(f * (m `11 )),(f * (m `12 ))],(m `2 )] ) & ( for m being Morphism of (C -SliceCat (dom f)) holds b2 . m = [[(f * (m `11 )),(f * (m `12 ))],(m `2 )] ) holds
b1 = b2
func SliceContraFunctor f -> Functor of
(cod f) -SliceCat C,
(dom f) -SliceCat C means :
Def14:
:: CAT_5:def 14
for
m being
Morphism of
((cod f) -SliceCat C) holds
it . m = [[((m `11 ) * f),((m `12 ) * f)],(m `2 )];
existence
ex b1 being Functor of (cod f) -SliceCat C,(dom f) -SliceCat C st
for m being Morphism of ((cod f) -SliceCat C) holds b1 . m = [[((m `11 ) * f),((m `12 ) * f)],(m `2 )]
uniqueness
for b1, b2 being Functor of (cod f) -SliceCat C,(dom f) -SliceCat C st ( for m being Morphism of ((cod f) -SliceCat C) holds b1 . m = [[((m `11 ) * f),((m `12 ) * f)],(m `2 )] ) & ( for m being Morphism of ((cod f) -SliceCat C) holds b2 . m = [[((m `11 ) * f),((m `12 ) * f)],(m `2 )] ) holds
b1 = b2
end;
:: deftheorem Def13 defines SliceFunctor CAT_5:def 13 :
:: deftheorem Def14 defines SliceContraFunctor CAT_5:def 14 :
theorem :: CAT_5:33 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: CAT_5:34 :: Showing IDV graph ... (Click the Palm Tree again to close it)