reserve Y,Z for non empty set;
reserve PA,PB for a_partition of Y;
reserve A,B for Subset of Y;
reserve i,j,k for Nat;
reserve x,y,z,x1,x2,y1,z0,X,V,a,b,d,t,SFX,SFY for set;

theorem Th8:
  for F being Subset-Family of Y st (Intersect(F)<>{} &
  for X st X in F holds X is_a_dependent_set_of PA)
  holds Intersect(F) is_a_dependent_set_of PA
proof
  let F be Subset-Family of Y;
  per cases;
  suppose F={};
    then Intersect(F)=Y by SETFAM_1:def 9;
    hence thesis by Th7;
  end;
  suppose
A1: F<>{};
    then reconsider F9 = F as non empty Subset-Family of Y;
    assume that
A2: Intersect(F)<>{} and
A3: for X st X in F holds X is_a_dependent_set_of PA;
    defpred P[object,object] means
      ex A being set st A = $2 & A c= PA & $2<>{} & $1=union A;
A4: for X being object st X in F holds ex B being object st P[X,B]
     proof let x be object;
       reconsider X = x as set by TARSKI:1;
      assume
       x in F;
       then X is_a_dependent_set_of PA by A3;
       then ex B being set st B c= PA & B<>{} & X = union B;
       then ex B being object st P[X,B];
      hence thesis;
     end;
    consider f being Function such that
A5: dom f = F &
  for X being object st X in F holds P[X,f.X] from CLASSES1:sch 1(A4);
 rng f c= bool bool Y
    proof
      let y be object;
      reconsider yy=y as set by TARSKI:1;
      assume y in rng f;
      then consider x being object such that
A6:   x in dom f and
A7:   y = f.x by FUNCT_1:def 3;
      P[x,f.x] by A5,A6;
      then f.x c= PA;
      then yy c= bool Y by A7,XBOOLE_1:1;
      hence thesis;
    end;
    then reconsider f as Function of F9, bool bool Y
      by A5,FUNCT_2:def 1,RELSET_1:4;
    defpred P[set] means $1 in F;
    deffunc S(Element of F9) = f.$1;
    reconsider T={S(X) where X is Element of F9:P[X]}
      as Subset-Family of bool Y from DOMAIN_1:sch 8;
    reconsider T as Subset-Family of bool Y;
    take B=Intersect(T);
    thus B c= PA
    proof
      let x be object;
      assume
A8:   x in B;
      consider X being object such that
A9:   X in F by A1,XBOOLE_0:def 1;
      f.X in T by A9; then
A10:  x in f.X by A8,SETFAM_1:43;
      P[X,f.X] by A5,A9;
      then f.X c= PA;
      hence thesis by A10;
    end;
    thus B<>{}
    proof
      consider X being object such that
A11:  X in F by A1,XBOOLE_0:def 1;
A12:  f.X in T by A11;
      consider A being object such that
A13:  A in Intersect(F) by A2,XBOOLE_0:def 1;
      reconsider A as Element of Y by A13;
      set AA = EqClass(A,PA);
A14:  A in meet F by A1,A13,SETFAM_1:def 9;
  for X st X in T holds AA in X
      proof
        let X;
        assume X in T;
        then consider z being Element of F9 such that
A15:    X=f.z and z in F;
A16:     P[z,f.z] by A5;
        then
A17:    f.z c= PA;
    z = union (f.z) & A in z by A14,SETFAM_1:def 1,A16;
then     ex A0 being set st A in A0 & A0 in f.z by TARSKI:def 4;
        hence thesis by A15,A17,EQREL_1:def 6;
      end;
then   EqClass(A,PA) in meet T by A12,SETFAM_1:def 1;
      hence thesis by SETFAM_1:def 9;
    end;
A18: Intersect(F) c= union B
    proof
      let x be object;
      assume
A19:  x in Intersect(F);
then A20:  x in meet F by A1,SETFAM_1:def 9;
      reconsider x as Element of Y by A19;
      reconsider PA as a_partition of Y;
      set A = EqClass(x,PA);
      consider X being object such that
A21:  X in F by A1,XBOOLE_0:def 1;
A22:  f.X in T by A21;
  for X st X in T holds A in X
      proof
        let X;
        assume X in T;
        then consider z being Element of F9 such that
A23:    X=f.z and z in F;
A24:    P[z,f.z] by A5; then
A25:    f.z c= PA;
        z = union (f.z) by A24;
then     x in union (f.z) by A20,SETFAM_1:def 1;
then     ex A0 being set st x in A0 & A0 in f.z by TARSKI:def 4;
        hence thesis by A23,A25,EQREL_1:def 6;
      end; then
      A in meet T by A22,SETFAM_1:def 1;
      then x in A & A in Intersect(T) by A22,EQREL_1:def 6,SETFAM_1:def 9;
      hence thesis by TARSKI:def 4;
    end;
    union B c= Intersect(F)
    proof
      let x be object;
      assume
A26:  x in union B;
      consider X being object such that
A27:  X in F by A1,XBOOLE_0:def 1;
A28:  f.X in T by A27;
      consider y being set such that
A29:  x in y and
A30:  y in B by A26,TARSKI:def 4;
A31:  y in meet T by A28,A30,SETFAM_1:def 9;
      for X st X in F holds x in X
      proof
        let X;
        assume
A32:    X in F;
then     f.X in T;
then A33:    y in f.X by A31,SETFAM_1:def 1;
       P[X,f.X] by A5,A32;
       then X = union (f.X);
        hence thesis by A29,A33,TARSKI:def 4;
      end;
then   x in meet F by A1,SETFAM_1:def 1;
      hence thesis by A1,SETFAM_1:def 9;
    end;
    hence Intersect(F) = union B by A18,XBOOLE_0:def 10;
  end;
end;
