reserve S,S9 for non void Signature,
  f,g for Function;

theorem
  for S being non empty Signature, A being Algebra of S for E being non
  empty ManySortedSign st A is MSAlgebra over E holds A is MSAlgebra over E+*S
proof
  let S be non empty Signature, A be Algebra of S;
  let E be non empty ManySortedSign;
  set T = E+*S;
A1: dom the ResultSort of S = the carrier' of S by FUNCT_2:def 1;
A2: the ResultSort of T = (the ResultSort of E)+*the ResultSort of S by
CIRCCOMB:def 2;
  assume A is MSAlgebra over E;
  then reconsider B = A as MSAlgebra over E;
A3: the Arity of T = (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 Th57;
  the carrier of T = (the carrier of E) \/ the carrier of S by CIRCCOMB:def 2;
  then
A5: the carrier of T = the carrier of E by A4,XBOOLE_1:12;
  then reconsider Ss = the Sorts of B as ManySortedSet of the carrier of T;
  B is Algebra of S;
  then
A6: the carrier' of S c= the carrier' of E by Th57;
  the carrier' of T = (the carrier' of E) \/ the carrier' of S by
CIRCCOMB:def 2;
  then
A7: the carrier' of T = 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 object;
    assume
A9: i in the carrier' of T;
    then
A10: (Ss*the ResultSort of T).i = Ss.((the ResultSort of T).i) by FUNCT_2:15;
A11: now
      assume
A12:  i in the carrier' of S;
      then reconsider S9 = S as non void Signature;
      reconsider o = i as OperSymbol of S9 by A12;
A13:  (the Arity of T).o = the_arity_of o by A8,A3,FUNCT_4:13;
      (the ResultSort of T).o = the_result_sort_of o by A1,A2,FUNCT_4:13;
      hence (the Charact of B).i is Function of (the Sorts of B)#.((the Arity
      of T).i), (the Sorts of B).((the ResultSort of T).i) by A13,Th58;
    end;
A14: not i in the carrier' of S implies (the Arity of T).i = (the Arity of
    E).i & (the ResultSort of T).i = (the ResultSort of E).i by A8,A1,A3,A2,
FUNCT_4:11;
A15: (Ss#*the Arity of E).i = Ss#.((the Arity of E).i) by A7,A9,FUNCT_2:15;
A16: (Ss#*the Arity of T).i = Ss#.((the Arity of T).i) by A9,FUNCT_2:15;
    (Ss*the ResultSort of E).i = Ss.((the ResultSort of E).i) by A7,A9,
FUNCT_2:15;
    hence (the Charact of B).i is Function of (Ss# * the Arity of T).i, (Ss *
    the ResultSort of T).i by A5,A7,A9,A15,A10,A16,A11,A14,PBOOLE:def 15;
  end;
  then reconsider
  C = the Charact of B as ManySortedFunction of Ss# * the Arity of
  T, Ss * the ResultSort of T by A7,PBOOLE:def 15;
  set B9 = MSAlgebra(#Ss, C#);
  the Sorts of B9 = the Sorts of B;
  then B is MSAlgebra over T;
  hence thesis;
end;
