reserve i,j,m,n,k for Nat,
  x,y for set,
  K for Field,
  a,a1,a2 for Element of K,
  D for non empty set,
  d,d1,d2 for Element of D,
  M,M1,M2 for (Matrix of D),
  A,A1,A2,B1,B2 for (Matrix of K),
  f,g for FinSequence of NAT;

theorem Th10:
  i in dom f & j in Seg (f/.i) implies j +Sum (f| (i-'1)) in Seg
  Sum (f|i) & min(f,j+Sum (f| (i-'1)))=i
proof
  assume that
A1: i in dom f and
A2: j in Seg (f/.i);
  set fi=f/.i;
  fi=f.i by A1,PARTFUN1:def 6;
  then
A3: fi+Sum(f| (i-'1))= Sum(f|i) by A1,Lm2;
A4: f| (len f)=f by FINSEQ_1:58;
  i<=len f by A1,FINSEQ_3:25;
  then Sum(f|i)<=Sum(f| (len f)) by POLYNOM3:18;
  then
A5: Seg Sum (f|i) c= Seg Sum f by A4,FINSEQ_1:5;
  set jj=j+Sum(f| (i-'1));
  j<=fi by A2,FINSEQ_1:1;
  then
A6: jj<=fi+Sum(f| (i-'1)) by XREAL_1:7;
  1<=j by A2,FINSEQ_1:1;
  then 1+0<= jj by XREAL_1:7;
  hence
A7: jj in Seg Sum (f|i) by A3,A6;
  i>=1 by A1,FINSEQ_3:25;
  then i-'1=i-1 by XREAL_1:233;
  then
A8: i=(i-'1)+1;
A9: i<=min(f,jj)
  proof
    assume i> min(f,jj);
    then min(f,jj)<=i-'1 by A8,NAT_1:13;
    then
A10: Sum(f|min(f,jj))<=Sum(f| (i-'1)) by POLYNOM3:18;
    0<j by A2;
    then Sum (f| (i-'1))+0 < jj by XREAL_1:8;
    then Sum(f|min(f,jj))<jj by A10,XXREAL_0:2;
    hence thesis by A7,A5,Def1;
  end;
  min(f,jj)<=i by A3,A6,A7,A5,Def1;
  hence thesis by A9,XXREAL_0:1;
end;
