 reserve Rseq, Rseq1, Rseq2 for Function of [:NAT,NAT:],REAL;

theorem lm84:
  Rseq1 is nonnegative-yielding &
  (for n,m being Nat holds Rseq1.(n,m) <= Rseq2.(n,m)) implies
   for i,j being Nat holds
    (Partial_Sums Rseq1).(i,j) <= (Partial_Sums Rseq2).(i,j)
proof
   set RPS1 = Partial_Sums(Rseq1);
   set RPS2 = Partial_Sums(Rseq2);
   assume
a1: Rseq1 is nonnegative-yielding &
    for n,m be Nat holds Rseq1.(n,m) <= Rseq2.(n,m);
   let i,j be Nat;
   defpred P[Nat] means RPS1.(i,$1) <= RPS2.(i,$1);
a2:P[0]
   proof
    defpred Q0[Nat] means RPS1.($1,0) <= RPS2.($1,0);
a3: RPS1.(0,0) = (Partial_Sums_in_cod1(Rseq1)).(0,0) by DefCS
     .= Rseq1.(0,0) by DefRS;
    RPS2.(0,0) = (Partial_Sums_in_cod1(Rseq2)).(0,0) by DefCS
     .= Rseq2.(0,0) by DefRS; then
a4: Q0[0] by a1,a3;
a5: for l be Nat st Q0[l] holds Q0[l+1]
    proof
     let l be Nat;
     assume Q0[l];
     RPS1.(l+1,0) = (Partial_Sums_in_cod1 Rseq1).(l+1,0)
   & RPS2.(l+1,0) = (Partial_Sums_in_cod1 Rseq2).(l+1,0) by DefCS;
     hence Q0[l+1] by a1,lm84a;
    end;
    for l be Nat holds Q0[l] from NAT_1:sch 2(a4,a5);
    hence P[0];
   end;
a8:for k be Nat st P[k] holds P[k+1]
   proof
    let k be Nat;
    assume A9: P[k];
a10:(Partial_Sums_in_cod1(Rseq1)).(i,k+1)
       <= (Partial_Sums_in_cod1(Rseq2)).(i,k+1) by a1,lm84a;
    RPS1.(i,k+1)
      = (Partial_Sums_in_cod1(Rseq1)).(i,k+1) + RPS1.(i,k) by DefCS; then
    RPS1.(i,k+1) <= (Partial_Sums_in_cod1(Rseq2)).(i,k+1) + RPS2.(i,k)
      by A9,a10,XREAL_1:7;
    hence P[k+1] by DefCS;
   end;
   for k be Nat holds P[k] from NAT_1:sch 2(a2,a8);
   hence RPS1.(i,j) <= RPS2.(i,j);
end;
