 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 Th33:
  for p being prime Element of INT.Ring, V being free Z_Module,
  I being Subset of V,
  IQ being Subset of Z_MQ_VectSp(V,p)
  st IQ = {ZMtoMQV(V,p,u) where u is Vector of V : u in I} holds
  (for s be FinSequence of V
  st (for i be Element of NAT
  st i in dom s holds ex si be Vector of V
  st si=s.i & ZMtoMQV(V,p,si) in Lin(IQ))
  holds ZMtoMQV(V,p,Sum(s)) in Lin(IQ))
  proof
    let p be prime Element of INT.Ring, V be free Z_Module, I be Subset of V,
    IQ be Subset of Z_MQ_VectSp(V,p);
    assume IQ = {ZMtoMQV(V,p,u) where u is Vector of V : u in I};
    defpred P[Nat] means
    for s be FinSequence of V st len s = $1
    & ( for i be Element of NAT
    st i in dom s holds ex si be Vector of V
    st si = s.i & ZMtoMQV(V,p,si) in Lin(IQ) ) holds
    ZMtoMQV(V,p,Sum(s)) in Lin(IQ);
    A1: P[ 0 ]
    proof
      let s be FinSequence of V;
      assume that A2: len s = 0 and
      for i be Element of NAT
      st i in dom s holds ex si be Vector of V
      st si = s.i & ZMtoMQV(V,p,si) in Lin(IQ);
      s = <*>(the carrier of V) by A2;
      then Sum(s) = 0. V by RLVECT_1:43;
      then ZMtoMQV(V,p,Sum(s)) = 0.(Z_MQ_VectSp(V,p)) by Th27;
      hence thesis by VECTSP_4:17;
    end;
    A3: for k be Nat st P[k] holds P[k+1]
    proof
      let k be Nat;
      assume A4: P[k];
      now let s be FinSequence of V;
        assume that
        A5: len s = k+1 and
        A6: for i be Element of NAT
        st i in dom s holds ex si be Vector of V
        st si = s.i & ZMtoMQV(V,p,si) in Lin(IQ);
        reconsider s1 = s | k as FinSequence of V;
        A7: dom s = Seg (k+1) by A5,FINSEQ_1:def 3;
        A8: len s1 = k by A5,FINSEQ_1:59,NAT_1:11;
        A9: dom s1 = Seg (len s1) by FINSEQ_1:def 3
        .= Seg k by A5,FINSEQ_1:59,NAT_1:11; then
        A10: s1 = s |dom s1 by FINSEQ_1:def 16;
        s.(len s) in rng s by A5,A7,FINSEQ_1:4,FUNCT_1:3;
        then reconsider vs = s.(len s) as Element of V;
        A11: len s1 = k by A5,FINSEQ_1:59,NAT_1:11;
        A12: for i be Element of NAT
        st i in dom s1 holds ex si be Vector of V
        st si = s1.i & ZMtoMQV(V,p,si) in Lin(IQ)
        proof
          let i be Element of NAT;
          assume A13: 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
          A14: si = s.i & ZMtoMQV(V,p,si) in Lin(IQ) by A6,A9,A7,A13;
          take si;
          thus si = s1.i by A10,A13,A14,FUNCT_1:49;
          thus thesis by A14;
        end;
        A15: ZMtoMQV(V,p,Sum(s1)) in Lin(IQ) by A4,A11,A12;
        consider ssi be Vector of V such that
        A16: ssi = s.(len s) & ZMtoMQV(V,p,ssi) in Lin(IQ)
        by A5,A6,A7,FINSEQ_1:4;
        ZMtoMQV(V,p,Sum(s)) = ZMtoMQV(V,p,Sum(s1)+vs) by A5,A10,A8,RLVECT_1:38
        .= ZMtoMQV(V,p,Sum(s1)) + ZMtoMQV(V,p,vs) by Th28;
        hence ZMtoMQV(V,p,Sum(s)) in Lin(IQ) by A15,A16,VECTSP_4:20;
      end;
      hence P[k+1];
    end;
    A17: for k be Nat holds P[k] from NAT_1:sch 2(A1,A3);
    now let s be FinSequence of V;
      assume A18: for i be Element of NAT
      st i in dom s holds ex si be Vector of V
      st si = s.i & ZMtoMQV(V,p,si) in Lin(IQ);
      len s = len s;
      hence ZMtoMQV(V,p,Sum(s)) in Lin(IQ) by A17,A18;
    end;
    hence thesis;
  end;
