
theorem Th4:
  for G1, G2, H1, H2 being non empty multMagma, f being Function of
G1,H1, g being Function of G2,H2 st f is onto & g is onto holds Gr2Iso(f,g) is
  onto
proof
  let G1, G2, H1, H2 be non empty multMagma;
  let f be Function of G1,H1, g be Function of G2,H2 such that
A1: rng f = the carrier of H1 and
A2: rng g = the carrier of H2;
  set h = Gr2Iso(f,g);
  thus rng h c= the carrier of product <*H1,H2*>;
  let a be object;
  assume a in the carrier of product <*H1,H2*>;
  then consider x being Element of H1, y being Element of H2 such that
A3: a = <*x,y*> by Th1;
  consider a2 being object such that
A4: a2 in dom g and
A5: g.a2 = y by A2,FUNCT_1:def 3;
  consider a1 being object such that
A6: a1 in dom f and
A7: f.a1 = x by A1,FUNCT_1:def 3;
  dom h = the carrier of product <*G1,G2*> & for g being Element of G1, h
  being Element of G2 holds <*g,h*> in the carrier of product <*G1,G2*> by
FUNCT_2:def 1;
  then
A8: <*a1,a2*> in dom h by A6,A4;
  then consider k1 being Element of G1, k2 being Element of G2 such that
A9: <*a1,a2*> = <*k1,k2*> and
A10: h.<*a1,a2*> = <*f.k1,g.k2*> by Def1;
  a1 = k1 & a2 = k2 by A9,FINSEQ_1:77;
  hence thesis by A3,A7,A5,A8,A10,FUNCT_1:def 3;
end;
