:: MSAFREE1 semantic presentation
theorem Th1: :: MSAFREE1:1
theorem Th2: :: MSAFREE1:2
theorem Th3: :: MSAFREE1:3
:: deftheorem Def1 defines Flatten MSAFREE1:def 1 :
theorem Th4: :: MSAFREE1:4
:: deftheorem Def2 defines disjoint_valued MSAFREE1:def 2 :
:: deftheorem Def3 defines SingleAlg MSAFREE1:def 3 :
Lemma7:
for b1 being non empty ManySortedSign holds
( SingleAlg b1 is non-empty & SingleAlg b1 is disjoint_valued )
theorem Th5: :: MSAFREE1:5
scheme :: MSAFREE1:sch 2
s2{
F1()
-> non
empty non
void ManySortedSign ,
F2()
-> V2 ManySortedSet of the
carrier of
F1(),
F3()
-> V2 ManySortedSet of the
carrier of
F1(),
F4(
set )
-> Element of
Union F3(),
F5(
set ,
set ,
set )
-> Element of
Union F3(),
F6()
-> ManySortedFunction of
FreeSort F2(),
F3(),
F7()
-> ManySortedFunction of
FreeSort F2(),
F3() } :
provided
E9:
for
b1 being
OperSymbol of
F1()
for
b2 being
Element of
Args b1,
(FreeMSA F2()) for
b3 being
FinSequence of
Union F3() st
b3 = (Flatten F6()) * b2 holds
(F6() . (the_result_sort_of b1)) . ((Den b1,(FreeMSA F2())) . b2) = F5(
b1,
b2,
b3)
and E10:
for
b1 being
SortSymbol of
F1()
for
b2 being
set st
b2 in FreeGen b1,
F2() holds
(F6() . b1) . b2 = F4(
b2)
and E11:
for
b1 being
OperSymbol of
F1()
for
b2 being
Element of
Args b1,
(FreeMSA F2()) for
b3 being
FinSequence of
Union F3() st
b3 = (Flatten F7()) * b2 holds
(F7() . (the_result_sort_of b1)) . ((Den b1,(FreeMSA F2())) . b2) = F5(
b1,
b2,
b3)
and E12:
for
b1 being
SortSymbol of
F1()
for
b2 being
set st
b2 in FreeGen b1,
F2() holds
(F7() . b1) . b2 = F4(
b2)
scheme :: MSAFREE1:sch 3
s3{
F1()
-> non
empty non
void ManySortedSign ,
F2()
-> V2 ManySortedSet of the
carrier of
F1(),
F3()
-> non-empty MSAlgebra of
F1(),
P1[
set ,
set ,
set ],
F4()
-> ManySortedFunction of
(FreeMSA F2()),
F3(),
F5()
-> ManySortedFunction of
(FreeMSA F2()),
F3() } :
provided
E9:
F4()
is_homomorphism FreeMSA F2(),
F3()
and E10:
for
b1 being
SortSymbol of
F1()
for
b2,
b3 being
set st
b3 in FreeGen b1,
F2() holds
(
(F4() . b1) . b3 = b2 iff
P1[
b1,
b2,
b3] )
and E11:
F5()
is_homomorphism FreeMSA F2(),
F3()
and E12:
for
b1 being
SortSymbol of
F1()
for
b2,
b3 being
set st
b3 in FreeGen b1,
F2() holds
(
(F5() . b1) . b3 = b2 iff
P1[
b1,
b2,
b3] )