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 Th9:
  loc,val,size are_correct_wrt d1 implies
  for m,n being Nat st 1 <= n <= m <= size holds
  loc/.n in 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;
    then
A2: val is_valid_wrt d1;
    let m,n be Nat such that
A3: 1 <= n and
A4: n <= m and
A5: m <= size;
A6: 1 <= m by A3,A4,XXREAL_0:2;
A7: n <= size by A4,A5,XXREAL_0:2;
A8: len F = size by Def4;
    reconsider i1 = n-1 as Element of NAT by A3,INT_1:5;
    set v = loc/.n;
    set D = denaming(V,A,val.n);
A9:dom D = {d where d is NonatomicND of V,A: val.n in dom d}
    by NOMIN_1:def 18;
A10: v in {v} by TARSKI:def 1;
    n in dom F by A3,A7,A8,FINSEQ_3:25;
    then
A11: val.n in rng val by A1,FUNCT_1:def 3;
    then
A12: val.n in dom d1 by A2;
    per cases;
    suppose
A13:  i1 = 0;
      d1 in dom D by A2,A9,A11;
      then reconsider d2 = D.d1 as TypeSCNominativeData of V,A
      by PARTFUN1:4,NOMIN_1:39;
A14:  F.1 = local_overlapping(V,A,d1,d2,v) by A13,Def4;
A15:  dom local_overlapping(V,A,d1,d2,v) = {v} \/ dom(d1) by A1,NOMIN_4:4;
A16:  dom(F.1) c= dom(F.m) by A1,A5,A6,Th8;
      v in {v} \/ dom(d1) by A10,XBOOLE_0:def 3;
      hence v in dom(F.m) by A14,A15,A16;
    end;
    suppose i1 > 0;
      then
A17:  0+1 <= i1 by NAT_1:13;
      n-1 < n-0 by XREAL_1:15;
      then
A18:  i1 < size by A7,XXREAL_0:2;
      then reconsider dd = F.i1 as NonatomicND of V,A by A17,A8,Def6;
      dom(d1) c= dom(dd) by A1,A17,A18,Th7;
      then dd in dom D by A12,A9;
      then reconsider d2 = D.dd as TypeSCNominativeData of V,A
      by PARTFUN1:4,NOMIN_1:39;
A19:  F.n = local_overlapping(V,A,dd,d2,loc/.(i1+1)) by A8,A17,A18,Def4;
A20:  dom local_overlapping(V,A,dd,d2,v) = {v} \/ dom(dd) by A1,NOMIN_4:4;
A21:  v in {v} \/ dom(dd) by A10,XBOOLE_0:def 3;
      dom(F.n) c= dom(F.m) by A1,A3,A4,A5,Th8;
      hence v in dom(F.m) by A21,A19,A20;
    end;
  end;
