reserve D for non empty set;
reserve f1,f2,f3,f4,f5,f6,f7,f8,f9,f10 for BinominativeFunction of D;
reserve p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11 for PartialPredicate of D;
reserve q1,q2,q3,q4,q5,q6,q7,q8,q9,q10 for total PartialPredicate of D;
reserve n,m,N for Nat;
reserve fD for PFuncs(D,D)-valued FinSequence;
reserve fB for PFuncs(D,BOOLEAN)-valued FinSequence;
reserve V,A for set;
reserve val for Function;
reserve loc for V-valued Function;
reserve d1 for NonatomicND of V,A;
reserve p for SCPartialNominativePredicate of V,A;
reserve d,v for object;
reserve size for non zero Nat;
reserve inp,pos for FinSequence;
reserve prg for non empty FPrg(ND(V,A))-valued FinSequence;

theorem Th15:
  for size being non zero Nat
  for val being size-element FinSequence holds
  loc,val,size are_correct_wrt d1 &
  1 <= n & n <= len LocalOverlapSeq(A,loc,val,d1,size) &
  1 <= m & m <= len LocalOverlapSeq(A,loc,val,d1,size) implies
  LocalOverlapSeq(A,loc,val,d1,size).n in dom denaming(V,A,val.m)
  proof
    let size be non zero Nat;
    let val be size-element FinSequence;
    set F = LocalOverlapSeq(A,loc,val,d1,size);
    set v = val.m;
    assume that
A1: loc,val,size are_correct_wrt d1 and
A2: 1 <= n & n <= len F;
A3: len F = size by NOMIN_7:def 4;
A4: dom denaming(V,A,v) = {d where d is NonatomicND of V,A: v in dom d}
      by NOMIN_1:def 18;
A5: F.n is NonatomicND of V,A by A2,NOMIN_7:def 6;
    assume 1 <= m <= len F;
    then v in dom(F.n) by A1,A2,A3,NOMIN_7:10;
    hence thesis by A4,A5;
  end;
