reserve a,a1,a2,v,v1,v2,x for object;
reserve V,A for set;
reserve m,n for Nat;
reserve S,S1,S2 for FinSequence;

theorem Th17:
  S IsNDRankSeq V,A implies S ^ <* NDSS(V,A\/S.len S) *> IsNDRankSeq V,A
  proof
    assume
A1: S IsNDRankSeq V,A;
    set S1 = S^<*NDSS(V,A\/S.len S)*>;
    S <> {} by A1;
    then rng S <> {};
    then 1 in dom S by FINSEQ_3:32;
    hence S1.1 = NDSS(V,A) by A1,FINSEQ_1:def 7;
    let n be Nat such that
A2: n in dom S1 and
A3: n+1 in dom S1;
    len <*NDSS(V,A\/S.len S)*> = 1 by FINSEQ_1:39;
    then
A4: len S1 = 1 + len S by FINSEQ_1:22;
A5: 1 <= n by A2,FINSEQ_3:25;
A6: 1 <= n+1 by NAT_1:14;
A7: n+1 <= len S1 by A3,FINSEQ_3:25;
    then n+1-1 <= 1 + len S - 1 by A4,XREAL_1:9;
    then
A8: n in dom S by A5,FINSEQ_3:25;
    then
A9: S1.n = S.n by FINSEQ_1:def 7;
    per cases by A7,XXREAL_0:1;
    suppose n+1 < len S1;
      then n+1 <= len S by A4,NAT_1:13;
      then
A10:  n+1 in dom S by A6,FINSEQ_3:25;
      then S1.(n+1) = S.(n+1) by FINSEQ_1:def 7;
      hence thesis by A1,A8,A9,A10;
    end;
    suppose n+1 = len S1;
      hence thesis by A4,A9,FINSEQ_1:42;
    end;
  end;
