
theorem Th8:
for D be non empty set,
    Y be non empty with_non-empty_element FinSequenceSet of D,
 s be non-empty sequence of Y, n be Nat holds
  ex k,m be Nat st
   m in dom(s.k) & (Partial_Sums(Length s)).k - len(s.k) + m - 1 = n
proof
   let D be non empty set,
       Y be non empty with_non-empty_element FinSequenceSet of D,
       s be non-empty sequence of Y, n be Nat;
   per cases;
   suppose A1: n < len(s.0);
    set k = 0;
    set m = n+1;
    take k,m;
A4: m <= len(s.k) by A1,NAT_1:13;
    (Partial_Sums(Length s)).k = (Length s).0 by SERIES_1:def 1
     .= len(s.k) by Def3;
    hence m in dom(s.k) & (Partial_Sums(Length s)).k - len(s.k) + m-1= n
      by NAT_1:11,A4,FINSEQ_3:25;
   end;
   suppose A5: len(s.0) <= n; then
    (Length s).0 <= n by Def3; then
A6: (Partial_Sums(Length s)).0 <= n by SERIES_1:def 1;
    now assume
A8:  for k be Nat st k < n holds
       n < (Partial_Sums(Length s)).k or (Partial_Sums(Length s)).(k+1) <= n;
     defpred P[Nat] means $1 < n implies (Partial_Sums(Length s)).($1+1) <= n;
A9:  P[0] by A6,A8;
A12: for k be Nat st P[k] holds P[k+1] by A8,NAT_1:13;
A13: for k be Nat holds P[k] from NAT_1:sch 2(A9,A12);
     reconsider n1 = n-1 as Nat by A5,NAT_1:20;
     (Partial_Sums(Length s)).(n1+1) <= n by A13,NAT_1:19;
     hence contradiction by Th7;
    end; then
    consider k1 be Nat such that
A14: k1 < n
   & (Partial_Sums(Length s)).k1 <= n & n < (Partial_Sums(Length s)).(k1+1);
    take k = k1+1;
    reconsider m1 = (Partial_Sums(Length s)).k - n as Nat by A14,NAT_1:21;
    (Partial_Sums(Length s)).k = (Partial_Sums(Length s)).k1 + (Length s).k
      by SERIES_1:def 1; then
A15:m1 = (Partial_Sums(Length s)).k1 + len(s.k) - n by Def3;
    (Partial_Sums(Length s)).k1 - n <= 0 by A14,XREAL_1:47; then
A17:(Partial_Sums(Length s)).k1 - n + len(s.k) <= len(s.k) by XREAL_1:32; then
    m1 <= len(s.k) & len(s.k) <= len(s.k)+1 by A15,NAT_1:11; then
    reconsider m = len(s.k) +1 - m1 as Nat by NAT_1:21,XXREAL_0:2;
    take m;
    m1 > 0 by A14,XREAL_1:50; then
    len(s.k) - m1 >= 0 & 1-m1 <= 0 by A15,A17,NAT_1:14,XREAL_1:47,48; then
    len(s.k) - m1 + 1 >= 0+1 & len(s.k) + (1 - m1) <= len(s.k) + 0
      by XREAL_1:6;
    hence m in dom(s.k) & (Partial_Sums(Length s)).k - len(s.k) + m -1 = n
      by FINSEQ_3:25;
   end;
end;
