reserve S for non void non empty ManySortedSign,
  U1 for MSAlgebra over S,
  o for OperSymbol of S,
  s for SortSymbol of S;

theorem Th5:
  for U1,U2 be non-empty MSAlgebra over S, F be ManySortedFunction
of U1,U2 st F is_epimorphism U1,U2 holds MSHomQuot(F) is_isomorphism QuotMSAlg
  (U1,MSCng F),U2
proof
  let U1,U2 be non-empty MSAlgebra over S, F be ManySortedFunction of U1,U2;
  set mc = MSCng(F), qa = QuotMSAlg (U1,mc), qh = MSHomQuot(F);
  set Sq = the Sorts of qa, S1 = the Sorts of U1, S2 = the Sorts of U2;
  assume
A1: F is_epimorphism U1,U2;
  then
A2: F is_homomorphism U1,U2;
A3: F is "onto" by A1;
  for i be set st i in the carrier of S holds rng (qh.i) = S2.i
  proof
    let i be set;
    set f = qh.i;
    assume i in the carrier of S;
    then reconsider s = i as SortSymbol of S;
A4: rng (F.s) = S2.s by A3;
A5: qh.i = MSHomQuot(F,s) by Def20;
    hence rng f c= S2.i by RELAT_1:def 19;
    let x be object;
    assume x in S2.i;
    then consider a be object such that
A6: a in dom (F.s) and
A7: (F.s).a = x by A4,FUNCT_1:def 3;
A8: MSCng(F,s) = (MSCng(F)).s & Sq.s = Class ((MSCng(F)).s) by A2,Def6,Def18;
    reconsider a as Element of S1.s by A6;
    dom f = Sq.s by A5,FUNCT_2:def 1;
    then
A9: Class(MSCng(F,s),a) in dom f by A8,EQREL_1:def 3;
    f.(Class(MSCng(F,s),a)) = x by A2,A5,A7,Def19;
    hence thesis by A9,FUNCT_1:def 3;
  end;
  then
A10: qh is "onto";
  qh is_monomorphism qa,U2 by A2,Th4;
  then qh is_homomorphism qa,U2 & qh is "1-1";
  hence thesis by A10,MSUALG_3:13;
end;
