 reserve G, A for Group;
 reserve phi for Homomorphism of A,AutGroup(G);
 reserve G, A for Group;
 reserve phi for Homomorphism of A,AutGroup(G);

theorem Th59:
  for G being Group
  for H,K being Subgroup of G
  ex phi being Function of product Carrier <*H,K*>,G
  st (for h,k being Element of G st h in H & k in K
      holds phi.(<*h,k*>) = h*k)
  & (phi is one-to-one iff H /\ K = (1).G)
proof
  let G be Group;
  let H,K be Subgroup of G;
  defpred P[Element of product Carrier <*H,K*>, Element of G] means
  ex h,k being Element of G st h in H & k in K & $1 = <*h,k*> & $2 = h*k;

  A1: for x being Element of product Carrier <*H,K*>
  ex y being Element of G
  st P[x, y]
  proof
    let x be Element of product Carrier <*H,K*>;
    x in product Carrier <*H,K*>;
    then x in the carrier of product <*H,K*> by GROUP_7:def 2;
    then B1: x.1 in H & x.2 in K & dom x = {1,2} by Th6;
    then x.1 in H & x.1 in G & x.2 in K & x.2 in G by GROUP_2:40;
    then consider h,k being Element of G such that
    B2: h = x.1 & k = x.2 & h in H & k in K;
    len x = 2 by B1,FINSEQ_1:2,def 3;
    then B3: x = <*h, k*> by B2, FINSEQ_1:44;
    take y = h*k;
    thus P[x, y] by B2,B3;
  end;

  consider phi being Function of product Carrier <*H,K*>,G such that
  A2: for x being Element of product Carrier <*H,K*> holds P[x, phi.x]
  from FUNCT_2:sch 3(A1);
  take phi;

  A3: for h,k being Element of G st h in H & k in K
  holds phi.(<*h,k*>) = h*k
  proof
    let h,k be Element of G;
    assume B1: h in H;
    assume k in K; then

    <*h,k*> in product <*H,K*> by B1,Th7; then
    reconsider x=<*h,k*> as Element of product Carrier <*H,K*>
    by GROUP_7:def 2;
    consider h1,k1 being Element of G such that
    B3: h1 in H & k1 in K & x = <*h1,k1*> & phi.x = h1*k1
    by A2;
    h1 = h & k1 = k by B3,FINSEQ_1:77;
    hence phi.(<*h,k*>) = h*k by B3;
  end;

  hence for h,k being Element of G st h in H & k in K
  holds phi.(<*h,k*>) = h*k;

  the carrier of product <*H,K*> = product Carrier <*H,K*> by GROUP_7:def 2;
  hence phi is one-to-one iff H /\ K = (1).G by A3,Th58;
end;
