:: MSINST_1 semantic presentation
definition
let c1 be non
empty set ;
func MSSCat c1 -> non
empty strict AltCatStr means :
Def1:
:: MSINST_1:def 1
( the
carrier of
a2 = MSS_set a1 & ( for
b1,
b2 being
Element of
MSS_set a1 holds the
Arrows of
a2 . b1,
b2 = MSS_morph b1,
b2 ) & ( for
b1,
b2,
b3 being
object of
a2 st
b1 in MSS_set a1 &
b2 in MSS_set a1 &
b3 in MSS_set a1 holds
for
b4,
b5,
b6,
b7 being
Function st
[b4,b5] in the
Arrows of
a2 . b1,
b2 &
[b6,b7] in the
Arrows of
a2 . b2,
b3 holds
(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 st b2 in MSS_set c1 & b3 in MSS_set c1 & b4 in MSS_set c1 holds
for b5, b6, b7, b8 being Function st [b5,b6] in the Arrows of b1 . b2,b3 & [b7,b8] in the Arrows of b1 . b3,b4 holds
(the Comp of b1 . b2,b3,b4) . [b7,b8],[b5,b6] = [(b7 * b5),(b8 * b6)] ) )
uniqueness
for b1, b2 being non empty strict AltCatStr st 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 st b3 in MSS_set c1 & b4 in MSS_set c1 & b5 in MSS_set c1 holds
for b6, b7, b8, b9 being Function st [b6,b7] in the Arrows of b1 . b3,b4 & [b8,b9] in the Arrows of b1 . b4,b5 holds
(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 st b3 in MSS_set c1 & b4 in MSS_set c1 & b5 in MSS_set c1 holds
for b6, b7, b8, b9 being Function st [b6,b7] in the Arrows of b2 . b3,b4 & [b8,b9] in the Arrows of b2 . b4,b5 holds
(the Comp of b2 . b3,b4,b5) . [b8,b9],[b6,b7] = [(b8 * b6),(b9 * b7)] ) holds
b1 = b2
end;
:: deftheorem Def1 defines MSSCat MSINST_1:def 1 :
for
b1 being non
empty set for
b2 being non
empty strict AltCatStr holds
(
b2 = MSSCat b1 iff ( the
carrier of
b2 = MSS_set b1 & ( for
b3,
b4 being
Element of
MSS_set b1 holds the
Arrows of
b2 . b3,
b4 = MSS_morph b3,
b4 ) & ( for
b3,
b4,
b5 being
object of
b2 st
b3 in MSS_set b1 &
b4 in MSS_set b1 &
b5 in MSS_set b1 holds
for
b6,
b7,
b8,
b9 being
Function st
[b6,b7] in the
Arrows of
b2 . b3,
b4 &
[b8,b9] in the
Arrows of
b2 . b4,
b5 holds
(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 c1 be non
empty non
void ManySortedSign ;
let c2 be non
empty set ;
let c3,
c4 be
set ;
assume E7:
(
c3 in MSAlg_set c1,
c2 &
c4 in MSAlg_set c1,
c2 )
;
func MSAlg_morph c1,
c2,
c3,
c4 -> set means :
Def3:
:: MSINST_1:def 3
for
b1 being
set holds
(
b1 in a5 iff ex
b2,
b3 being
strict feasible MSAlgebra of
a1ex
b4 being
ManySortedFunction of
b2,
b3 st
(
b2 = a3 &
b3 = a4 &
b4 = b1 & the
Sorts of
b2 is_transformable_to the
Sorts of
b3 &
b4 is_homomorphism b2,
b3 ) );
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 st ( 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 ) ) ) holds
b1 = b2
end;
:: deftheorem Def3 defines MSAlg_morph MSINST_1:def 3 :
definition
let c1 be non
empty non
void ManySortedSign ;
let c2 be non
empty set ;
func MSAlgCat c1,
c2 -> non
empty strict AltCatStr means :
Def4:
:: MSINST_1:def 4
( the
carrier of
a3 = MSAlg_set a1,
a2 & ( for
b1,
b2 being
Element of
MSAlg_set a1,
a2 holds the
Arrows of
a3 . b1,
b2 = MSAlg_morph a1,
a2,
b1,
b2 ) & ( for
b1,
b2,
b3 being
object of
a3 for
b4,
b5 being
Function-yielding Function st
b4 in the
Arrows of
a3 . b1,
b2 &
b5 in the
Arrows of
a3 . b2,
b3 holds
(the Comp of a3 . b1,b2,b3) . b5,
b4 = b5 ** b4 ) );
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 st b5 in the Arrows of b1 . b2,b3 & b6 in the Arrows of b1 . b3,b4 holds
(the Comp of b1 . b2,b3,b4) . b6,b5 = b6 ** b5 ) )
uniqueness
for b1, b2 being non empty strict AltCatStr st 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 st b6 in the Arrows of b1 . b3,b4 & b7 in the Arrows of b1 . b4,b5 holds
(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 st b6 in the Arrows of b2 . b3,b4 & b7 in the Arrows of b2 . b4,b5 holds
(the Comp of b2 . b3,b4,b5) . b7,b6 = b7 ** b6 ) holds
b1 = b2
end;
:: deftheorem Def4 defines MSAlgCat MSINST_1:def 4 :
for
b1 being non
empty non
void ManySortedSign for
b2 being non
empty set for
b3 being non
empty strict AltCatStr holds
(
b3 = MSAlgCat b1,
b2 iff ( the
carrier of
b3 = MSAlg_set b1,
b2 & ( for
b4,
b5 being
Element of
MSAlg_set b1,
b2 holds the
Arrows of
b3 . b4,
b5 = MSAlg_morph b1,
b2,
b4,
b5 ) & ( for
b4,
b5,
b6 being
object of
b3 for
b7,
b8 being
Function-yielding Function st
b7 in the
Arrows of
b3 . b4,
b5 &
b8 in the
Arrows of
b3 . b5,
b6 holds
(the Comp of b3 . b4,b5,b6) . b8,
b7 = b8 ** b7 ) ) );
theorem Th6: :: MSINST_1:6