reserve i, j, m, n for Nat,
  z, B0 for set,
  f, x0 for real-valued FinSequence;

theorem Th21:
  for k being Nat holds Sum(k |-> 0*n) = 0*n
proof
  let k be Nat;
  set g = k |-> 0*n;
A1: for i being Nat st i in dom g holds g.i= 0*n
  proof
    let i be Nat;
    assume i in dom g;
    then i in Seg k by FUNCOP_1:13;
    hence thesis by FINSEQ_2:57;
  end;
  per cases;
  suppose
A2: len g>0;
    set g3 = accum g;
A3: len g=len g3 by Def10;
A4: g.1=g3.1 by Def10;
    defpred P[Nat] means $1<len g implies g3.($1+1)=0*n;
A5: for k being Nat st P[k] holds P[k+1]
    proof
      let k be Nat;
      assume
A6:   P[k];
A7:   k<k+1 by XREAL_1:29;
      per cases;
      suppose
A8:    k+1<len g; then
A9:    k+1+1<=len g by NAT_1:13;
        per cases;
        suppose
A10:      1<=k+1;
A11:      1<=k+1+1 by XREAL_1:29;
          then k+1+1 in Seg len g by A9,FINSEQ_1:1;
          then k+1+1 in dom g by FINSEQ_1:def 3;
          then
A12:      g.(k+1+1)=0*n by A1;
A13:      g3/.(k+1)=g3.(k+1) by A3,A8,A10,FINSEQ_4:15;
          g3.(k+1+1)=(g3/.(k+1))+(g/.(k+1+1)) by Def10,A8,A10;
          then g3.(k+1+1)=0*n + 0*n by A6,A7,A8,A9,A13,A11,A12,FINSEQ_4:15
,XXREAL_0:2
            .= 0*n by EUCLID_4:1;
          hence P[k+1];
        end;
        suppose
          1>k+1;
          hence P[k+1] by NAT_1:14;
        end;
      end;
      suppose
        k+1>=len g;
        hence P[k+1];
      end;
    end;
A14: 0+1<=len g by A2,NAT_1:13;
    then 1 in Seg len g by FINSEQ_1:1;
    then 1 in dom g by FINSEQ_1:def 3;
    then
A15: P[0] by A1,A4;
    for k being Nat holds P[k] from NAT_1:sch 2(A15,A5);
    then
A16: P[ len g3 -'1];
    len g3-'1=len g3-1 by A3,A14,XREAL_1:233;
    hence Sum g= 0*n by A3,Def11,A16,XREAL_1:44;
  end;
  suppose len g<=0;
    hence Sum g= 0*n by Def11;
  end;
end;
