 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 Th20:
  for x,y being Element of semidirect_product (G, A, phi)
  for a being Element of A
  for g being Element of G
  st x = <* g, a *> & y = <* (phi.(a")).(g"), a" *>
  holds x * y = 1_(semidirect_product (G, A, phi)) &
    y * x = 1_(semidirect_product (G, A, phi))
proof
  let x,y be Element of semidirect_product (G, A, phi);
  let a be Element of A;
  let g be Element of G;
  assume A1: x = <* g, a *>;
  assume A2: y = <* (phi.(a")).(g"), a" *>;
  reconsider phi1=phi.(a "),phi2=phi.a as Homomorphism of G,G
    by AUTGROUP:def 1;
  A3: (phi1 . (g")) * (phi1.g)
   = phi1 . (g" * g) by GROUP_6:def 6
  .= phi1 . 1_G by GROUP_1:def 5
  .= 1_G by GROUP_6:31;
  A4: (phi2 . (phi1.(g"))) = g" by Th19;

  thus x * y = <* g * (phi2.(phi1.(g"))), a * (a") *> by A1,A2,Th14
            .= <* 1_G, a * a" *> by A4,GROUP_1:def 5
            .= <* 1_G, 1_A *> by GROUP_1:def 5
            .= 1_(semidirect_product (G, A, phi)) by Th17;
  thus y * x = <* phi1.(g") * (phi1.g), (a") * a *> by A1,A2,Th14
            .= <* 1_G, 1_A *> by A3,GROUP_1:def 5
            .= 1_(semidirect_product (G, A, phi)) by Th17;
end;
