reserve X for set;
reserve S for Subset-Family of X;

theorem
  for S be cap-finite-partition-closed diff-c=-finite-partition-closed
  Subset-Family of X st S is with_countable_Cover holds
  ex P be countable Subset of S st P is a_partition of X
  proof
    let S be cap-finite-partition-closed diff-c=-finite-partition-closed
    Subset-Family of X;
    assume S is with_countable_Cover;
    then consider XX be countable Subset of S such that
A1: XX is Cover of X;
    per cases;
    suppose
C1:   S is empty;
      X c= union XX by A1,SETFAM_1:def 11;
      then
C2:   X is empty by C1,ZFMISC_1:2;
      set P={};
      P is countable Subset of S by SUBSET_1:1;
      hence thesis by C2,EQREL_1:45;
    end;
    suppose
B0: S is non empty;
A2: X c= union XX by A1,SETFAM_1:def 11;
    per cases;
    suppose
A3:   X is empty;
      {} is countable Subset of S by SUBSET_1:1;
      hence thesis by A3,EQREL_1:45;
    end;
    suppose
A5:   not X is empty;
A6:   ex g be Function of NATPLUS,S st rng g=XX
      proof
        consider f be Function of omega,XX such that
A7:     rng f=XX by A5,A2,ZFMISC_1:2,CARD_3:96;
        reconsider f as Function of NAT,XX;
        defpred G[object,object] means
        $1 in NATPLUS &
        ex xx be Nat st xx+1=$1 & $2=f.xx;
A8:     for x, y1,y2 be object st x in NATPLUS & G[x,y1] & G[x,y2] holds y1=y2;
A9:     for x be object st x in NATPLUS ex y be object st G[x,y]
        proof
          let x be object;
          assume
A10:      x in NATPLUS;
          then reconsider x as Nat;
A11:      x-1 is Nat by A10,CHORD:1;
          x-1+1=x;
          then consider xx be Nat such that
A12:      xx+1=x by A11;
          set y=f.xx;
          x in NATPLUS & ex xx be Nat st xx+1 =x & y=f.xx by A10,A12;
          hence  thesis;
        end;
        consider g being Function such that
A13:    dom g = NATPLUS &
        for a be object st a in NATPLUS holds G[a,g.a]
        from FUNCT_1:sch 2(A8,A9);
A14:    rng g =XX
        proof
A15:      rng g c= XX
          proof
            let x be object;
            assume x in rng g;
            then consider y be object such that
A16:        y in dom g & x=g.y by FUNCT_1:def 3;
            consider xx be Nat such that
A17:        xx+1=y &g.y=f.xx by A13,A16;
            xx is Nat & dom f=NAT by A5,A2,ZFMISC_1:2,FUNCT_2:def 1;
            then xx in dom f by ORDINAL1:def 12;
            then x in rng f by A16,A17,FUNCT_1:def 3;
            hence thesis;
          end;
          XX c= rng g
          proof
            let x be object;
            assume x in XX;
            then consider y be object such that
A18:        y in dom f & x=f.y by A7,FUNCT_1:def 3;
            reconsider y as Nat by A18;
A19:        y+1 in dom g & x=f.y by A13,A18,NAT_LAT:def 6;
            g.(y+1)=f.y
            proof
              consider xx be Nat such that
A20:          xx+1=y+1 & g.(y+1)=f.xx by A13,A19;
              thus thesis by A20;
            end;
            hence thesis by A19,FUNCT_1:def 3;
          end;
          hence thesis by A15;
        end;
        g is Function of NATPLUS,S by B0,A13,A14,FUNCT_2:def 1,RELSET_1:4;
        hence thesis by A14;
        end;
        ex P be countable Subset of S
        st P is a_partition of X
        proof
          consider g be Function of NATPLUS,S such that
A21:      rng g=XX by A6;
          consider P be countable Subset of S such that
A22:      P is a_partition of Union g &
          for n be NatPlus holds
          Union (g|Seg n)=
          union{s where s is Element of S:s in P & s c= Union (g|Seg n)}
          by Thm4;
          Union g c= X
          proof
            let y be object;
            assume y in Union g;
            then consider z be set such that
A24:        y in z & z in rng g by TARSKI:def 4;
            y in union S by A24,TARSKI:def 4;
            hence thesis;
          end;
          then X=Union g by A1,A21,SETFAM_1:def 11;
          hence thesis by A22;
        end;
        hence thesis;
      end;
    end;
  end;
