reserve X for set;

theorem Th21:
  for S being N_Sub_set_fam of X holds X \ S is N_Sub_set_fam of X
proof
  let S be N_Sub_set_fam of X;
  consider F being sequence of bool X such that
A1: S = rng F by SUPINF_2:def 8;
  defpred P[object,object] means
   ex V being Subset of X st V = F.$1 & $2 = V`;
A2: for n being object st n in NAT ex y being object st y in X\S & P[n,y]
  proof
    let n be object;
    assume n in NAT;
    then consider V being set such that
A3: V in S and
A4: V=F.n by A1,FUNCT_2:4;
    reconsider V as Subset of X by A3;
    take V`;
    V`` in S by A3;
    hence thesis by A4,SETFAM_1:def 7;
  end;
A5: ex G being sequence of X \ S st for n being object st n in NAT holds P[
  n,G.n] from FUNCT_2:sch 1(A2);
A6: NAT = dom F by FUNCT_2:def 1;
  ex G being sequence of bool X st X \ S = rng G
  proof
    consider G being sequence of X \ S such that
A7: for n being object st n in NAT holds ex V being Subset of X st V = F
    .n & G.n = V` by A5;
A8: dom G = NAT by FUNCT_2:def 1;
A9: X \ S c= rng G
    proof
      let x be object;
      assume
A10:  x in X \ S;
      then reconsider B = x as Subset of X;
      B` in S by A10,SETFAM_1:def 7;
      then consider n being object such that
A11:  n in NAT and
A12:  F.n = B` by A1,A6,FUNCT_1:def 3;
      ex V being Subset of X st V = F.n & G.n = V` by A7,A11;
      hence thesis by A8,A11,A12,FUNCT_1:def 3;
    end;
    reconsider G as sequence of bool X by FUNCT_2:7;
    take G;
    thus thesis by A9;
  end;
  hence thesis by SUPINF_2:def 8;
end;
