reserve s1,s2,q1 for Real_Sequence;

theorem Th4:
  for X be RealNormSpace, n,m be Nat, a be Function of [:Seg n,Seg m:],X
  for p,q be FinSequence of X st
    ( dom p = Seg n
    & for i be Nat st i in dom p holds
        ex r be FinSequence of X st
          (dom r = Seg m & p.i = Sum r
         & for j be Nat st j in dom r holds r.j=a.(i,j) ) )
  & ( dom q = Seg m
    & for j be Nat st j in dom q holds
        ex s be FinSequence of X st
          (dom s = Seg n & q.j = Sum s
         & for i be Nat st i in dom s holds s.i=a.(i,j) ) )
  holds Sum p = Sum q
proof
   let X be RealNormSpace;
   defpred P[Nat] means for m be Nat, a be Function of [:Seg $1, Seg m:],X
     for p,q be FinSequence of X st (dom p=Seg $1 & for i be Nat st i in dom p
      holds ex r be FinSequence of X st (dom(r) = Seg m & p.i=Sum(r) & for j be
      Nat st j in dom(r) holds r.j=a.( i,j ) ))
    & ( dom q=Seg m & for j be Nat st j in
    dom q holds ex s be FinSequence of X st (dom(s) = Seg $1 & q.j=Sum(s) & for
     i be Nat st i in dom(s) holds s.i=a.( i,j ))) holds Sum(p)=Sum(q);
A1:for n be Nat st P[n] holds P[n+1]
   proof
    let n be Nat such that A2: P[n];
    reconsider n as Element of NAT by ORDINAL1:def 12;
A3:Seg n c= Seg (n+1) by FINSEQ_1:5,NAT_1:11;
    now
     let m be Nat, a be Function of [:Seg (n+1),Seg m:],X;
     let p,q be FinSequence of X such that
A4:  dom p=Seg (n+1)
   & for i be Nat st i in dom p holds
      ex r be FinSequence of X st
       ( dom r = Seg m & p.i=Sum r
       & for j be Nat st j in dom r holds r.j=a.(i,j) )
     and
A5:  dom q=Seg m
   & for j be Nat st j in dom q holds
      ex s be FinSequence of X st
       ( dom s = Seg (n+1) & q.j=Sum s
       & for i be Nat st i in dom s holds s.i=a.(i,j) );
A6:  len p=n+1 by A4,FINSEQ_1:def 3;
     set a0=a| [:Seg n, Seg m:];
     [:Seg n,Seg m:] c= [:Seg (n+1),Seg m:] by A3,ZFMISC_1:95;
     then reconsider a0 as Function of [:Seg n,Seg m:],X by FUNCT_2:32;
A7: dom a0 = [:Seg n,Seg m:] by FUNCT_2:def 1;
     deffunc F(Nat)=a.( [n+1,$1] );
     reconsider p0= p|(Seg n) as FinSequence of X by FINSEQ_1:18;
A8:  dom p0=Seg n by A4,A3,RELAT_1:62; then
A9:  len p0 = n by FINSEQ_1:def 3;
A10: now let i be Nat;
      assume A11: i in dom p0;
      then consider r be FinSequence of X such that
A12:   dom r = Seg m & p.i=Sum r
     & for j be Nat st j in dom r holds r.j=a.(i,j) by A4,A8,FINSEQ_2:8;
      take r;
      thus dom r = Seg m & p0.i = Sum r by A11,A12,FUNCT_1:47;
      thus for j be Nat st j in dom r holds r.j=a0.(i,j)
      proof
       let j be Nat;
       assume A13: j in dom r;
       then r.j=a.(i,j) by A12;
       hence r.j = a0.(i,j) by A8,A11,A12,A13,ZFMISC_1:87,A7,FUNCT_1:47;
      end;
     end;
     reconsider m as Element of NAT by ORDINAL1:def 12;
     consider an be FinSequence such that
A14:  len an=m & for j be Nat st j in dom an holds an.j=F(j)
        from FINSEQ_1:sch 2;
A15: dom an=Seg m by A14,FINSEQ_1:def 3;
     now
      let i be Nat;
      assume A16:i in dom an;
      n+1 in Seg(n+1) by FINSEQ_1:4; then
      [n+1,i] in [:Seg (n+1),Seg m:] by A16,A15,ZFMISC_1:87; then
      a.(n+1,i) in the carrier of X by FUNCT_2:5;
      hence an.i in the carrier of X by A16,A14;
     end; then
     reconsider an as FinSequence of X by FINSEQ_2:12;

A17: Sum an = p.(n+1)
     proof
      consider r be FinSequence of X such that
A18:   dom r = Seg m & p.(n+1)=Sum r
     & for j be Nat st j in dom r holds r.j=a.(n+1,j) by A4,FINSEQ_1:4;
      now let j be Nat;
       assume A19: j in dom r; then
       r.j=a.(n+1,j) by A18;
       hence r.j=an.j by A14,A15,A18,A19;
      end;
      hence thesis by A14,FINSEQ_1:def 3,A18,FINSEQ_1:13;
     end;

     set q0 = q-an;
A20: dom q0 = dom q /\ dom an by VFUNCT_1:def 2;
     then reconsider q0=q-an as FinSequence by A15,A5,FINSEQ_1:def 2;

     for i be Nat st i in dom q0 holds q0.i in the carrier of X
     proof
      let i be Nat;
      assume i in dom q0; then
      q0.i = (q-an)/.i by PARTFUN1:def 6;
      hence thesis;
     end;
     then reconsider q0 as FinSequence of the carrier of X by FINSEQ_2:12;
A21: len q0 = m by A5,A15,A20,FINSEQ_1:def 3;
A22: now
      let j be Nat such that
A23:   j in dom q0;
      consider s be FinSequence of X such that
A24:   dom s = Seg(n+1) & q.j=Sum s
     & for i be Nat st i in dom s holds s.i=a.(i,j) by A5,A15,A20,A23;
A25:  s.(n+1)=a.(n+1,j) by A24,FINSEQ_1:4;
      reconsider sn=s|Seg n as FinSequence of X by FINSEQ_1:18;
      take sn;
A26:   len s = n+1 by A24,FINSEQ_1:def 3;

      an/.j = an.j by A23,A15,A5,A20,PARTFUN1:def 6; then
      an/.j = s.(n+1) by A25,A14,A15,A5,A20,A23; then
A27: an/.j = s.(len s) by A24,FINSEQ_1:def 3;
      thus
A28:  dom sn = Seg n by A24,A3,RELAT_1:62; then
A29:  len s = len sn + 1 by A26,FINSEQ_1:def 3;
      q/.j = Sum s by A24,A23,A5,A15,A20,PARTFUN1:def 6; then
      q/.j - an/.j = Sum sn + an/.j - an/.j by A29,A28,RLVECT_1:38,A27
                  .= Sum sn + (an/.j - an/.j) by RLVECT_1:def 3; then
      q/.j - an/.j = Sum sn + 0.X by RLVECT_1:15;
      then q0/.j = Sum sn by A23,VFUNCT_1:def 2;
      hence q0.j = Sum sn by A23,PARTFUN1:def 6;
      thus for i be Nat st i in dom sn holds sn.i=a0.(i,j)
      proof
       let i be Nat such that
A30:    i in dom sn;
       sn.i=s.i by A30,FUNCT_1:47; then
       sn.i=a.(i,j) by A24,A28,A30,A3;
       hence sn.i=a0.(i,j)
         by A5,A15,A20,A23,A28,A30,ZFMISC_1:87,A7,FUNCT_1:47;
      end;
     end;

     for i be Nat st 1<=i & i <= len q  holds q/.i = (q0/.i) + (an/.i)
     proof
      let i be Nat;
      assume 1<=i & i <= len q;
      then i in dom q by FINSEQ_3:25; then
      (q0/.i) + (an/.i) = (q/.i-an/.i) + (an/.i) by A5,A15,A20,VFUNCT_1:def 2
          .= q/.i - (an/.i - an/.i) by RLVECT_1:29; then
      (q0/.i) + (an/.i) = q/.i - 0.X by RLVECT_1:15;
      hence thesis;
     end;
     then
A31: q0+an=q by A5,A15,A20,BINOM:def 1;
     Sum p = Sum p0 + Sum an by A8,A6,A9,RLVECT_1:38,A17; then
     Sum p = Sum q0 + Sum an by A2,A10,A8,A5,A15,A20,A22;
     hence Sum p = Sum q by A31,INTEGR18:1,A14,A21;
    end;
    hence thesis;
   end;
   now let m be Nat, a be Function of [:Seg 0,Seg m:],X;
    let p,q be FinSequence of X such that
A32: dom p=Seg 0 and
     for i be Nat st i in dom p holds
      ex r be FinSequence of X st (dom r = Seg m & p.i=Sum r
             & for j be Nat st j in dom r holds r.j=a.(i,j) ) and
     dom q=Seg m and
A33: for j be Nat st j in dom q holds
      ex s be FinSequence of X st (dom s = Seg 0 & q.j=Sum s
             & for i be Nat st i in dom s holds s.i=a.(i,j) );
A34:
    now let z be object;
     assume
A35:  z in dom q;
     then reconsider j=z as Nat;
     consider s be FinSequence of X such that
A36:  dom s = Seg 0 & q.j=Sum s &
      for i be Nat st i in dom s holds s.i=a.(i,j) by A33,A35;
     s = <*>the carrier of X by A36;
     hence q.z=0.X by A36,RLVECT_1:43;
    end;
A37: p = <*>the carrier of X by A32;
A38:len q = len q;
    now
     let k be Nat, v be Element of X;
     assume A39: k in dom q & v = q.k; then
     q.k = 0.X by A34;
     hence q.k = -v by A39;
    end; then
    Sum q = - Sum q by A38,RLVECT_1:40; then
    Sum q = 0.X by RLVECT_1:19;
    hence Sum p = Sum q by RLVECT_1:43,A37;
   end;
   then
A40: P[0];
   thus for n be Nat holds P[n] from NAT_1:sch 2(A40,A1);
end;
