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

theorem lm84a:
(for n,m being Nat holds Rseq1.(n,m) <= Rseq2.(n,m)) implies
for i,j being Nat holds
  (Partial_Sums_in_cod1 Rseq1).(i,j) <= (Partial_Sums_in_cod1 Rseq2).(i,j)
& (Partial_Sums_in_cod2 Rseq1).(i,j) <= (Partial_Sums_in_cod2 Rseq2).(i,j)
proof
   set RS1 = Partial_Sums_in_cod1 Rseq1, RS2 = Partial_Sums_in_cod1 Rseq2;
   set CS1 = Partial_Sums_in_cod2 Rseq1, CS2 = Partial_Sums_in_cod2 Rseq2;
   assume a1: for n,m be Nat holds Rseq1.(n,m) <= Rseq2.(n,m);
   let i,j be Nat;
   defpred R[Nat] means RS1.($1,j) <=RS2.($1,j);
   RS1.(0,j) = Rseq1.(0,j) & RS2.(0,j) = Rseq2.(0,j) by DefRS; then
a2:R[0] by a1;
a3:for k be Nat st R[k] holds R[k+1]
   proof
    let k be Nat;
    assume R[k]; then
a4: RS1.(k,j) <= RS2.(k,j) & Rseq1.(k+1,j) <= Rseq2.(k+1,j) by a1;
    RS1.(k+1,j) = RS1.(k,j) + Rseq1.(k+1,j) &
    RS2.(k+1,j) = RS2.(k,j) + Rseq2.(k+1,j) by DefRS;
    hence R[k+1] by a4,XREAL_1:7;
   end;
   for k be Nat holds R[k] from NAT_1:sch 2(a2,a3);
   hence RS1.(i,j) <= RS2.(i,j);
   defpred C[Nat] means CS1.(i,$1) <= CS2.(i,$1);
   CS1.(i,0) = Rseq1.(i,0) & CS2.(i,0) = Rseq2.(i,0) by DefCS; then
a5:C[0] by a1;
a6:for k be Nat st C[k] holds C[k+1]
   proof
    let k be Nat;
    assume C[k]; then
a7: CS1.(i,k) <= CS2.(i,k) & Rseq1.(i,k+1) <= Rseq2.(i,k+1) by a1;
    CS1.(i,k+1) = CS1.(i,k) + Rseq1.(i,k+1) &
    CS2.(i,k+1) = CS2.(i,k) + Rseq2.(i,k+1) by DefCS;
    hence C[k+1] by a7,XREAL_1:7;
   end;
   for k be Nat holds C[k] from NAT_1:sch 2(a5,a6);
   hence CS1.(i,j) <= CS2.(i,j);
end;
