 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 ThUnionFam:
  for G being Group
  for I being non empty set
  for F being componentwise_strict Subgroup-Family of I,G
  for Fam being Subset of Subgroups G st Fam = rng F
  for H being strict Subgroup of G
  for i being Element of I st H = F.i
  for J being Subset of I st J = I \ {j where j is Element of I : F.i = F.j}
  holds
  union { A where A is Subset of G :
          ex K being strict Subgroup of G
          st K in Fam & A = the carrier of K & K <> H }
  = Union (Carrier (F|J))
proof
  let G be Group;
  let I be non empty set;
  let F be componentwise_strict Subgroup-Family of I,G;
  let Fam be Subset of Subgroups G;
  assume A1: Fam = rng F;
  let H be strict Subgroup of G;
  let i be Element of I;
  assume A3: H = F.i;
  let J be Subset of I;
  assume A4: J = I \ {j where j is Element of I : F.i = F.j};
  set X = { A where A is Subset of G :
            ex K being strict Subgroup of G
            st K in Fam & A = the carrier of K & K <> H };
  for x being object holds x in X iff x in rng (Carrier (F|J))
  proof
    let x be object;
    thus x in X implies x in rng (Carrier (F|J))
    proof
      assume x in X;
      then consider A being Subset of G such that
      B2: A = x & ex K being strict Subgroup of G
                  st K in Fam & A = the carrier of K & K <> H;
      consider K being strict Subgroup of G such that
      B3: K in Fam & A = the carrier of K & K <> H by B2;
      consider j being Element of I such that
      B4: F.j = K by A1, B3, MssRng;
      B5: dom (F|J) = J & dom (Carrier (F|J)) = J by PARTFUN1:def 2;
      B6: j in J
      proof
        not j in {j1 where j1 is Element of I : F.i = F.j1}
          by A3, B3, B4, ThCoim;
        hence thesis by A4, XBOOLE_0:def 5;
      end;
      then reconsider j as Element of J;
      reconsider Fj=(F|J).j as Subgroup of G by B6, GROUP_20:def 1;
      B7: (Carrier (F|J)).j = the carrier of Fj by B6, Th9;
      A = (Carrier (F|J)).j by B3, B4, B6, B7, FUNCT_1:49;
      hence x in rng (Carrier (F|J)) by B2, B5, B6, FUNCT_1:3;
    end;
    assume x in rng (Carrier (F|J));
    then consider j0 being object such that
    Z3: j0 in dom (Carrier (F|J)) & x = (Carrier (F|J)).j0
      by FUNCT_1:def 3;
    reconsider j=j0 as Element of J by Z3;
    Z5: j in J by Z3;
    reconsider Fj = (F|J).j as Subgroup of G by Z3, GROUP_20:def 1;
    reconsider A = the carrier of Fj as Subset of G by GROUP_2:def 5;
    Z5b: Fj = F.j by Z3, FUNCT_1:49;
    Z6: Fj in Fam
    proof
      j in I by Z5;
      then B2: j in dom F by PARTFUN1:def 2;
      (F|J).j = F.j by Z3, FUNCT_1:49;
      hence thesis by A1, B2, FUNCT_1:3;
    end;
    Z7: Fj <> H
    proof
      not j in {j where j is Element of I : F.i = F.j}
        by A4, Z3, XBOOLE_0:def 5;
      hence H <> Fj by A3, Z5, Z5b;
    end;
    Z8: x = the carrier of Fj by Z3, Th9;
    ex K being strict Subgroup of G
    st K in Fam & A = the carrier of K & K <> H
    proof
      reconsider K = Fj as strict Subgroup of G by Z3, Def19;
      take K;
      thus thesis by Z6, Z7;
    end;
    hence x in X by Z8;
  end;
  then X = rng (Carrier (F|J)) by TARSKI:2;
  hence union X = Union (Carrier (F|J)) by CARD_3:def 4;
end;
