:: CATALG_1 semantic presentation :: Showing IDV graph ... (Click the Palm Trees again to close it)
:: deftheorem Def1 defines -MSF CATALG_1:def 1 :
theorem :: CATALG_1:1 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: CATALG_1:2 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: CATALG_1:3 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th4: :: CATALG_1:4 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th5: :: CATALG_1:5 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: CATALG_1:6 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th7: :: CATALG_1:7 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th8: :: CATALG_1:8 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: CATALG_1:9 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th10: :: CATALG_1:10 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th11: :: CATALG_1:11 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th12: :: CATALG_1:12 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: CATALG_1:13 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem CATALG_1:def 2 :
canceled;
:: deftheorem Def3 defines empty CATALG_1:def 3 :
definition
let A be
set ;
canceled;func CatSign A -> strict ManySortedSign means :
Def5:
:: CATALG_1:def 5
( the
carrier of
it = [:{0},(2 -tuples_on A):] & the
OperSymbols of
it = [:{1},(1 -tuples_on A):] \/ [:{2},(3 -tuples_on A):] & ( for
a being
set st
a in A holds
( the
Arity of
it . [1,<*a*>] = {} & the
ResultSort of
it . [1,<*a*>] = [0,<*a,a*>] ) ) & ( for
a,
b,
c being
set st
a in A &
b in A &
c in A holds
( the
Arity of
it . [2,<*a,b,c*>] = <*[0,<*b,c*>],[0,<*a,b*>]*> & the
ResultSort of
it . [2,<*a,b,c*>] = [0,<*a,c*>] ) ) );
existence
ex b1 being strict ManySortedSign st
( the carrier of b1 = [:{0},(2 -tuples_on A):] & the OperSymbols of b1 = [:{1},(1 -tuples_on A):] \/ [:{2},(3 -tuples_on A):] & ( for a being set st a in A holds
( the Arity of b1 . [1,<*a*>] = {} & the ResultSort of b1 . [1,<*a*>] = [0,<*a,a*>] ) ) & ( for a, b, c being set st a in A & b in A & c in A holds
( the Arity of b1 . [2,<*a,b,c*>] = <*[0,<*b,c*>],[0,<*a,b*>]*> & the ResultSort of b1 . [2,<*a,b,c*>] = [0,<*a,c*>] ) ) )
correctness
uniqueness
for b1, b2 being strict ManySortedSign st the carrier of b1 = [:{0},(2 -tuples_on A):] & the OperSymbols of b1 = [:{1},(1 -tuples_on A):] \/ [:{2},(3 -tuples_on A):] & ( for a being set st a in A holds
( the Arity of b1 . [1,<*a*>] = {} & the ResultSort of b1 . [1,<*a*>] = [0,<*a,a*>] ) ) & ( for a, b, c being set st a in A & b in A & c in A holds
( the Arity of b1 . [2,<*a,b,c*>] = <*[0,<*b,c*>],[0,<*a,b*>]*> & the ResultSort of b1 . [2,<*a,b,c*>] = [0,<*a,c*>] ) ) & the carrier of b2 = [:{0},(2 -tuples_on A):] & the OperSymbols of b2 = [:{1},(1 -tuples_on A):] \/ [:{2},(3 -tuples_on A):] & ( for a being set st a in A holds
( the Arity of b2 . [1,<*a*>] = {} & the ResultSort of b2 . [1,<*a*>] = [0,<*a,a*>] ) ) & ( for a, b, c being set st a in A & b in A & c in A holds
( the Arity of b2 . [2,<*a,b,c*>] = <*[0,<*b,c*>],[0,<*a,b*>]*> & the ResultSort of b2 . [2,<*a,b,c*>] = [0,<*a,c*>] ) ) holds
b1 = b2;
end;
:: deftheorem CATALG_1:def 4 :
canceled;
:: deftheorem Def5 defines CatSign CATALG_1:def 5 :
for
A being
set for
b2 being
strict ManySortedSign holds
(
b2 = CatSign A iff ( the
carrier of
b2 = [:{0},(2 -tuples_on A):] & the
OperSymbols of
b2 = [:{1},(1 -tuples_on A):] \/ [:{2},(3 -tuples_on A):] & ( for
a being
set st
a in A holds
( the
Arity of
b2 . [1,<*a*>] = {} & the
ResultSort of
b2 . [1,<*a*>] = [0,<*a,a*>] ) ) & ( for
a,
b,
c being
set st
a in A &
b in A &
c in A holds
( the
Arity of
b2 . [2,<*a,b,c*>] = <*[0,<*b,c*>],[0,<*a,b*>]*> & the
ResultSort of
b2 . [2,<*a,b,c*>] = [0,<*a,c*>] ) ) ) );
:: deftheorem Def6 defines Categorial CATALG_1:def 6 :
:: deftheorem Def7 defines CatSignature CATALG_1:def 7 :
theorem :: CATALG_1:14 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def8 defines underlay CATALG_1:def 8 :
theorem Th15: :: CATALG_1:15 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def9 defines delta-concrete CATALG_1:def 9 :
theorem Th16: :: CATALG_1:16 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: CATALG_1:17 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: CATALG_1:18 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: CATALG_1:19 :: Showing IDV graph ... (Click the Palm Tree again to close it)
definition
let a be
set ;
func idsym a -> set equals :: CATALG_1:def 10
[1,<*a*>];
correctness
coherence
[1,<*a*>] is set ;
;
let b be
set ;
func homsym a,
b -> set equals :: CATALG_1:def 11
[0,<*a,b*>];
correctness
coherence
[0,<*a,b*>] is set ;
;
let c be
set ;
func compsym a,
b,
c -> set equals :: CATALG_1:def 12
[2,<*a,b,c*>];
correctness
coherence
[2,<*a,b,c*>] is set ;
;
end;
:: deftheorem defines idsym CATALG_1:def 10 :
:: deftheorem defines homsym CATALG_1:def 11 :
:: deftheorem defines compsym CATALG_1:def 12 :
theorem Th20: :: CATALG_1:20 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th21: :: CATALG_1:21 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th22: :: CATALG_1:22 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th23: :: CATALG_1:23 :: Showing IDV graph ... (Click the Palm Tree again to close it)
for
a1,
b1,
a2,
b2,
a3,
b3 being
set st
compsym a1,
a2,
a3 = compsym b1,
b2,
b3 holds
(
a1 = b1 &
a2 = b2 &
a3 = b3 )
theorem Th24: :: CATALG_1:24 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th25: :: CATALG_1:25 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th26: :: CATALG_1:26 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th27: :: CATALG_1:27 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th28: :: CATALG_1:28 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th29: :: CATALG_1:29 :: Showing IDV graph ... (Click the Palm Tree again to close it)
for
A being non
empty set for
a,
b,
c being
Element of
A holds
(
the_arity_of (compsym a,b,c) = <*(homsym b,c),(homsym a,b)*> &
the_result_sort_of (compsym a,b,c) = homsym a,
c )
by Def5;
definition
let C1,
C2 be
Category;
let F be
Functor of
C1,
C2;
func Upsilon F -> Function of the
carrier of
(CatSign the Objects of C1),the
carrier of
(CatSign the Objects of C2) means :
Def13:
:: CATALG_1:def 13
for
s being
SortSymbol of
(CatSign the Objects of C1) holds
it . s = [0,((Obj F) * (s `2 ))];
uniqueness
for b1, b2 being Function of the carrier of (CatSign the Objects of C1),the carrier of (CatSign the Objects of C2) st ( for s being SortSymbol of (CatSign the Objects of C1) holds b1 . s = [0,((Obj F) * (s `2 ))] ) & ( for s being SortSymbol of (CatSign the Objects of C1) holds b2 . s = [0,((Obj F) * (s `2 ))] ) holds
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 s being SortSymbol of (CatSign the Objects of C1) holds b1 . s = [0,((Obj F) * (s `2 ))]
func Psi F -> Function of the
OperSymbols of
(CatSign the Objects of C1),the
OperSymbols of
(CatSign the Objects of C2) means :
Def14:
:: CATALG_1:def 14
for
o being
OperSymbol of
(CatSign the Objects of C1) holds
it . o = [(o `1 ),((Obj F) * (o `2 ))];
uniqueness
for b1, b2 being Function of the OperSymbols of (CatSign the Objects of C1),the OperSymbols of (CatSign the Objects of C2) st ( for o being OperSymbol of (CatSign the Objects of C1) holds b1 . o = [(o `1 ),((Obj F) * (o `2 ))] ) & ( for o being OperSymbol of (CatSign the Objects of C1) holds b2 . o = [(o `1 ),((Obj F) * (o `2 ))] ) holds
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 o being OperSymbol of (CatSign the Objects of C1) holds b1 . o = [(o `1 ),((Obj F) * (o `2 ))]
end;
:: deftheorem Def13 defines Upsilon CATALG_1:def 13 :
:: deftheorem Def14 defines Psi CATALG_1:def 14 :
theorem Th30: :: CATALG_1:30 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th31: :: CATALG_1:31 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th32: :: CATALG_1:32 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th33: :: CATALG_1:33 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th34: :: CATALG_1:34 :: Showing IDV graph ... (Click the Palm Tree again to close it)
Lm3:
for C being Category
for A being MSAlgebra of CatSign the Objects of C st ( for a, b being Object of C holds the Sorts of A . (homsym a,b) = Hom a,b ) holds
for a, b, c being Object of C holds
( Args (compsym a,b,c),A = product <*(Hom b,c),(Hom a,b)*> & Result (compsym a,b,c),A = Hom a,c )
scheme :: CATALG_1:sch 1
CatAlgEx{
F1()
-> non
empty set ,
F2()
-> non
empty set ,
F3(
set ,
set )
-> set ,
F4(
set ,
set ,
set ,
set ,
set )
-> set ,
F5(
set )
-> set } :
ex
A being
strict MSAlgebra of
CatSign F1() st
( ( for
a,
b being
Element of
F1() holds the
Sorts of
A . (homsym a,b) = F3(
a,
b) ) & ( for
a being
Element of
F1() holds
(Den (idsym a),A) . {} = F5(
a) ) & ( for
a,
b,
c being
Element of
F1()
for
f,
g being
Element of
F2() st
f in F3(
a,
b) &
g in F3(
b,
c) holds
(Den (compsym a,b,c),A) . <*g,f*> = F4(
a,
b,
c,
g,
f) ) )
provided
A1:
for
a,
b being
Element of
F1() holds
F3(
a,
b)
c= F2()
and A2:
for
a being
Element of
F1() holds
F5(
a)
in F3(
a,
a)
and A3:
for
a,
b,
c being
Element of
F1()
for
f,
g being
Element of
F2() st
f in F3(
a,
b) &
g in F3(
b,
c) holds
F4(
a,
b,
c,
g,
f)
in F3(
a,
c)
definition
let C be
Category;
func MSAlg C -> strict MSAlgebra of
CatSign the
Objects of
C means :
Def15:
:: CATALG_1:def 15
( ( for
a,
b being
Object of
C holds the
Sorts of
it . (homsym a,b) = Hom a,
b ) & ( for
a being
Object of
C holds
(Den (idsym a),it) . {} = id a ) & ( for
a,
b,
c being
Object of
C for
f,
g being
Morphism of
C st
dom f = a &
cod f = b &
dom g = b &
cod g = c holds
(Den (compsym a,b,c),it) . <*g,f*> = g * f ) );
uniqueness
for b1, b2 being strict MSAlgebra of CatSign the Objects of C st ( for a, b being Object of C holds the Sorts of b1 . (homsym a,b) = Hom a,b ) & ( for a being Object of C holds (Den (idsym a),b1) . {} = id a ) & ( for a, b, c being Object of C
for f, g being Morphism of C st dom f = a & cod f = b & dom g = b & cod g = c holds
(Den (compsym a,b,c),b1) . <*g,f*> = g * f ) & ( for a, b being Object of C holds the Sorts of b2 . (homsym a,b) = Hom a,b ) & ( for a being Object of C holds (Den (idsym a),b2) . {} = id a ) & ( for a, b, c being Object of C
for f, g being Morphism of C st dom f = a & cod f = b & dom g = b & cod g = c holds
(Den (compsym a,b,c),b2) . <*g,f*> = g * f ) holds
b1 = b2
correctness
existence
ex b1 being strict MSAlgebra of CatSign the Objects of C st
( ( for a, b being Object of C holds the Sorts of b1 . (homsym a,b) = Hom a,b ) & ( for a being Object of C holds (Den (idsym a),b1) . {} = id a ) & ( for a, b, c being Object of C
for f, g being Morphism of C st dom f = a & cod f = b & dom g = b & cod g = c holds
(Den (compsym a,b,c),b1) . <*g,f*> = g * f ) );
end;
:: deftheorem Def15 defines MSAlg CATALG_1:def 15 :
for
C being
Category for
b2 being
strict MSAlgebra of
CatSign the
Objects of
C holds
(
b2 = MSAlg C iff ( ( for
a,
b being
Object of
C holds the
Sorts of
b2 . (homsym a,b) = Hom a,
b ) & ( for
a being
Object of
C holds
(Den (idsym a),b2) . {} = id a ) & ( for
a,
b,
c being
Object of
C for
f,
g being
Morphism of
C st
dom f = a &
cod f = b &
dom g = b &
cod g = c holds
(Den (compsym a,b,c),b2) . <*g,f*> = g * f ) ) );
theorem :: CATALG_1:35 :: Showing IDV graph ... (Click the Palm Tree again to close it)
canceled;
theorem Th36: :: CATALG_1:36 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th37: :: CATALG_1:37 :: Showing IDV graph ... (Click the Palm Tree again to close it)
for
A being
Category for
a,
b,
c being
Object of
A holds
(
Args (compsym a,b,c),
(MSAlg A) = product <*(Hom b,c),(Hom a,b)*> &
Result (compsym a,b,c),
(MSAlg A) = Hom a,
c )
theorem Th38: :: CATALG_1:38 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th39: :: CATALG_1:39 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th40: :: CATALG_1:40 :: Showing IDV graph ... (Click the Palm Tree again to close it)
for
C1,
C2 being
Category for
F being
Functor of
C1,
C2 for
a,
b,
c being
Object of
C1 for
f,
g being
Morphism of
C1 st
f in Hom a,
b &
g in Hom b,
c holds
for
x being
Element of
Args (compsym a,b,c),
(MSAlg C1) st
x = <*g,f*> holds
for
H being
ManySortedFunction of
(MSAlg C1),
((MSAlg C2) | (CatSign the Objects of C1),(Upsilon F),(Psi F)) st
H = F -MSF the
carrier of
(CatSign the Objects of C1),the
Sorts of
(MSAlg C1) holds
H # x = <*(F . g),(F . f)*>
theorem :: CATALG_1:41 :: Showing IDV graph ... (Click the Palm Tree again to close it)
canceled;
theorem Th42: :: CATALG_1:42 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: CATALG_1:43 :: Showing IDV graph ... (Click the Palm Tree again to close it)
for
C being
Category for
a,
b,
c,
d being
Object of
C for
f,
g,
h being
Morphism of
C st
f in Hom a,
b &
g in Hom b,
c &
h in Hom c,
d holds
(Den (compsym a,c,d),(MSAlg C)) . <*h,((Den (compsym a,b,c),(MSAlg C)) . <*g,f*>)*> = (Den (compsym a,b,d),(MSAlg C)) . <*((Den (compsym b,c,d),(MSAlg C)) . <*h,g*>),f*>
theorem :: CATALG_1:44 :: Showing IDV graph ... (Click the Palm Tree again to close it)
for
C being
Category for
a,
b being
Object of
C for
f being
Morphism of
C st
f in Hom a,
b holds
(
(Den (compsym a,b,b),(MSAlg C)) . <*(id b),f*> = f &
(Den (compsym a,a,b),(MSAlg C)) . <*f,(id a)*> = f )
theorem :: CATALG_1:45 :: Showing IDV graph ... (Click the Palm Tree again to close it)