reserve X for set;

theorem Th6:
  for S being non empty Subset-Family of X, N,F being sequence of S holds
  (F.0 = N.0 & (for n being Nat holds F.(n+1) = N.(n+1) \/
  F.n) implies for n,m being Nat st n < m holds F.n c= F.m)
proof
  let S be non empty Subset-Family of X, N,F be sequence of S;
  assume that
A1: F.0 = N.0 and
A2: for n being Nat holds F.(n+1) = N.(n+1) \/ F.n;
  defpred X[Nat] means
   for m being Nat st $1 < m holds F.$1 c= F.m;
A3: X[0]
  proof
A4: for k being Nat st 0 < k + 1 holds F.0 c= F.(k+1)
    proof
      defpred P[Nat] means 0 < $1 + 1 implies F.0 c= F.($1+1);
A5:   for k being Nat st P[k] holds P[k+1]
      proof
        let k be Nat;
A6:     0 <= k by NAT_1:2;
        F.(k+1+1) = N.(k+1+1) \/ F.(k+1) by A2;
        then
A7:     F.(k+1) c= F.(k+1+1) by XBOOLE_1:7;
        assume 0 < k + 1 implies F.0 c= F.(k+1);
        hence thesis by A7,A6,NAT_1:13,XBOOLE_1:1;
      end;
      F.(0+1) = N.(0+1) \/ F.0 by A2;
      then
A8:   P[0] by XBOOLE_1:7;
      thus for k being Nat holds P[k] from NAT_1:sch 2(A8,A5 );
    end;
    let m be Nat;
    assume
A9: 0 < m;
    then consider k being Nat such that
A10: m = k + 1 by NAT_1:6;
    reconsider k as Element of NAT by ORDINAL1:def 12;
    m=k+1 by A10;
    hence thesis by A9,A4;
  end;
A11: for n being Nat st X[n] holds X[n+1]
  proof
    let n be Nat;
    assume
A12: for m being Nat st n < m holds F.n c= F.m;
    let m be Nat;
    assume
A13: n+1 < m;
    let r be object;
A14: r in F.n implies r in F.m
    proof
      assume
A15:  r in F.n;
      n < m implies r in F.m
      proof
        assume n < m;
        then F.n c= F.m by A12;
        hence thesis by A15;
      end;
      hence thesis by A13,NAT_1:13;
    end;
    assume
A16: r in F.(n+1);
A17: F.(n+1) = N.(n+1) \/ F.n by A2;
    r in N.(n+1) implies r in F.m by A1,A2,A13,Th5;
    hence thesis by A16,A17,A14,XBOOLE_0:def 3;
  end;
  thus for n being Nat holds X[n] from NAT_1:sch 2(A3,A11);
end;
