reserve n for Nat,
        p,p1,p2 for Point of TOP-REAL n,
        x for Real;
reserve n,m for non zero Nat;
reserve i,j for Nat;
reserve f for PartFunc of REAL-NS m,REAL-NS n;
reserve g for PartFunc of REAL m,REAL n;
reserve h for PartFunc of REAL m,REAL;
reserve x for Point of REAL-NS m;
reserve y for Element of REAL m;
reserve X for set;

theorem Th24:
for m be non zero Nat, v,w,u be FinSequence of REAL m st
 dom v = dom w & u = v + w holds Sum u = Sum v + Sum w
proof
   let m be non zero Nat;
   defpred P[Nat] means
    for xseq, yseq, zseq be FinSequence of REAL m st
     $1= len zseq & len zseq = len xseq & len zseq = len yseq
     & for i be Nat st i in dom zseq holds
         zseq/.i = xseq/.i + yseq/.i
    holds Sum zseq = Sum xseq + Sum yseq;
A1:P[0]
   proof
    let xseq, yseq, zseq be FinSequence of REAL m;
    assume
A2: 0=len zseq & len zseq = len xseq & len zseq = len yseq
     & for i be Nat st i in dom zseq holds
         zseq/.i = xseq/.i + yseq/.i;
then A3:Sum zseq = 0*m & Sum yseq = 0*m by EUCLID_7:def 11;
     0*m = 0.TOP-REAL m by EUCLID:70;
    then Sum xseq + Sum yseq
      = 0.TOP-REAL m + 0.TOP-REAL m by A2,A3,EUCLID_7:def 11
     .= 0.TOP-REAL m by RLVECT_1:4;
    hence thesis by A3,EUCLID:70;
   end;
A4:now let i be Nat;
    assume A5: P[i];
     now let xseq,yseq,zseq be FinSequence of REAL m;
     assume A6: i+1 = len zseq & len zseq = len xseq & len zseq = len yseq
               & for k be Nat st k in dom zseq holds
                   zseq/.k = xseq/.k + yseq/.k;
     set xseq0=xseq|i;
     set yseq0=yseq|i;
     set zseq0=zseq|i;
A7:dom xseq = dom yseq & dom zseq = dom yseq by A6,FINSEQ_3:29;
A8: i = len xseq0 by A6,FINSEQ_1:59,NAT_1:11;
then A9: len xseq0 = len yseq0 & len xseq0 = len zseq0
        by A6,FINSEQ_1:59,NAT_1:11;
      for k be Nat st k in dom zseq0 holds
       zseq0/.k = xseq0/.k + yseq0/.k
     proof
      let k be Nat;
      assume A10: k in dom zseq0;
then A11:  k in dom(yseq|Seg i) & k in dom(xseq|Seg i)
      & k in dom(zseq|Seg i) by A9,FINSEQ_3:29;
A12:  k in Seg i & k in dom zseq by A10,RELAT_1:57;
then A13:  zseq/.k = xseq/.k + yseq/.k by A6;
      A14: xseq/.k = xseq.k by A12,A7,PARTFUN1:def 6
             .= (xseq|Seg i).k by A12,FUNCT_1:49
             .= (xseq|Seg i)/.k by A11,PARTFUN1:def 6;
      A15: yseq/.k = yseq.k by A7,A12,PARTFUN1:def 6
             .= (yseq|Seg i).k by A12,FUNCT_1:49
             .= (yseq|Seg i)/.k by A11,PARTFUN1:def 6;
       zseq0/.k = (zseq|Seg i).k by A10,PARTFUN1:def 6
              .= zseq.k by A12,FUNCT_1:49;
      hence zseq0/.k = xseq0/.k + yseq0/.k by A13,A14,A15,A12,PARTFUN1:def 6;
     end;
then A16:Sum zseq0 = Sum xseq0 + Sum yseq0 by A8,A9,A5;
     consider v be Element of REAL m such that
A17: v = xseq.(len xseq) & Sum xseq = Sum xseq0 + v by A6,A8,PDIFF_6:15;
     consider w be Element of REAL m such that
A18:w = yseq.(len yseq) & Sum yseq = Sum yseq0 + w by A6,A8,A9,PDIFF_6:15;
     consider t be Element of REAL m such that
A19: t = zseq.(len zseq) & Sum zseq = Sum zseq0 + t by A6,A8,A9,PDIFF_6:15;
A20:dom zseq = Seg(i+1) by A6,FINSEQ_1:def 3;
     then len zseq in dom zseq by A6,FINSEQ_1:4;
     then t = zseq/.(len zseq) by A19,PARTFUN1:def 6;
then A21:t = xseq/.(len xseq) + yseq/.(len yseq) by A6,A20,FINSEQ_1:4;
  dom xseq = Seg(i+1) & dom yseq = Seg(i+1) by A6,FINSEQ_1:def 3;
then A22:  v = xseq/.(len xseq) & w = yseq/.(len yseq)
       by A6,A17,A18,FINSEQ_1:4,PARTFUN1:def 6;
     reconsider F1 = Sum xseq0 as real-valued FinSequence;
     reconsider F2 = Sum yseq0 as real-valued FinSequence;
     reconsider F3 = xseq/.(len xseq) as real-valued FinSequence;
     reconsider F4 = yseq/.(len yseq) as real-valued FinSequence;
      Sum zseq = F1 + F2 + F3 + F4 by A19,A16,A21,RVSUM_1:15;
     then Sum zseq = F1 + F3 + F2 + F4 by RVSUM_1:15;
     hence Sum zseq =Sum xseq + Sum yseq by A22,A17,A18,RVSUM_1:15;
    end;
    hence P[i+1];
   end;
A23:for k be Nat holds P[k] from NAT_1:sch 2(A1,A4);
   let xseq,yseq,zseq be FinSequence of REAL m;
   assume A24: dom xseq = dom yseq & zseq = xseq + yseq;
then A25:
   len yseq = len xseq by FINSEQ_3:29;
   xseq + yseq = xseq<++>yseq by INTEGR15:def 9;
   then dom zseq = dom xseq /\ dom yseq by A24,VALUED_2:def 45;
   then A26:
   len zseq = len xseq by A24,FINSEQ_3:29;
    for i be Nat st i in dom zseq holds
     zseq/.i = xseq/.i + yseq/.i by A24,INTEGR15:21;
   hence Sum zseq = Sum xseq + Sum yseq by A25,A26,A23;
end;
