reserve D for non empty set;
reserve m,n,N for Nat;
reserve size for non zero Nat;
reserve f1,f2,f3,f4,f5,f6 for BinominativeFunction of D;
reserve p1,p2,p3,p4,p5,p6,p7 for PartialPredicate of D;
reserve d,v for object;
reserve V,A for set;
reserve z for Element of V;
reserve val for Function;
reserve loc for V-valued Function;
reserve d1 for NonatomicND of V,A;
reserve T for TypeSCNominativeData of V,A;

theorem Th8:
  loc,val,size are_correct_wrt d1 implies
  for m,n being Nat st 1 <= n <= m <= size holds
  dom(LocalOverlapSeq(A,loc,val,d1,size).n) c=
  dom(LocalOverlapSeq(A,loc,val,d1,size).m)
  proof
    set F = LocalOverlapSeq(A,loc,val,d1,size);
    assume
A1: loc,val,size are_correct_wrt d1;
    let m,n be Nat;
    assume that
A2: 1 <= n and
A3: n <= m and
A4: m <= size;
    per cases by A3,XXREAL_0:1;
    suppose n = m;
      hence thesis;
    end;
    suppose
A5:   n < m;
      defpred P[Nat] means n < $1 <= size implies dom(F.n) c= dom(F.$1);
A6:   P[0];
A7:   for k being Nat st P[k] holds P[k+1]
      proof
        let k be Nat such that
A8:     P[k] and
A9:     n < k+1 and
A10:    k+1 <= size;
A11:    n <= k by A9,NAT_1:13;
        then
A12:    1 <= k by A2,XXREAL_0:2;
        k+0 < k+1 by XREAL_1:8;
        then
A13:    k < size by A10,XXREAL_0:2;
        len F = size by Def4;
        then k+1 in dom F by A10,FINSEQ_3:25,NAT_1:12;
        then
A14:    val.(k+1) in rng val by A1,FUNCT_1:def 3;
A15:    val is_valid_wrt d1 by A1;
        dom d1 c= dom(F.k) by A1,A12,A13,Th7;
        then dom(F.(k)) c= dom(F.(k+1)) by A1,A15,A12,A13,A14,Th6;
        hence dom(F.n) c= dom(F.(k+1)) by A8,A11,A10,NAT_1:13,XXREAL_0:1;
      end;
      for k being Nat holds P[k] from NAT_1:sch 2(A6,A7);
      hence thesis by A4,A5;
    end;
  end;
