:: CATALG_1 semantic presentation
:: deftheorem Def1 defines -MSF CATALG_1:def 1 :
theorem Th1: :: CATALG_1:1
theorem Th2: :: CATALG_1:2
theorem Th3: :: CATALG_1:3
theorem Th4: :: CATALG_1:4
theorem Th5: :: CATALG_1:5
theorem Th6: :: CATALG_1:6
theorem Th7: :: CATALG_1:7
theorem Th8: :: CATALG_1:8
theorem Th9: :: CATALG_1:9
theorem Th10: :: CATALG_1:10
theorem Th11: :: CATALG_1:11
theorem Th12: :: CATALG_1:12
theorem Th13: :: CATALG_1:13
:: deftheorem Def2 CATALG_1:def 2 :
canceled;
:: deftheorem Def3 defines empty CATALG_1:def 3 :
definition
let c
1 be
set ;
canceled;func CatSign c
1 -> strict ManySortedSign means :
Def5:
:: CATALG_1:def 5
( the
carrier of a
2 = [:{0},(2 -tuples_on a1):] & the
OperSymbols of a
2 = [:{1},(1 -tuples_on a1):] \/ [:{2},(3 -tuples_on a1):] & ( for b
1 being
set holds
( b
1 in a
1 implies ( the
Arity of a
2 . [1,<*b1*>] = {} & the
ResultSort of a
2 . [1,<*b1*>] = [0,<*b1,b1*>] ) ) ) & ( for b
1, b
2, b
3 being
set holds
( b
1 in a
1 & b
2 in a
1 & b
3 in a
1 implies ( the
Arity of a
2 . [2,<*b1,b2,b3*>] = <*[0,<*b2,b3*>],[0,<*b1,b2*>]*> & the
ResultSort of a
2 . [2,<*b1,b2,b3*>] = [0,<*b1,b3*>] ) ) ) );
existence
ex b1 being strict ManySortedSign st
( the carrier of b1 = [:{0},(2 -tuples_on c1):] & the OperSymbols of b1 = [:{1},(1 -tuples_on c1):] \/ [:{2},(3 -tuples_on c1):] & ( for b2 being set holds
( b2 in c1 implies ( the Arity of b1 . [1,<*b2*>] = {} & the ResultSort of b1 . [1,<*b2*>] = [0,<*b2,b2*>] ) ) ) & ( for b2, b3, b4 being set holds
( b2 in c1 & b3 in c1 & b4 in c1 implies ( the Arity of b1 . [2,<*b2,b3,b4*>] = <*[0,<*b3,b4*>],[0,<*b2,b3*>]*> & the ResultSort of b1 . [2,<*b2,b3,b4*>] = [0,<*b2,b4*>] ) ) ) )
correctness
uniqueness
for b1, b2 being strict ManySortedSign holds
( the carrier of b1 = [:{0},(2 -tuples_on c1):] & the OperSymbols of b1 = [:{1},(1 -tuples_on c1):] \/ [:{2},(3 -tuples_on c1):] & ( for b3 being set holds
( b3 in c1 implies ( the Arity of b1 . [1,<*b3*>] = {} & the ResultSort of b1 . [1,<*b3*>] = [0,<*b3,b3*>] ) ) ) & ( for b3, b4, b5 being set holds
( b3 in c1 & b4 in c1 & b5 in c1 implies ( the Arity of b1 . [2,<*b3,b4,b5*>] = <*[0,<*b4,b5*>],[0,<*b3,b4*>]*> & the ResultSort of b1 . [2,<*b3,b4,b5*>] = [0,<*b3,b5*>] ) ) ) & the carrier of b2 = [:{0},(2 -tuples_on c1):] & the OperSymbols of b2 = [:{1},(1 -tuples_on c1):] \/ [:{2},(3 -tuples_on c1):] & ( for b3 being set holds
( b3 in c1 implies ( the Arity of b2 . [1,<*b3*>] = {} & the ResultSort of b2 . [1,<*b3*>] = [0,<*b3,b3*>] ) ) ) & ( for b3, b4, b5 being set holds
( b3 in c1 & b4 in c1 & b5 in c1 implies ( the Arity of b2 . [2,<*b3,b4,b5*>] = <*[0,<*b4,b5*>],[0,<*b3,b4*>]*> & the ResultSort of b2 . [2,<*b3,b4,b5*>] = [0,<*b3,b5*>] ) ) ) implies b1 = b2 );
end;
:: deftheorem Def4 CATALG_1:def 4 :
canceled;
:: deftheorem Def5 defines CatSign CATALG_1:def 5 :
for b
1 being
set for b
2 being
strict ManySortedSign holds
( b
2 = CatSign b
1 iff ( the
carrier of b
2 = [:{0},(2 -tuples_on b1):] & the
OperSymbols of b
2 = [:{1},(1 -tuples_on b1):] \/ [:{2},(3 -tuples_on b1):] & ( for b
3 being
set holds
( b
3 in b
1 implies ( the
Arity of b
2 . [1,<*b3*>] = {} & the
ResultSort of b
2 . [1,<*b3*>] = [0,<*b3,b3*>] ) ) ) & ( for b
3, b
4, b
5 being
set holds
( b
3 in b
1 & b
4 in b
1 & b
5 in b
1 implies ( the
Arity of b
2 . [2,<*b3,b4,b5*>] = <*[0,<*b4,b5*>],[0,<*b3,b4*>]*> & the
ResultSort of b
2 . [2,<*b3,b4,b5*>] = [0,<*b3,b5*>] ) ) ) ) );
:: deftheorem Def6 defines Categorial CATALG_1:def 6 :
:: deftheorem Def7 defines CatSignature CATALG_1:def 7 :
theorem Th14: :: CATALG_1:14
:: deftheorem Def8 defines underlay CATALG_1:def 8 :
theorem Th15: :: CATALG_1:15
:: deftheorem Def9 defines delta-concrete CATALG_1:def 9 :
theorem Th16: :: CATALG_1:16
theorem Th17: :: CATALG_1:17
theorem Th18: :: CATALG_1:18
theorem Th19: :: CATALG_1:19
definition
let c
1 be
set ;
func idsym c
1 -> set equals :: CATALG_1:def 10
[1,<*a1*>];
correctness
coherence
[1,<*c1*>] is set ;
;
let c
2 be
set ;
func homsym c
1,c
2 -> set equals :: CATALG_1:def 11
[0,<*a1,a2*>];
correctness
coherence
[0,<*c1,c2*>] is set ;
;
let c
3 be
set ;
func compsym c
1,c
2,c
3 -> set equals :: CATALG_1:def 12
[2,<*a1,a2,a3*>];
correctness
coherence
[2,<*c1,c2,c3*>] is set ;
;
end;
:: deftheorem Def10 defines idsym CATALG_1:def 10 :
:: deftheorem Def11 defines homsym CATALG_1:def 11 :
:: deftheorem Def12 defines compsym CATALG_1:def 12 :
theorem Th20: :: CATALG_1:20
theorem Th21: :: CATALG_1:21
theorem Th22: :: CATALG_1:22
for b
1, b
2, b
3, b
4 being
set holds
(
homsym b
1,b
3 = homsym b
2,b
4 implies ( b
1 = b
2 & b
3 = b
4 ) )
theorem Th23: :: CATALG_1:23
for b
1, b
2, b
3, b
4, b
5, b
6 being
set holds
(
compsym b
1,b
3,b
5 = compsym b
2,b
4,b
6 implies ( b
1 = b
2 & b
3 = b
4 & b
5 = b
6 ) )
theorem Th24: :: CATALG_1:24
theorem Th25: :: CATALG_1:25
theorem Th26: :: CATALG_1:26
theorem Th27: :: CATALG_1:27
theorem Th28: :: CATALG_1:28
theorem Th29: :: CATALG_1:29
for b
1 being non
empty set for b
2, b
3, b
4 being
Element of b
1 holds
(
the_arity_of (compsym b2,b3,b4) = <*(homsym b3,b4),(homsym b2,b3)*> &
the_result_sort_of (compsym b2,b3,b4) = homsym b
2,b
4 )
by Def5;
definition
let c
1, c
2 be
Category;
let c
3 be
Functor of c
1,c
2;
func Upsilon c
3 -> Function of the
carrier of
(CatSign the Objects of a1),the
carrier of
(CatSign the Objects of a2) means :
Def13:
:: CATALG_1:def 13
for b
1 being
SortSymbol of
(CatSign the Objects of a1) holds a
4 . b
1 = [0,((Obj a3) * (b1 `2 ))];
uniqueness
for b1, b2 being Function of the carrier of (CatSign the Objects of c1),the carrier of (CatSign the Objects of c2) holds
( ( for b3 being SortSymbol of (CatSign the Objects of c1) holds b1 . b3 = [0,((Obj c3) * (b3 `2 ))] ) & ( for b3 being SortSymbol of (CatSign the Objects of c1) holds b2 . b3 = [0,((Obj c3) * (b3 `2 ))] ) implies b1 = b2 )
existence
ex b1 being Function of the carrier of (CatSign the Objects of c1),the carrier of (CatSign the Objects of c2) st
for b2 being SortSymbol of (CatSign the Objects of c1) holds b1 . b2 = [0,((Obj c3) * (b2 `2 ))]
func Psi c
3 -> Function of the
OperSymbols of
(CatSign the Objects of a1),the
OperSymbols of
(CatSign the Objects of a2) means :
Def14:
:: CATALG_1:def 14
for b
1 being
OperSymbol of
(CatSign the Objects of a1) holds a
4 . b
1 = [(b1 `1 ),((Obj a3) * (b1 `2 ))];
uniqueness
for b1, b2 being Function of the OperSymbols of (CatSign the Objects of c1),the OperSymbols of (CatSign the Objects of c2) holds
( ( for b3 being OperSymbol of (CatSign the Objects of c1) holds b1 . b3 = [(b3 `1 ),((Obj c3) * (b3 `2 ))] ) & ( for b3 being OperSymbol of (CatSign the Objects of c1) holds b2 . b3 = [(b3 `1 ),((Obj c3) * (b3 `2 ))] ) implies b1 = b2 )
existence
ex b1 being Function of the OperSymbols of (CatSign the Objects of c1),the OperSymbols of (CatSign the Objects of c2) st
for b2 being OperSymbol of (CatSign the Objects of c1) holds b1 . b2 = [(b2 `1 ),((Obj c3) * (b2 `2 ))]
end;
:: deftheorem Def13 defines Upsilon CATALG_1:def 13 :
:: deftheorem Def14 defines Psi CATALG_1:def 14 :
theorem Th30: :: CATALG_1:30
theorem Th31: :: CATALG_1:31
theorem Th32: :: CATALG_1:32
theorem Th33: :: CATALG_1:33
theorem Th34: :: CATALG_1:34
Lemma36:
for b1 being Category
for b2 being MSAlgebra of CatSign the Objects of b1 holds
( ( for b3, b4 being Object of b1 holds the Sorts of b2 . (homsym b3,b4) = Hom b3,b4 ) implies for b3, b4, b5 being Object of b1 holds
( Args (compsym b3,b4,b5),b2 = product <*(Hom b4,b5),(Hom b3,b4)*> & Result (compsym b3,b4,b5),b2 = Hom b3,b5 ) )
scheme :: CATALG_1:sch 1
s1{ F
1()
-> non
empty set , F
2()
-> non
empty set , F
3(
set ,
set )
-> set , F
4(
set ,
set ,
set ,
set ,
set )
-> set , F
5(
set )
-> set } :
ex b
1 being
strict MSAlgebra of
CatSign F
1() st
( ( for b
2, b
3 being
Element of F
1() holds the
Sorts of b
1 . (homsym b2,b3) = F
3(b
2,b
3) ) & ( for b
2 being
Element of F
1() holds
(Den (idsym b2),b1) . {} = F
5(b
2) ) & ( for b
2, b
3, b
4 being
Element of F
1()
for b
5, b
6 being
Element of F
2() holds
( b
5 in F
3(b
2,b
3) & b
6 in F
3(b
3,b
4) implies
(Den (compsym b2,b3,b4),b1) . <*b6,b5*> = F
4(b
2,b
3,b
4,b
6,b
5) ) ) )
provided
E37:
for b
1, b
2 being
Element of F
1() holds F
3(b
1,b
2)
c= F
2()
and
E38:
for b
1 being
Element of F
1() holds F
5(b
1)
in F
3(b
1,b
1)
and
E39:
for b
1, b
2, b
3 being
Element of F
1()
for b
4, b
5 being
Element of F
2() holds
( b
4 in F
3(b
1,b
2) & b
5 in F
3(b
2,b
3) implies F
4(b
1,b
2,b
3,b
5,b
4)
in F
3(b
1,b
3) )
definition
let c
1 be
Category;
func MSAlg c
1 -> strict MSAlgebra of
CatSign the
Objects of a
1 means :
Def15:
:: CATALG_1:def 15
( ( for b
1, b
2 being
Object of a
1 holds the
Sorts of a
2 . (homsym b1,b2) = Hom b
1,b
2 ) & ( for b
1 being
Object of a
1 holds
(Den (idsym b1),a2) . {} = id b
1 ) & ( for b
1, b
2, b
3 being
Object of a
1for b
4, b
5 being
Morphism of a
1 holds
(
dom b
4 = b
1 &
cod b
4 = b
2 &
dom b
5 = b
2 &
cod b
5 = b
3 implies
(Den (compsym b1,b2,b3),a2) . <*b5,b4*> = b
5 * b
4 ) ) );
uniqueness
for b1, b2 being strict MSAlgebra of CatSign the Objects of c1 holds
( ( for b3, b4 being Object of c1 holds the Sorts of b1 . (homsym b3,b4) = Hom b3,b4 ) & ( for b3 being Object of c1 holds (Den (idsym b3),b1) . {} = id b3 ) & ( for b3, b4, b5 being Object of c1
for b6, b7 being Morphism of c1 holds
( dom b6 = b3 & cod b6 = b4 & dom b7 = b4 & cod b7 = b5 implies (Den (compsym b3,b4,b5),b1) . <*b7,b6*> = b7 * b6 ) ) & ( for b3, b4 being Object of c1 holds the Sorts of b2 . (homsym b3,b4) = Hom b3,b4 ) & ( for b3 being Object of c1 holds (Den (idsym b3),b2) . {} = id b3 ) & ( for b3, b4, b5 being Object of c1
for b6, b7 being Morphism of c1 holds
( dom b6 = b3 & cod b6 = b4 & dom b7 = b4 & cod b7 = b5 implies (Den (compsym b3,b4,b5),b2) . <*b7,b6*> = b7 * b6 ) ) implies b1 = b2 )
correctness
existence
ex b1 being strict MSAlgebra of CatSign the Objects of c1 st
( ( for b2, b3 being Object of c1 holds the Sorts of b1 . (homsym b2,b3) = Hom b2,b3 ) & ( for b2 being Object of c1 holds (Den (idsym b2),b1) . {} = id b2 ) & ( for b2, b3, b4 being Object of c1
for b5, b6 being Morphism of c1 holds
( dom b5 = b2 & cod b5 = b3 & dom b6 = b3 & cod b6 = b4 implies (Den (compsym b2,b3,b4),b1) . <*b6,b5*> = b6 * b5 ) ) );
end;
:: deftheorem Def15 defines MSAlg CATALG_1:def 15 :
for b
1 being
Categoryfor b
2 being
strict MSAlgebra of
CatSign the
Objects of b
1 holds
( b
2 = MSAlg b
1 iff ( ( for b
3, b
4 being
Object of b
1 holds the
Sorts of b
2 . (homsym b3,b4) = Hom b
3,b
4 ) & ( for b
3 being
Object of b
1 holds
(Den (idsym b3),b2) . {} = id b
3 ) & ( for b
3, b
4, b
5 being
Object of b
1for b
6, b
7 being
Morphism of b
1 holds
(
dom b
6 = b
3 &
cod b
6 = b
4 &
dom b
7 = b
4 &
cod b
7 = b
5 implies
(Den (compsym b3,b4,b5),b2) . <*b7,b6*> = b
7 * b
6 ) ) ) );
theorem Th35: :: CATALG_1:35
canceled;
theorem Th36: :: CATALG_1:36
theorem Th37: :: CATALG_1:37
for b
1 being
Categoryfor b
2, b
3, b
4 being
Object of b
1 holds
(
Args (compsym b2,b3,b4),
(MSAlg b1) = product <*(Hom b3,b4),(Hom b2,b3)*> &
Result (compsym b2,b3,b4),
(MSAlg b1) = Hom b
2,b
4 )
theorem Th38: :: CATALG_1:38
theorem Th39: :: CATALG_1:39
theorem Th40: :: CATALG_1:40
for b
1, b
2 being
Categoryfor b
3 being
Functor of b
1,b
2for b
4, b
5, b
6 being
Object of b
1for b
7, b
8 being
Morphism of b
1 holds
( b
7 in Hom b
4,b
5 & b
8 in Hom b
5,b
6 implies for b
9 being
Element of
Args (compsym b4,b5,b6),
(MSAlg b1) holds
( b
9 = <*b8,b7*> implies for b
10 being
ManySortedFunction of
(MSAlg b1),
((MSAlg b2) | (CatSign the Objects of b1),(Upsilon b3),(Psi b3)) holds
( b
10 = b
3 -MSF the
carrier of
(CatSign the Objects of b1),the
Sorts of
(MSAlg b1) implies b
10 # b
9 = <*(b3 . b8),(b3 . b7)*> ) ) )
theorem Th41: :: CATALG_1:41
canceled;
theorem Th42: :: CATALG_1:42
theorem Th43: :: CATALG_1:43
for b
1 being
Categoryfor b
2, b
3, b
4, b
5 being
Object of b
1for b
6, b
7, b
8 being
Morphism of b
1 holds
( b
6 in Hom b
2,b
3 & b
7 in Hom b
3,b
4 & b
8 in Hom b
4,b
5 implies
(Den (compsym b2,b4,b5),(MSAlg b1)) . <*b8,((Den (compsym b2,b3,b4),(MSAlg b1)) . <*b7,b6*>)*> = (Den (compsym b2,b3,b5),(MSAlg b1)) . <*((Den (compsym b3,b4,b5),(MSAlg b1)) . <*b8,b7*>),b6*> )
theorem Th44: :: CATALG_1:44
for b
1 being
Categoryfor b
2, b
3 being
Object of b
1for b
4 being
Morphism of b
1 holds
( b
4 in Hom b
2,b
3 implies (
(Den (compsym b2,b3,b3),(MSAlg b1)) . <*(id b3),b4*> = b
4 &
(Den (compsym b2,b2,b3),(MSAlg b1)) . <*b4,(id b2)*> = b
4 ) )
theorem Th45: :: CATALG_1:45