reserve n,m,k,k1,k2,i,j for Nat;
reserve x,y,z for object,X,Y,Z for set;
reserve A for Subset of X;
reserve B,A1,A2,A3 for SetSequence of X;
reserve Si for SigmaField of X;
reserve S,S1,S2,S3 for SetSequence of Si;

theorem Th22:
 for n being Nat holds
  (superior_setsequence B).n = (superior_setsequence B).(n+1) \/ B .n
proof
    let n be Nat;
    {B.k1: n <= k1} = {B.k2 : n+1 <=k2} \/ {B.n} by Th2;
    then union {B.k2 : n+1 <= k2} c= union {B.k1 : n <= k1} by XBOOLE_1:7
,ZFMISC_1:77;
    then (superior_setsequence B).(n+1) c= union {B.k1 : n <= k1} by Def3;
    then
A1: (superior_setsequence B).(n+1) c= (superior_setsequence B).n by Def3;
A2: now
      let x be object;
      assume
A3:   x in (superior_setsequence B).(n+1) or x in B.n;
      thus x in (superior_setsequence B).n
      proof
        now
          per cases by A3;
          case
            x in (superior_setsequence B).(n+1);
            hence thesis by A1;
          end;
          case
A4:         x in B.n;
            B.n in {B.k1 : n <= k1};
            then x in union {B.k1 : n <= k1} by A4,TARSKI:def 4;
            hence thesis by Def3;
          end;
        end;
        hence thesis;
      end;
    end;
    now
      let x be object;
      assume x in (superior_setsequence B).n;
      then x in union {B.k1 : n <= k1} by Def3;
      then consider Y1 being set such that
A5:   x in Y1 & Y1 in {B.k1 : n <= k1} by TARSKI:def 4;
      consider k11 being Nat such that
A6:   Y1=B.k11 & n <= k11 by A5;
      now
        per cases by A6,Lm1;
        case
          Y1=B.k11 & n = k11;
          hence x in B.n by A5;
        end;
        case
          Y1=B.k11 & n+1 <= k11;
          then Y1 in {B.k2 : n+1 <= k2};
          hence x in union {B.k2 : n+1 <= k2} by A5,TARSKI:def 4;
        end;
      end;
      hence x in B.n or x in (superior_setsequence B).(n+1) by Def3;
    end;
    then for x being object holds
     x in (superior_setsequence B).n iff x in B.n or x in (
    superior_setsequence B).(n+1) by A2;
    hence
    (superior_setsequence B).n = (superior_setsequence B).(n+1) \/ B.n by
XBOOLE_0:def 3;
end;
