 reserve I for non empty set;
 reserve i for Element of I;
 reserve F for Group-Family of I;
 reserve G for Group;
reserve S for Subgroup-Family of F;
reserve f for Homomorphism-Family of G, F;

theorem
  for S being componentwise_strict normal Subgroup-Family of F
  holds (product F)./.(product S), product (F./.S) are_isomorphic
proof
  let S be componentwise_strict normal Subgroup-Family of F;
  deffunc Fun(Element of I) = nat_hom (S.$1);
  A1: for i being Element of I holds Fun(i) is Homomorphism of F.i, (F./.S).i
  proof
    let i be Element of I;
    (F./.S).i = (F.i)./.(S.i) by Def8;
    hence Fun(i) is Homomorphism of F.i, (F./.S).i;
  end;
  consider f being Homomorphism-Family of F, (F./.S) such that
  A2: for i being Element of I holds f.i = Fun(i)
  from HomFamSch(A1);
  Ker f = S :: strictness needed for this particular claim
  proof
    B1: dom (Ker f) = I & dom S = I by PARTFUN1:def 2;
    for i being Element of I holds (Ker f).i = S.i
    proof
      let i be Element of I;
      C1: f.i = nat_hom (S.i) by A2;
      S.i = Ker (nat_hom (S.i qua normal Subgroup of F.i)) by GROUP_6:43
         .= Ker (f.i qua Homomorphism of F.i,(F./.S).i) by C1,Def8
         .= (Ker f).i by Def16;
      hence (Ker f).i = S.i;
    end;
    hence thesis by B1;
  end;
  then A3: Ker (product f) = product S by Th64;
  A5: (Image f) = (F./.S)
  proof
    B1: dom (Image f) = I & dom (F./.S) = I by PARTFUN1:def 2;
    for i being Element of I holds (Image f).i = (F./.S).i
    proof
      let i be Element of I;
      C1: f.i = nat_hom (S.i) by A2;
      thus (Image f).i = Image (f.i qua Homomorphism of F.i,(F./.S).i) by Def17
                      .= Image (nat_hom (S.i)) by C1,Def8
                      .= (F.i)./.(S.i) by GROUP_6:48
                      .= (F./.S).i by Def8;
    end;
    hence thesis by B1;
  end;
  Image (product f) = product (Image f) by Th65
                   .= product (F./.S) by A5;
  hence (product F)./.(product S), product (F./.S) are_isomorphic
    by A3, GROUP_6:78;
end;
