reserve U1,U2,U3 for Universal_Algebra,
  n,m for Nat,
  o1 for operation of U1,
  o2 for operation of U2,
  o3 for operation of U3,
  x,y for set;
reserve a for FinSequence of U1,
  f for Function of U1,U2;
reserve E for Congruence of U1;

theorem
  for U1,E holds Nat_Hom(U1,E) is_epimorphism
proof
  let U1,E;
  set f = Nat_Hom(U1,E), qa = QuotUnivAlg(U1,E), cqa = the carrier of qa, u1 =
  the carrier of U1;
  thus f is_homomorphism by Th17;
  thus rng f c= cqa;
  let x be object;
  assume
A1: x in cqa;
  then reconsider x1 = x as Subset of u1;
  consider y being object such that
A2: y in u1 and
A3: x1 = Class(E,y) by A1,EQREL_1:def 3;
  reconsider y as Element of u1 by A2;
  dom f = u1 by FUNCT_2:def 1;
  then f.y in rng f by FUNCT_1:def 3;
  hence thesis by A3,Def11;
end;
