
theorem Th43:
  for f be Function of [:NAT,NAT:],ExtREAL,
      m,n be Element of NAT holds
   (Partial_Sums_in_cod1 f).(m,n) = Partial_Sums(ProjMap2(f,n)).m &
   (Partial_Sums_in_cod2 f).(m,n) = Partial_Sums(ProjMap1(f,m)).n
proof
   let f be Function of [:NAT,NAT:],ExtREAL;
   let m,n be Element of NAT;
   defpred P[Nat] means
    (Partial_Sums_in_cod1 f).($1,n) = Partial_Sums(ProjMap2(f,n)).$1;
   Partial_Sums(ProjMap2(f,n)).0 = (ProjMap2(f,n)).0 by MESFUNC9:def 1
     .= f.(0,n) by MESFUNC9:def 7; then
a1:P[0] by DefRSM;
a2:for k be Nat st P[k] holds P[k+1]
   proof
    let k be Nat;
    assume P[k]; then
    (Partial_Sums_in_cod1 f).(k+1,n)
      = Partial_Sums(ProjMap2(f,n)).k + f.(k+1,n) by DefRSM
     .= Partial_Sums(ProjMap2(f,n)).k + (ProjMap2(f,n)).(k+1)
       by MESFUNC9:def 7;
    hence P[k+1] by MESFUNC9:def 1;
   end;
   for k be Nat holds P[k] from NAT_1:sch 2(a1,a2);
   hence (Partial_Sums_in_cod1 f).(m,n) = Partial_Sums(ProjMap2(f,n)).m;
   defpred Q[Nat] means
    (Partial_Sums_in_cod2 f).(m,$1) = Partial_Sums(ProjMap1(f,m)).$1;
   Partial_Sums(ProjMap1(f,m)).0 = (ProjMap1(f,m)).0 by MESFUNC9:def 1
    .= f.(m,0) by MESFUNC9:def 6; then
a3:Q[0] by DefCSM;
a4:for k be Nat st Q[k] holds Q[k+1]
   proof
    let k be Nat;
    assume Q[k]; then
    (Partial_Sums_in_cod2 f).(m,k+1)
      = Partial_Sums(ProjMap1(f,m)).k + f.(m,k+1) by DefCSM
     .= Partial_Sums(ProjMap1(f,m)).k + (ProjMap1(f,m)).(k+1)
       by MESFUNC9:def 6;
    hence Q[k+1] by MESFUNC9:def 1;
   end;
   for k be Nat holds Q[k] from NAT_1:sch 2(a3,a4);
   hence thesis;
end;
