:: MSINST_1 semantic presentation
definition
let c
1 be non
empty set ;
func MSSCat c
1 -> non
empty strict AltCatStr means :
Def1:
:: MSINST_1:def 1
( the
carrier of a
2 = MSS_set a
1 & ( for b
1, b
2 being
Element of
MSS_set a
1 holds the
Arrows of a
2 . b
1,b
2 = MSS_morph b
1,b
2 ) & ( for b
1, b
2, b
3 being
object of a
2 holds
( b
1 in MSS_set a
1 & b
2 in MSS_set a
1 & b
3 in MSS_set a
1 implies for b
4, b
5, b
6, b
7 being
Function holds
(
[b4,b5] in the
Arrows of a
2 . b
1,b
2 &
[b6,b7] in the
Arrows of a
2 . b
2,b
3 implies
(the Comp of a2 . b1,b2,b3) . [b6,b7],
[b4,b5] = [(b6 * b4),(b7 * b5)] ) ) ) );
existence
ex b1 being non empty strict AltCatStr st
( the carrier of b1 = MSS_set c1 & ( for b2, b3 being Element of MSS_set c1 holds the Arrows of b1 . b2,b3 = MSS_morph b2,b3 ) & ( for b2, b3, b4 being object of b1 holds
( b2 in MSS_set c1 & b3 in MSS_set c1 & b4 in MSS_set c1 implies for b5, b6, b7, b8 being Function holds
( [b5,b6] in the Arrows of b1 . b2,b3 & [b7,b8] in the Arrows of b1 . b3,b4 implies (the Comp of b1 . b2,b3,b4) . [b7,b8],[b5,b6] = [(b7 * b5),(b8 * b6)] ) ) ) )
uniqueness
for b1, b2 being non empty strict AltCatStr holds
( the carrier of b1 = MSS_set c1 & ( for b3, b4 being Element of MSS_set c1 holds the Arrows of b1 . b3,b4 = MSS_morph b3,b4 ) & ( for b3, b4, b5 being object of b1 holds
( b3 in MSS_set c1 & b4 in MSS_set c1 & b5 in MSS_set c1 implies for b6, b7, b8, b9 being Function holds
( [b6,b7] in the Arrows of b1 . b3,b4 & [b8,b9] in the Arrows of b1 . b4,b5 implies (the Comp of b1 . b3,b4,b5) . [b8,b9],[b6,b7] = [(b8 * b6),(b9 * b7)] ) ) ) & the carrier of b2 = MSS_set c1 & ( for b3, b4 being Element of MSS_set c1 holds the Arrows of b2 . b3,b4 = MSS_morph b3,b4 ) & ( for b3, b4, b5 being object of b2 holds
( b3 in MSS_set c1 & b4 in MSS_set c1 & b5 in MSS_set c1 implies for b6, b7, b8, b9 being Function holds
( [b6,b7] in the Arrows of b2 . b3,b4 & [b8,b9] in the Arrows of b2 . b4,b5 implies (the Comp of b2 . b3,b4,b5) . [b8,b9],[b6,b7] = [(b8 * b6),(b9 * b7)] ) ) ) implies b1 = b2 )
end;
:: deftheorem Def1 defines MSSCat MSINST_1:def 1 :
for b
1 being non
empty set for b
2 being non
empty strict AltCatStr holds
( b
2 = MSSCat b
1 iff ( the
carrier of b
2 = MSS_set b
1 & ( for b
3, b
4 being
Element of
MSS_set b
1 holds the
Arrows of b
2 . b
3,b
4 = MSS_morph b
3,b
4 ) & ( for b
3, b
4, b
5 being
object of b
2 holds
( b
3 in MSS_set b
1 & b
4 in MSS_set b
1 & b
5 in MSS_set b
1 implies for b
6, b
7, b
8, b
9 being
Function holds
(
[b6,b7] in the
Arrows of b
2 . b
3,b
4 &
[b8,b9] in the
Arrows of b
2 . b
4,b
5 implies
(the Comp of b2 . b3,b4,b5) . [b8,b9],
[b6,b7] = [(b8 * b6),(b9 * b7)] ) ) ) ) );
theorem Th1: :: MSINST_1:1
:: deftheorem Def2 defines MSAlg_set MSINST_1:def 2 :
theorem Th2: :: MSINST_1:2
theorem Th3: :: MSINST_1:3
theorem Th4: :: MSINST_1:4
theorem Th5: :: MSINST_1:5
definition
let c
1 be non
empty non
void ManySortedSign ;
let c
2 be non
empty set ;
let c
3, c
4 be
set ;
assume E7:
( c
3 in MSAlg_set c
1,c
2 & c
4 in MSAlg_set c
1,c
2 )
;
func MSAlg_morph c
1,c
2,c
3,c
4 -> set means :
Def3:
:: MSINST_1:def 3
for b
1 being
set holds
( b
1 in a
5 iff ex b
2, b
3 being
strict feasible MSAlgebra of a
1ex b
4 being
ManySortedFunction of b
2,b
3 st
( b
2 = a
3 & b
3 = a
4 & b
4 = b
1 & the
Sorts of b
2 is_transformable_to the
Sorts of b
3 & b
4 is_homomorphism b
2,b
3 ) );
existence
ex b1 being set st
for b2 being set holds
( b2 in b1 iff ex b3, b4 being strict feasible MSAlgebra of c1ex b5 being ManySortedFunction of b3,b4 st
( b3 = c3 & b4 = c4 & b5 = b2 & the Sorts of b3 is_transformable_to the Sorts of b4 & b5 is_homomorphism b3,b4 ) )
uniqueness
for b1, b2 being set holds
( ( for b3 being set holds
( b3 in b1 iff ex b4, b5 being strict feasible MSAlgebra of c1ex b6 being ManySortedFunction of b4,b5 st
( b4 = c3 & b5 = c4 & b6 = b3 & the Sorts of b4 is_transformable_to the Sorts of b5 & b6 is_homomorphism b4,b5 ) ) ) & ( for b3 being set holds
( b3 in b2 iff ex b4, b5 being strict feasible MSAlgebra of c1ex b6 being ManySortedFunction of b4,b5 st
( b4 = c3 & b5 = c4 & b6 = b3 & the Sorts of b4 is_transformable_to the Sorts of b5 & b6 is_homomorphism b4,b5 ) ) ) implies b1 = b2 )
end;
:: deftheorem Def3 defines MSAlg_morph MSINST_1:def 3 :
definition
let c
1 be non
empty non
void ManySortedSign ;
let c
2 be non
empty set ;
func MSAlgCat c
1,c
2 -> non
empty strict AltCatStr means :
Def4:
:: MSINST_1:def 4
( the
carrier of a
3 = MSAlg_set a
1,a
2 & ( for b
1, b
2 being
Element of
MSAlg_set a
1,a
2 holds the
Arrows of a
3 . b
1,b
2 = MSAlg_morph a
1,a
2,b
1,b
2 ) & ( for b
1, b
2, b
3 being
object of a
3for b
4, b
5 being
Function-yielding Function holds
( b
4 in the
Arrows of a
3 . b
1,b
2 & b
5 in the
Arrows of a
3 . b
2,b
3 implies
(the Comp of a3 . b1,b2,b3) . b
5,b
4 = b
5 ** b
4 ) ) );
existence
ex b1 being non empty strict AltCatStr st
( the carrier of b1 = MSAlg_set c1,c2 & ( for b2, b3 being Element of MSAlg_set c1,c2 holds the Arrows of b1 . b2,b3 = MSAlg_morph c1,c2,b2,b3 ) & ( for b2, b3, b4 being object of b1
for b5, b6 being Function-yielding Function holds
( b5 in the Arrows of b1 . b2,b3 & b6 in the Arrows of b1 . b3,b4 implies (the Comp of b1 . b2,b3,b4) . b6,b5 = b6 ** b5 ) ) )
uniqueness
for b1, b2 being non empty strict AltCatStr holds
( the carrier of b1 = MSAlg_set c1,c2 & ( for b3, b4 being Element of MSAlg_set c1,c2 holds the Arrows of b1 . b3,b4 = MSAlg_morph c1,c2,b3,b4 ) & ( for b3, b4, b5 being object of b1
for b6, b7 being Function-yielding Function holds
( b6 in the Arrows of b1 . b3,b4 & b7 in the Arrows of b1 . b4,b5 implies (the Comp of b1 . b3,b4,b5) . b7,b6 = b7 ** b6 ) ) & the carrier of b2 = MSAlg_set c1,c2 & ( for b3, b4 being Element of MSAlg_set c1,c2 holds the Arrows of b2 . b3,b4 = MSAlg_morph c1,c2,b3,b4 ) & ( for b3, b4, b5 being object of b2
for b6, b7 being Function-yielding Function holds
( b6 in the Arrows of b2 . b3,b4 & b7 in the Arrows of b2 . b4,b5 implies (the Comp of b2 . b3,b4,b5) . b7,b6 = b7 ** b6 ) ) implies b1 = b2 )
end;
:: deftheorem Def4 defines MSAlgCat MSINST_1:def 4 :
for b
1 being non
empty non
void ManySortedSign for b
2 being non
empty set for b
3 being non
empty strict AltCatStr holds
( b
3 = MSAlgCat b
1,b
2 iff ( the
carrier of b
3 = MSAlg_set b
1,b
2 & ( for b
4, b
5 being
Element of
MSAlg_set b
1,b
2 holds the
Arrows of b
3 . b
4,b
5 = MSAlg_morph b
1,b
2,b
4,b
5 ) & ( for b
4, b
5, b
6 being
object of b
3for b
7, b
8 being
Function-yielding Function holds
( b
7 in the
Arrows of b
3 . b
4,b
5 & b
8 in the
Arrows of b
3 . b
5,b
6 implies
(the Comp of b3 . b4,b5,b6) . b
8,b
7 = b
8 ** b
7 ) ) ) );
theorem Th6: :: MSINST_1:6