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

theorem ThRS:
for n,m being Nat holds
 (Partial_Sums Rseq).(n+1,m)
   = (Partial_Sums_in_cod2 Rseq).(n+1,m) + (Partial_Sums Rseq).(n,m) &
 (Partial_Sums_in_cod1(Partial_Sums_in_cod2 Rseq)).(n,m+1)
   = (Partial_Sums_in_cod1 Rseq).(n,m+1)
     + (Partial_Sums_in_cod1(Partial_Sums_in_cod2 Rseq)).(n,m)
proof
   let n,m be Nat;
   set RPS = Partial_Sums Rseq;
   set CPS = Partial_Sums_in_cod1(Partial_Sums_in_cod2 Rseq);
   set ROW = Partial_Sums_in_cod1 Rseq;
   set COL = Partial_Sums_in_cod2 Rseq;
   defpred P[Nat] means RPS.(n+1,$1) = COL.(n+1,$1) + RPS.(n,$1);
a1:RPS.(n,0) = ROW.(n,0) by DefCS;
   RPS.(n+1,0) = ROW.(n+1,0) by DefCS
    .= ROW.(n,0) + Rseq.(n+1,0) by DefRS; then
a3:P[0] by a1,DefCS;
a4:for k being Nat st P[k] holds P[k+1]
   proof
    let k be Nat;
    assume A5: P[k];
a6: COL.(n+1,k+1) = COL.(n+1,k) + Rseq.(n+1,k+1) by DefCS;
    RPS.(n,k+1) = RPS.(n,k) + ROW.(n,k+1) by DefCS; then
    COL.(n+1,k+1) + RPS.(n,k+1)
      = RPS.(n+1,k) + ( Rseq.(n+1,k+1) + ROW.(n,k+1) ) by A5,a6
     .= RPS.(n+1,k) + ROW.(n+1,k+1) by DefRS;
    hence P[k+1] by DefCS;
   end;
   for k be Nat holds P[k] from NAT_1:sch 2(a3,a4);
   hence RPS.(n+1,m) = COL.(n+1,m) + RPS.(n,m);
   defpred Q[Nat] means CPS.($1,m+1) = ROW.($1,m+1) + CPS.($1,m);
b1:CPS.(0,m) = COL.(0,m) by DefRS;
   CPS.(0,m+1) = COL.(0,m+1) by DefRS
    .= COL.(0,m) + Rseq.(0,m+1) by DefCS; then
b3:Q[0] by b1,DefRS;
b4:for k being Nat st Q[k] holds Q[k+1]
   proof
    let k be Nat;
    assume B5: Q[k];
b6: ROW.(k+1,m+1) = ROW.(k,m+1) + Rseq.(k+1,m+1) by DefRS;
    CPS.(k+1,m) = CPS.(k,m) + COL.(k+1,m) by DefRS; then
    ROW.(k+1,m+1) + CPS.(k+1,m)
     = CPS.(k,m+1) + ( Rseq.(k+1,m+1) + COL.(k+1,m) ) by B5,b6
     .= CPS.(k,m+1) + COL.(k+1,m+1) by DefCS;
    hence Q[k+1] by DefRS;
   end;
   for k being Nat holds Q[k] from NAT_1:sch 2(b3,b4);
   hence thesis;
end;
