:: INDEX_1 semantic presentation
theorem Th1: :: INDEX_1:1
theorem Th2: :: INDEX_1:2
:: deftheorem Def1 defines Category-yielding INDEX_1:def 1 :
:: deftheorem Def2 defines Objs INDEX_1:def 2 :
:: deftheorem Def3 defines Mphs INDEX_1:def 3 :
theorem Th3: :: INDEX_1:3
:: deftheorem Def4 defines ManySortedSet INDEX_1:def 4 :
:: deftheorem Def5 defines Category-yielding_on_first INDEX_1:def 5 :
:: deftheorem Def6 defines Function-yielding_on_second INDEX_1:def 6 :
:: deftheorem Def7 defines ManySortedFunctor INDEX_1:def 7 :
:: deftheorem Def8 defines Indexing INDEX_1:def 8 :
theorem Th4: :: INDEX_1:4
theorem Th5: :: INDEX_1:5
E12:
now
let c1,
c2 be non
empty set ;
let c3,
c4 be
Function of
c2,
c1;
let c5 be
Indexing of
c3,
c4;
E13:
dom (c5 `1 ) = c1
by PBOOLE:def 3;
consider c6 being
strict Categorial full Category such that E14:
the
Objects of
c6 = rng (c5 `1 )
by CAT_5:20;
take c7 =
c6;
thus
for
b1 being
Element of
c1 holds
(c5 `1 ) . b1 is
Object of
c7
by E13, E14, FUNCT_1:def 5;
let c8 be
Element of
c2;
(
(c5 `1 ) . (c3 . c8) is
Object of
c7 &
(c5 `1 ) . (c4 . c8) is
Object of
c7 &
(c5 `2 ) . c8 is
Functor of
(c5 `1 ) . (c3 . c8),
(c5 `1 ) . (c4 . c8) )
by E13, E14, Th4, FUNCT_1:def 5;
hence
[[((c5 `1 ) . (c3 . c8)),((c5 `1 ) . (c4 . c8))],((c5 `2 ) . c8)] is
Morphism of
c7
by CAT_5:def 8;
end;
:: deftheorem Def9 defines TargetCat INDEX_1:def 9 :
definition
let c1,
c2 be non
empty set ;
let c3,
c4 be
Function of
c2,
c1;
let c5 be
PartFunc of
[:c2,c2:],
c2;
let c6 be
Function of
c1,
c2;
given c7 being
Category such that E15:
c7 = CatStr(#
c1,
c2,
c3,
c4,
c5,
c6 #)
;
mode Indexing of
c3,
c4,
c5,
c6 -> Indexing of
a3,
a4 means :
Def10:
:: INDEX_1:def 10
( ( for
b1 being
Element of
a1 holds
(a7 `2 ) . (a6 . b1) = id ((a7 `1 ) . b1) ) & ( for
b1,
b2 being
Element of
a2 st
a3 . b2 = a4 . b1 holds
(a7 `2 ) . (a5 . [b2,b1]) = ((a7 `2 ) . b2) * ((a7 `2 ) . b1) ) );
existence
ex b1 being Indexing of c3,c4 st
( ( for b2 being Element of c1 holds (b1 `2 ) . (c6 . b2) = id ((b1 `1 ) . b2) ) & ( for b2, b3 being Element of c2 st c3 . b3 = c4 . b2 holds
(b1 `2 ) . (c5 . [b3,b2]) = ((b1 `2 ) . b3) * ((b1 `2 ) . b2) ) )
end;
:: deftheorem Def10 defines Indexing INDEX_1:def 10 :
for
b1,
b2 being non
empty set for
b3,
b4 being
Function of
b2,
b1 for
b5 being
PartFunc of
[:b2,b2:],
b2 for
b6 being
Function of
b1,
b2 st ex
b7 being
Category st
b7 = CatStr(#
b1,
b2,
b3,
b4,
b5,
b6 #) holds
for
b7 being
Indexing of
b3,
b4 holds
(
b7 is
Indexing of
b3,
b4,
b5,
b6 iff ( ( for
b8 being
Element of
b1 holds
(b7 `2 ) . (b6 . b8) = id ((b7 `1 ) . b8) ) & ( for
b8,
b9 being
Element of
b2 st
b3 . b9 = b4 . b8 holds
(b7 `2 ) . (b5 . [b9,b8]) = ((b7 `2 ) . b9) * ((b7 `2 ) . b8) ) ) );
theorem Th6: :: INDEX_1:6
theorem Th7: :: INDEX_1:7
theorem Th8: :: INDEX_1:8
theorem Th9: :: INDEX_1:9
theorem Th10: :: INDEX_1:10
definition
let c1 be
Category;
let c2 be
Indexing of
c1;
let c3 be
TargetCat of
c2;
func c2 -functor c1,
c3 -> Functor of
a1,
a3 means :
Def11:
:: INDEX_1:def 11
for
b1 being
Morphism of
a1 holds
a4 . b1 = [[((a2 `1 ) . (dom b1)),((a2 `1 ) . (cod b1))],((a2 `2 ) . b1)];
existence
ex b1 being Functor of c1,c3 st
for b2 being Morphism of c1 holds b1 . b2 = [[((c2 `1 ) . (dom b2)),((c2 `1 ) . (cod b2))],((c2 `2 ) . b2)]
uniqueness
for b1, b2 being Functor of c1,c3 st ( for b3 being Morphism of c1 holds b1 . b3 = [[((c2 `1 ) . (dom b3)),((c2 `1 ) . (cod b3))],((c2 `2 ) . b3)] ) & ( for b3 being Morphism of c1 holds b2 . b3 = [[((c2 `1 ) . (dom b3)),((c2 `1 ) . (cod b3))],((c2 `2 ) . b3)] ) holds
b1 = b2
end;
:: deftheorem Def11 defines -functor INDEX_1:def 11 :
Lemma19:
for b1 being Category
for b2 being Indexing of b1
for b3 being TargetCat of b2 holds Obj (b2 -functor b1,b3) = b2 `1
theorem Th11: :: INDEX_1:11
theorem Th12: :: INDEX_1:12
theorem Th13: :: INDEX_1:13
:: deftheorem Def12 defines rng INDEX_1:def 12 :
theorem Th14: :: INDEX_1:14
:: deftheorem Def13 defines . INDEX_1:def 13 :
:: deftheorem Def14 defines . INDEX_1:def 14 :
E23:
now
let c1,
c2 be
Category;
set c3 = the
Objects of
c1 --> c2;
set c4 = the
Morphisms of
c1 --> (id c2);
set c5 =
[(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))];
let c6 be
Morphism of
c1;
dom (([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `1 ) * the Dom of c1) = the
Morphisms of
c1
by PBOOLE:def 3;
then E24:
(([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `1 ) * the Dom of c1) . c6 =
([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `1 ) . (the Dom of c1 . c6)
by FUNCT_1:22
.=
(the Objects of c1 --> c2) . (the Dom of c1 . c6)
by MCART_1:7
.=
c2
by FUNCOP_1:13
;
dom (([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `1 ) * the Cod of c1) = the
Morphisms of
c1
by PBOOLE:def 3;
then E25:
(([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `1 ) * the Cod of c1) . c6 =
([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `1 ) . (the Cod of c1 . c6)
by FUNCT_1:22
.=
(the Objects of c1 --> c2) . (the Cod of c1 . c6)
by MCART_1:7
.=
c2
by FUNCOP_1:13
;
([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `2 ) . c6 =
(the Morphisms of c1 --> (id c2)) . c6
by MCART_1:7
.=
id c2
by FUNCOP_1:13
;
hence
([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `2 ) . c6 is
Functor of
(([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `1 ) * the Dom of c1) . c6,
(([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `1 ) * the Cod of c1) . c6
by E24, E25;
end;
E24:
now
let c1,
c2 be
Category;
set c3 = the
Objects of
c1 --> c2;
set c4 = the
Morphisms of
c1 --> (id c2);
set c5 =
[(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))];
let c6 be
Morphism of
c1;
dom (([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `1 ) * the Dom of c1) = the
Morphisms of
c1
by PBOOLE:def 3;
then E25:
(([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `1 ) * the Dom of c1) . c6 =
([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `1 ) . (the Dom of c1 . c6)
by FUNCT_1:22
.=
(the Objects of c1 --> c2) . (the Dom of c1 . c6)
by MCART_1:7
.=
c2
by FUNCOP_1:13
;
dom (([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `1 ) * the Cod of c1) = the
Morphisms of
c1
by PBOOLE:def 3;
then E26:
(([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `1 ) * the Cod of c1) . c6 =
([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `1 ) . (the Cod of c1 . c6)
by FUNCT_1:22
.=
(the Objects of c1 --> c2) . (the Cod of c1 . c6)
by MCART_1:7
.=
c2
by FUNCOP_1:13
;
([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `2 ) . c6 =
(the Morphisms of c1 --> (id c2)) . c6
by MCART_1:7
.=
id c2
by FUNCOP_1:13
;
hence
([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `2 ) . c6 is
Functor of
(([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `1 ) * the Cod of c1) . c6,
(([(the Objects of c1 --> c2),(the Morphisms of c1 --> (id c2))] `1 ) * the Dom of c1) . c6
by E25, E26;
end;
theorem Th15: :: INDEX_1:15
theorem Th16: :: INDEX_1:16
:: deftheorem Def15 defines -indexing_of INDEX_1:def 15 :
theorem Th17: :: INDEX_1:17
theorem Th18: :: INDEX_1:18
theorem Th19: :: INDEX_1:19
theorem Th20: :: INDEX_1:20
theorem Th21: :: INDEX_1:21
definition
let c1,
c2,
c3 be
Category;
let c4 be
Functor of
c1,
c2;
let c5 be
Indexing of
c3;
assume E30:
Image c4 is
Subcategory of
c3
;
func c5 * c4 -> Indexing of
a1 means :
Def16:
:: INDEX_1:def 16
for
b1 being
Functor of
a1,
a3 st
b1 = a4 holds
a6 = ((a5 -functor a3,(rng a5)) * b1) -indexing_of a1;
existence
ex b1 being Indexing of c1 st
for b2 being Functor of c1,c3 st b2 = c4 holds
b1 = ((c5 -functor c3,(rng c5)) * b2) -indexing_of c1
uniqueness
for b1, b2 being Indexing of c1 st ( for b3 being Functor of c1,c3 st b3 = c4 holds
b1 = ((c5 -functor c3,(rng c5)) * b3) -indexing_of c1 ) & ( for b3 being Functor of c1,c3 st b3 = c4 holds
b2 = ((c5 -functor c3,(rng c5)) * b3) -indexing_of c1 ) holds
b1 = b2
end;
:: deftheorem Def16 defines * INDEX_1:def 16 :
theorem Th22: :: INDEX_1:22
theorem Th23: :: INDEX_1:23
theorem Th24: :: INDEX_1:24
theorem Th25: :: INDEX_1:25
theorem Th26: :: INDEX_1:26
definition
let c1 be
Category;
let c2 be
Indexing of
c1;
let c3 be
Categorial Category;
assume E35:
c3 is
TargetCat of
c2
;
let c4 be
Categorial Category;
let c5 be
Functor of
c3,
c4;
func c5 * c2 -> Indexing of
a1 means :
Def17:
:: INDEX_1:def 17
for
b1 being
TargetCat of
a2 for
b2 being
Functor of
b1,
a4 st
b1 = a3 &
b2 = a5 holds
a6 = (b2 * (a2 -functor a1,b1)) -indexing_of a1;
existence
ex b1 being Indexing of c1 st
for b2 being TargetCat of c2
for b3 being Functor of b2,c4 st b2 = c3 & b3 = c5 holds
b1 = (b3 * (c2 -functor c1,b2)) -indexing_of c1
uniqueness
for b1, b2 being Indexing of c1 st ( for b3 being TargetCat of c2
for b4 being Functor of b3,c4 st b3 = c3 & b4 = c5 holds
b1 = (b4 * (c2 -functor c1,b3)) -indexing_of c1 ) & ( for b3 being TargetCat of c2
for b4 being Functor of b3,c4 st b3 = c3 & b4 = c5 holds
b2 = (b4 * (c2 -functor c1,b3)) -indexing_of c1 ) holds
b1 = b2
end;
:: deftheorem Def17 defines * INDEX_1:def 17 :
theorem Th27: :: INDEX_1:27
theorem Th28: :: INDEX_1:28
theorem Th29: :: INDEX_1:29
theorem Th30: :: INDEX_1:30
theorem Th31: :: INDEX_1:31
:: deftheorem Def18 defines * INDEX_1:def 18 :
theorem Th32: :: INDEX_1:32
theorem Th33: :: INDEX_1:33
theorem Th34: :: INDEX_1:34
theorem Th35: :: INDEX_1:35
theorem Th36: :: INDEX_1:36
theorem Th37: :: INDEX_1:37
theorem Th38: :: INDEX_1:38