reserve S for non void non empty ManySortedSign,
  U1,U2 for MSAlgebra over S,
  o for OperSymbol of S,
  n for Nat;

theorem Th11:
  for U1,U2,U3 being non-empty MSAlgebra over S
  for F be ManySortedFunction of U1,U2, G be ManySortedFunction of U2,U3 st
  F is_epimorphism U1,U2 & G is_epimorphism U2,U3 holds
  G**F is_epimorphism U1,U3
proof
  let U1,U2,U3 be non-empty MSAlgebra over S;
  let F be ManySortedFunction of U1,U2, G be ManySortedFunction of U2,U3;
  assume that
A1: F is_epimorphism U1,U2 and
A2: G is_epimorphism U2,U3;
A3: G is "onto" by A2;
A4: F is "onto" by A1;
  for i be set st i in (the carrier of S) holds rng((G**F).i) = (the Sorts
  of U3).i
  proof
    let i be set;
    assume
A5: i in the carrier of S;
    then reconsider
    f = F.i as Function of (the Sorts of U1).i,(the Sorts of U2).i
    by PBOOLE:def 15;
    reconsider g = G.i as Function of (the Sorts of U2).i,(the Sorts of U3).i
    by A5,PBOOLE:def 15;
    rng f = (the Sorts of U2).i by A4,A5;
    then
A6: dom g = rng f by A5,FUNCT_2:def 1;
    rng g = (the Sorts of U3).i by A3,A5;
    then rng (g*f) = (the Sorts of U3).i by A6,RELAT_1:28;
    hence thesis by A5,Th2;
  end;
  then
A7: G**F is "onto";
  F is_homomorphism U1,U2 & G is_homomorphism U2,U3 by A1,A2;
  then G**F is_homomorphism U1,U3 by Th10;
  hence thesis by A7;
end;
