reserve I for non empty set,
  J for ManySortedSet of I,
  S for non void non empty ManySortedSign,
  i for Element of I,
  c for set,
  A for MSAlgebra-Family of I,S,
  EqR for Equivalence_Relation of I,
  U0,U1,U2 for MSAlgebra over S,
  s for SortSymbol of S,
  o for OperSymbol of S,
  f for Function;

theorem Th25:
  for U1 be non-empty MSAlgebra over S for F being
  ManySortedFunction of I st (for i be Element of I holds ex F1 being
  ManySortedFunction of U1,A.i st F1 = F.i & F1 is_homomorphism U1,A.i) holds F
  in Funcs(I,Funcs(the carrier of S, the set of all
F.i9.s1 where s1 is SortSymbol of S,i9 is
  Element of I )) & (commute F).s.i = F.i.s
proof
  let U1 be non-empty MSAlgebra over S;
  let F be ManySortedFunction of I such that
A1: for i be Element of I holds ex F1 being ManySortedFunction of U1,A.i
  st F1 = F.i & F1 is_homomorphism U1,A.i;
  set FS = the set of all F.i9.s1 where
    s1 is SortSymbol of S,i9 is Element of I;
  set CA = the carrier of S;
A2: rng F c= Funcs(CA,FS)
  proof
    let x be object;
    assume x in rng F;
    then consider i9 be object such that
A3: i9 in dom F and
A4: F.i9 = x by FUNCT_1:def 3;
    reconsider i1 = i9 as Element of I by A3;
    consider F9 being ManySortedFunction of U1,A.i1 such that
A5: F9 = F.i1 and
    F9 is_homomorphism U1,A.i1 by A1;
A6: rng F9 c= FS
    proof
      let x9 be object;
      assume x9 in rng F9;
      then consider s9 be object such that
A7:   s9 in dom F9 and
A8:   F9.s9 = x9 by FUNCT_1:def 3;
      s9 is SortSymbol of S by A7;
      hence thesis by A5,A8;
    end;
    dom F9 = CA by PARTFUN1:def 2;
    hence thesis by A4,A5,A6,FUNCT_2:def 2;
  end;
A9: dom F = I by PARTFUN1:def 2;
  hence F in Funcs(I,Funcs(CA,FS)) by A2,FUNCT_2:def 2;
  F in Funcs(I,Funcs(CA,FS)) by A9,A2,FUNCT_2:def 2;
  hence thesis by FUNCT_6:56;
end;
