reserve x,O for set,
  o for Element of O,
  G,H,I for GroupWithOperators of O,
  A, B for Subset of G,
  N for normal StableSubgroup of G,
  H1,H2,H3 for StableSubgroup of G,
  g1,g2 for Element of G,
  h1,h2 for Element of H1,
  h for Homomorphism of G,H;

theorem Th17:
  carr H1 * carr H2 = carr H2 * carr H1 implies ex H being strict
  StableSubgroup of G st the carrier of H=carr H1 * carr H2
proof
  assume
A1: carr H1 * carr H2 = carr H2 * carr H1;
A2: now
    let o be Element of O;
    let g be Element of G;
    assume g in carr H1 * carr H2;
    then consider a,b be Element of G such that
A3: g = a * b and
A4: a in carr H1 and
A5: b in carr H2;
    a in H1 by A4,STRUCT_0:def 5;
    then (G^o).a in H1 by Lm9;
    then
A6: (G^o).a in carr H1 by STRUCT_0:def 5;
    b in H2 by A5,STRUCT_0:def 5;
    then (G^o).b in H2 by Lm9;
    then (G^o).b in carr H2 by STRUCT_0:def 5;
    then ((G^o).a) * ((G^o).b) in carr H1 * carr H2 by A6;
    hence (G^o).g in carr H1 * carr H2 by A3,GROUP_6:def 6;
  end;
A7: H2 is Subgroup of G by Def7;
A8: H1 is Subgroup of G by Def7;
A9: now
    let g be Element of G;
    assume
A10: g in carr H1 * carr H2;
    then consider a,b be Element of G such that
A11: g = a * b and
    a in carr H1 and
    b in carr H2;
    consider b1,a1 be Element of G such that
A12: a * b = b1 * a1 and
A13: b1 in carr H2 and
A14: a1 in carr H1 by A1,A10,A11;
    b1 in H2 by A13,STRUCT_0:def 5;
    then b1" in H2 by A7,GROUP_2:51;
    then
A15: b1" in carr H2 by STRUCT_0:def 5;
    a1 in H1 by A14,STRUCT_0:def 5;
    then a1" in H1 by A8,GROUP_2:51;
    then
A16: a1" in carr H1 by STRUCT_0:def 5;
    g" = a1" * b1" by A11,A12,GROUP_1:17;
    hence g" in carr H1 * carr H2 by A16,A15;
  end;
A17: now
    let g1,g2 be Element of G;
    assume that
A18: g1 in carr(H1) * carr(H2) and
A19: g2 in carr(H1) * carr(H2);
    consider a1,b1 be Element of G such that
A20: g1 = a1 * b1 and
A21: a1 in carr(H1) and
A22: b1 in carr(H2) by A18;
    consider a2,b2 be Element of G such that
A23: g2 = a2 * b2 and
A24: a2 in carr H1 and
A25: b2 in carr H2 by A19;
    b1 * a2 in carr H1 * carr H2 by A1,A22,A24;
    then consider a,b be Element of G such that
A26: b1 * a2 = a * b and
A27: a in carr H1 and
A28: b in carr H2;
A29: a in H1 by A27,STRUCT_0:def 5;
A30: b in H2 by A28,STRUCT_0:def 5;
    b2 in H2 by A25,STRUCT_0:def 5;
    then b * b2 in H2 by A7,A30,GROUP_2:50;
    then
A31: b * b2 in carr H2 by STRUCT_0:def 5;
    a1 in H1 by A21,STRUCT_0:def 5;
    then a1 * a in H1 by A8,A29,GROUP_2:50;
    then
A32: a1 * a in carr H1 by STRUCT_0:def 5;
    g1 * g2 = a1 * b1 * a2 * b2 by A20,A23,GROUP_1:def 3
      .= a1 * (b1 * a2) * b2 by GROUP_1:def 3;
    then g1 * g2 = a1 * a * b * b2 by A26,GROUP_1:def 3
      .= a1 * a * (b * b2) by GROUP_1:def 3;
    hence g1 * g2 in carr H1 * carr H2 by A32,A31;
  end;
  carr H1 * carr H2 <> {} by GROUP_2:9;
  hence thesis by A17,A9,A2,Lm14;
end;
