reserve i,n,m for Nat;

theorem Th16:
for f be LinearOperator of m,n, xseq be FinSequence of REAL m,
    yseq be FinSequence of REAL n st
 len xseq = len yseq &
 ( for i be Nat st i in dom xseq holds yseq.i=f.(xseq.i) )
holds Sum yseq=f.(Sum xseq)
proof
   let f be LinearOperator of m,n;
   defpred P[Nat] means
    for xseq be FinSequence of REAL m, yseq be FinSequence of REAL n st
     $1= len xseq & len xseq = len yseq &
     for i be Nat st i in dom xseq holds yseq.i=f.(xseq.i)
       holds Sum yseq = f.(Sum xseq);
A1:P[0]
   proof
    let xseq be FinSequence of REAL m, yseq be FinSequence of REAL n;
    assume 0 = len xseq & len xseq = len yseq &
      for i be Nat st i in dom xseq holds yseq.i=f.(xseq.i); then
    Sum xseq = 0*m & Sum yseq = 0*n by EUCLID_7:def 11;
    hence thesis by Th11;
   end;
A2:now let i be Nat;
    assume A3: P[i];
    now let xseq be FinSequence of REAL m, yseq be FinSequence of REAL n;
     assume A4: i+1=len xseq & len xseq = len yseq &
         for k be Nat st k in dom xseq holds yseq.k=f.(xseq.k);
     set xseq0=xseq|i, yseq0=yseq|i;
A5: i=len xseq0 by A4,FINSEQ_1:59,NAT_1:11; then
A6: len xseq0 = len yseq0 by A4,FINSEQ_1:59,NAT_1:11;
     for k be Nat st k in dom xseq0 holds yseq0.k=f.(xseq0.k)
     proof
      let k be Nat;
      assume A7: k in dom xseq0; then
A8:  k in Seg i by RELAT_1:57;
      k in dom xseq by A7,RELAT_1:57; then
A9:  yseq.k=f.(xseq.k) by A4;
      xseq.k = xseq0.k by A8,FUNCT_1:49;
      hence yseq0.k = f.(xseq0.k) by A8,A9,FUNCT_1:49;
     end; then
A10:Sum yseq0 = f.(Sum xseq0) by A5,A6,A3;
     consider v be Element of REAL m such that
A11: v=xseq.(len xseq) & Sum xseq = Sum xseq0 + v by A4,A5,Th15;
     consider w be Element of REAL n such that
A12:w=yseq.(len yseq) & Sum yseq = Sum yseq0 + w by A4,A5,A6,Th15;
     dom xseq = Seg (i+1) by A4,FINSEQ_1:def 3; then
     w =f.v by A4,A12,A11,FINSEQ_1:4;
     hence Sum yseq =f.(Sum xseq) by A10,A11,A12,Def1;
    end;
    hence P[i+1];
   end;
A13:for k be Nat holds P[k] from NAT_1:sch 2(A1,A2);
   let xseq be FinSequence of REAL m, yseq be FinSequence of REAL n;
   assume len xseq = len yseq &
      for i be Nat st i in dom xseq holds yseq.i=f.(xseq.i);
   hence Sum yseq = f.(Sum xseq) by A13;
end;
