reserve n for Element of NAT;
reserve i for Integer;
reserve G,H,I for Group;
reserve A,B for Subgroup of G;
reserve N for normal Subgroup of G;
reserve a,a1,a2,a3,b,b1 for Element of G;
reserve c,d for Element of H;
reserve f for Function of the carrier of G, the carrier of H;
reserve x,y,y1,y2,z for set;
reserve A1,A2 for Subset of G;
reserve N for normal Subgroup of G;
reserve S,T1,T2 for Element of G./.N;
reserve g,h for Homomorphism of G,H;
reserve h1 for Homomorphism of H,I;

theorem
  for N being strict normal Subgroup of G holds
    (B "\/" N)./.(B "\/" N,N)`*`, B./.(B /\ N) are_isomorphic
proof
  let N be strict normal Subgroup of G;
  set f = nat_hom N;
  set g = f | (the carrier of B);
  set I = (B "\/" N)./.(B "\/" N,N)`*`;
  set J = (B "\/" N,N)`*`;
A1: the carrier of B c= the carrier of G by GROUP_2:def 5;
A2: dom g = dom f /\ (the carrier of B) & dom f = the carrier of G by
FUNCT_2:def 1,RELAT_1:61;
  then
A3: dom g = the carrier of B by A1,XBOOLE_1:28;
A4: N is Subgroup of B "\/" N by GROUP_4:60;
  then
A5: N = (B "\/" N,N)`*` by Def1;
A6: B is Subgroup of B "\/" N by GROUP_4:60;
  rng g c= the carrier of I
  proof
    let y be object;
    assume y in rng g;
    then consider x being object such that
A7: x in dom g and
A8: g.x = y by FUNCT_1:def 3;
    reconsider x as Element of B by A2,A1,A7,XBOOLE_1:28;
    reconsider x9 = x as Element of G by GROUP_2:42;
    reconsider x99 = x as Element of B "\/" N by A6,GROUP_2:42;
A9: x99 * (B "\/" N,N)`*` = x9 * N & N * x9 = (B "\/" N,N)`*` * x99 by A5,Th2;
A10: g.x = f.x9 by A7,FUNCT_1:47
      .= x9 * N by Def8;
    then g.x = N * x9 by GROUP_3:117;
    then y in I by A8,A10,A9,Th23;
    hence thesis;
  end;
  then reconsider g as Function of B, (B "\/" N)./.(B "\/" N,N)`*` by A3,
FUNCT_2:def 1,RELSET_1:4;
A11: I is Subgroup of G./.N by A4,Th28;
  now
    let a,b be Element of B;
    reconsider a9 = a, b9 = b as Element of G by GROUP_2:42;
A12: f.a9 = g.a & f.b9 = g.b by FUNCT_1:49;
    a * b = a9 * b9 by GROUP_2:43;
    hence g.(a * b) = f.(a9 * b9) by FUNCT_1:49
      .= f.a9 * f.b9 by Def6
      .= g.a * g.b by A11,A12,GROUP_2:43;
  end;
  then reconsider g as Homomorphism of B,(B "\/" N)./.(B "\/" N,N)`*` by Def6;
A13: Ker g = B /\ N
  proof
    let b be Element of B;
    reconsider c = b as Element of G by GROUP_2:42;
A14: g.b = f.c by FUNCT_1:49
      .= c * N by Def8;
    thus b in Ker g implies b in B /\ N
    proof
      assume b in Ker g;
      then g.b = 1_I by Th41
        .= carr J by Th24
        .= carr N by A4,Def1;
      then b in B & b in N by A14,GROUP_2:113;
      hence thesis by GROUP_2:82;
    end;
    assume b in B /\ N;
    then b in N by GROUP_2:82;
    then c * N = carr J by A5,GROUP_2:113
      .= 1_I by Th24;
    hence thesis by A14,Th41;
  end;
  the carrier of I c= rng g
  proof
    let x be object;
    assume x in the carrier of I;
    then x in I;
    then consider b being Element of B "\/" N such that
A15: x = b * J and
    x = J * b by Th23;
    B * N = N * B & b in B "\/" N by GROUP_5:8;
    then consider a1,a2 such that
A16: b = a1 * a2 and
A17: a1 in B and
A18: a2 in N by GROUP_5:5;
A19: a1 in the carrier of B by A17;
    x = a1 * a2 * N by A5,A15,A16,Th2
      .= a1 * (a2 * N) by GROUP_2:105
      .= a1 * N by A18,GROUP_2:113
      .= f.a1 by Def8
      .= g.a1 by A19,FUNCT_1:49;
    hence thesis by A3,A19,FUNCT_1:def 3;
  end;
  then the carrier of I = rng g;
  then g is onto;
  then Image g = (B "\/" N)./.(B "\/" N,N)`*` by Th57;
  hence thesis by A13,Lm3;
end;
