 reserve x, y, y1, y2 for set;
 reserve V for Z_Module;
 reserve u, v, w for Vector of V;
 reserve F, G, H, I for FinSequence of V;
 reserve W, W1, W2, W3 for Submodule of V;
 reserve KL1, KL2 for Linear_Combination of V;
 reserve X for Subset of V;

theorem Th29:
  for p being prime Element of INT.Ring, V being free Z_Module,
  s be FinSequence of V,
  t be FinSequence of Z_MQ_VectSp(V,p)
  st len s = len t & for i be Element of NAT
  st i in dom s holds ex si be Vector of V
  st si = s.i & t.i = ZMtoMQV(V,p,si) holds
  Sum(t) = ZMtoMQV(V,p,Sum(s))
  proof
    let p be prime Element of INT.Ring, V be free Z_Module;
    defpred P[Nat] means
    for s be FinSequence of V,
    t be FinSequence of Z_MQ_VectSp(V,p)
    st len s = $1 & len s = len t
    & for i be Element of NAT
    st i in dom s holds ex si be Vector of V
    st si = s.i & t.i = ZMtoMQV(V,p,si) holds Sum(t) = ZMtoMQV(V,p,Sum(s));
    A1: P[ 0 ]
    proof
      let s be FinSequence of V,
      t be FinSequence of Z_MQ_VectSp(V,p);
      assume that A2: len s = 0 & len s = len t and
      for i be Element of NAT
      st i in dom s holds ex si be Vector of V
      st si = s.i & t.i = ZMtoMQV(V,p,si);
      s = <*>(the carrier of V) by A2;
      then Sum(s) = 0. V by RLVECT_1:43;
      then
      A3: ZMtoMQV(V,p,Sum(s)) = 0.(Z_MQ_VectSp(V,p)) by Th27;
      t = <*>(the carrier of (Z_MQ_VectSp(V,p))) by A2;
      hence thesis by A3,RLVECT_1:43;
    end;
    A4: for k be Nat st P[k] holds P[k+1]
    proof
      let k be Nat;
      assume A5: P[k];
      now let s be FinSequence of V,
        t be FinSequence of Z_MQ_VectSp(V,p);
        assume that
        A6: len s = k+1 & len s = len t and
        A7: for i be Element of NAT
        st i in dom s holds ex si be Vector of V
        st si = s.i & t.i = ZMtoMQV(V,p,si);
        reconsider s1 = s | k as FinSequence of V;
        A8: dom s = Seg (k+1) by A6,FINSEQ_1:def 3;
        A9: dom t = Seg (k+1) by A6,FINSEQ_1:def 3;
        A10: len s1 = k by A6,FINSEQ_1:59,NAT_1:11;
        A11: dom s1 = Seg (len s1) by FINSEQ_1:def 3
        .= Seg k by A6,FINSEQ_1:59,NAT_1:11;
        then
        A12: s1 = s |dom s1 by FINSEQ_1:def 16;
        reconsider t1 = t | k as FinSequence of Z_MQ_VectSp(V,p);
        A13:dom t1 = Seg (len t1) by FINSEQ_1:def 3
        .= Seg k by A6,FINSEQ_1:59,NAT_1:11;
        then
        A14: t1 = t |dom t1 by FINSEQ_1:def 16;
         k in NAT by ORDINAL1:def 12;
         then
        A15: len t1 = k by A13,FINSEQ_1:def 3;
        s.(len s) in rng s by A6,A8,FINSEQ_1:4,FUNCT_1:3;
        then reconsider vs=s.(len s) as Element of V;
        t.(len t) in rng t by A6,A9,FINSEQ_1:4,FUNCT_1:3;
        then reconsider vt = t.(len t) as Element of Z_MQ_VectSp(V,p);
        A16: len s1 = k & len s1 = len t1 by A10,A13,FINSEQ_1:def 3;
        A17: for i be Element of NAT
        st i in dom s1 holds ex si be Vector of V
        st si = s1.i & t1.i = ZMtoMQV(V,p,si)
        proof
          let i be Element of NAT;
          assume A18: i in dom s1;
          Seg k c= Seg (k+1) by FINSEQ_1:5,NAT_1:11;
          then consider si be Vector of V such that
          A19: si = s.i & t.i = ZMtoMQV(V,p,si) by A7,A11,A8,A18;
          take si;
          thus si = s1.i by A12,A18,A19,FUNCT_1:49;
          thus t1.i = ZMtoMQV(V,p,si) by A14,A11,A13,A18,A19,FUNCT_1:49;
        end;
        A20: Sum(t1) = ZMtoMQV(V,p,Sum(s1)) by A5,A16,A17;
        A21: len s = len s1 + 1 by A6,FINSEQ_1:59,NAT_1:11;
        consider ssi be Vector of V such that
        A22: ssi = s.(len s) & t.(len s) = ZMtoMQV(V,p,ssi)
        by A6,A7,A8,FINSEQ_1:4;
        thus Sum(t) = Sum(t1) + vt by A6,A14,A15,RLVECT_1:38
        .= ZMtoMQV(V,p,Sum(s1)+vs) by A6,A20,A22,Th28
        .= ZMtoMQV(V,p,Sum(s)) by A12,A21,RLVECT_1:38;
      end;
      hence P[k+1];
    end;
    for k be Nat holds P[k] from NAT_1:sch 2(A1,A4);
    hence thesis;
  end;
