let S be non empty Signature; for A being Algebra of S
for E being non empty ManySortedSign st A is MSAlgebra of E holds
A is MSAlgebra of E +* S
let A be Algebra of S; for E being non empty ManySortedSign st A is MSAlgebra of E holds
A is MSAlgebra of E +* S
let E be non empty ManySortedSign ; ( A is MSAlgebra of E implies A is MSAlgebra of E +* S )
set T = E +* S;
A1:
dom the ResultSort of S = the carrier' of S
by FUNCT_2:def 1;
A2:
the ResultSort of (E +* S) = the ResultSort of E +* the ResultSort of S
by CIRCCOMB:def 2;
assume
A is MSAlgebra of E
; A is MSAlgebra of E +* S
then reconsider B = A as MSAlgebra of E ;
A3:
the Arity of (E +* S) = the Arity of E +* the Arity of S
by CIRCCOMB:def 2;
B is Algebra of S
;
then A4:
the carrier of S c= the carrier of E
by Th59;
the carrier of (E +* S) = the carrier of E \/ the carrier of S
by CIRCCOMB:def 2;
then A5:
the carrier of (E +* S) = the carrier of E
by A4, XBOOLE_1:12;
then reconsider Ss = the Sorts of B as ManySortedSet of the carrier of (E +* S) ;
B is Algebra of S
;
then A6:
the carrier' of S c= the carrier' of E
by Th59;
the carrier' of (E +* S) = the carrier' of E \/ the carrier' of S
by CIRCCOMB:def 2;
then A7:
the carrier' of (E +* S) = the carrier' of E
by A6, XBOOLE_1:12;
A8:
dom the Arity of S = the carrier' of S
by FUNCT_2:def 1;
now let i be
set ;
( i in the carrier' of (E +* S) implies the Charact of B . i is Function of (((Ss # ) * the Arity of (E +* S)) . i),((Ss * the ResultSort of (E +* S)) . i) )assume A9:
i in the
carrier' of
(E +* S)
;
the Charact of B . i is Function of (((Ss # ) * the Arity of (E +* S)) . i),((Ss * the ResultSort of (E +* S)) . i)then A10:
(Ss * the ResultSort of (E +* S)) . i = Ss . (the ResultSort of (E +* S) . i)
by FUNCT_2:21;
A14:
( not
i in the
carrier' of
S implies ( the
Arity of
(E +* S) . i = the
Arity of
E . i & the
ResultSort of
(E +* S) . i = the
ResultSort of
E . i ) )
by A8, A1, A3, A2, FUNCT_4:12;
A15:
((Ss # ) * the Arity of E) . i = (Ss # ) . (the Arity of E . i)
by A7, A9, FUNCT_2:21;
A16:
((Ss # ) * the Arity of (E +* S)) . i = (Ss # ) . (the Arity of (E +* S) . i)
by A9, FUNCT_2:21;
(Ss * the ResultSort of E) . i = Ss . (the ResultSort of E . i)
by A7, A9, FUNCT_2:21;
hence
the
Charact of
B . i is
Function of
(((Ss # ) * the Arity of (E +* S)) . i),
((Ss * the ResultSort of (E +* S)) . i)
by A5, A7, A9, A15, A10, A16, A11, A14, PBOOLE:def 18;
verum end;
then reconsider C = the Charact of B as ManySortedFunction of (Ss # ) * the Arity of (E +* S),Ss * the ResultSort of (E +* S) by A7, PBOOLE:def 18;
set B9 = MSAlgebra(# Ss,C #);
the Sorts of MSAlgebra(# Ss,C #) = the Sorts of B
;
then
B is MSAlgebra of E +* S
;
hence
A is MSAlgebra of E +* S
; verum