reserve UA for Universal_Algebra,
  f, g for Function of UA, UA;
reserve I for set,
  A, B, C for ManySortedSet of I;

theorem Th15:
  for B, C be non-empty ManySortedSet of I for F be
ManySortedFunction of A, B for G be ManySortedFunction of B, C st F is "onto" &
  G is "onto" holds G ** F is "onto"
proof
  let B, C be non-empty ManySortedSet of I;
  let F be ManySortedFunction of A, B;
  let G be ManySortedFunction of B, C;
  assume
A1: F is "onto" & G is "onto";
  now
    let i be set;
    assume
A2: i in I;
    then reconsider f = F.i as Function of A.i, B.i by PBOOLE:def 15;
    reconsider g = G.i as Function of B.i, C.i by A2,PBOOLE:def 15;
    rng f = B.i & rng g = C.i by A1,A2;
    then rng (g * f) = C.i by A2,FUNCT_2:14;
    hence rng ((G ** F).i) = C.i by A2,MSUALG_3:2;
  end;
  hence thesis;
end;
