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 Th7:
  loc,val,size are_correct_wrt d1 implies
  for n being Nat st 1 <= n <= size holds
  dom(d1) c= dom(LocalOverlapSeq(A,loc,val,d1,size).n)
  proof
    set F = LocalOverlapSeq(A,loc,val,d1,size);
    assume that
A1: V is non empty and
A2: A is_without_nonatomicND_wrt V and
A3: val is_valid_wrt d1 and
A4: dom F c= dom val;
    let n be Nat;
    assume that
A5: 1 <= n and
A6: n <= size;
    defpred P[Nat] means 1 <= $1 <= size implies dom(d1) c= dom(F.$1);
A7: P[0];
A8: for k being Nat st P[k] holds P[k+1]
    proof
      let k be Nat such that
A9:   P[k] and
A10:  1 <= k+1 and
A11:  k+1 <= size;
A12:  len F = size by Def4;
      per cases;
      suppose
A13:    k = 0;
        set v = loc/.1;
        set D = denaming(V,A,val.1);
A14:    dom D = {d where d is NonatomicND of V,A: val.1 in dom d}
        by NOMIN_1:def 18;
        1 <= len F by A10,A11,A12,XXREAL_0:2;
        then 1 in dom F by FINSEQ_3:25;
        then val.1 in rng val by A4,FUNCT_1:def 3;
        then d1 in dom D by A3,A14;
        then reconsider d2 = D.d1 as TypeSCNominativeData of V,A
        by PARTFUN1:4,NOMIN_1:39;
A15:    F.1 = local_overlapping(V,A,d1,d2,v) by Def4;
        dom local_overlapping(V,A,d1,d2,v) = {v} \/ dom d1 by A1,A2,NOMIN_4:4;
        hence thesis by A13,A15,XBOOLE_1:7;
      end;
      suppose k > 0;
        then
A16:    0+1 <= k by NAT_1:13;
A17:    k <= k+1 by NAT_1:12;
        then
A18:    dom(d1) c= dom(F.k) by A9,A11,A16,XXREAL_0:2;
        k+0 < k+1 by XREAL_1:8;
        then
A19:    k < size by A11,XXREAL_0:2;
        k+1 in dom F by A11,A12,FINSEQ_3:25,NAT_1:12;
        then val.(k+1) in rng val by A4,FUNCT_1:def 3;
        then dom(F.k) c= dom(F.(k+1)) by A1,A2,A3,A16,A18,A19,Th6;
        hence thesis by A17,A9,A11,A16,XXREAL_0:2;
      end;
    end;
    for k being Nat holds P[k] from NAT_1:sch 2(A7,A8);
    hence thesis by A5,A6;
  end;
