
theorem Th14:
  for m being CR_Sequence, X be Group-Sequence st len m = len X &
  (for i be Element of NAT st i in dom X holds ex mi be non zero Nat
  st mi = m.i & X.i = Z/Z (mi)) holds
  ex I being Homomorphism of Z/Z (Product(m)),product X
  st (for x be Integer st x in the carrier of Z/Z (Product(m)) holds
  I.x = mod(x,m))
proof
  let m be CR_Sequence, X be Group-Sequence;
  assume
A1: len m = len X & (for i be Element of NAT st i in dom X holds ex mi be
  non zero Nat st mi = m.i & X.i = Z/Z (mi));
  set ZZ = Z/Z (Product(m));
  reconsider CX = carr X as non-empty FinSequence;
  len (carr X) = len X by PRVECT_1:def 11;
  then
A2: dom (carr X) = Seg (len X) by FINSEQ_1:def 3
    .= dom X by FINSEQ_1:def 3;
  defpred P[object,object] means
ex x be Integer st $1 = x & $2 = mod(x,m);
A3: for x be object st x in the carrier of Z/Z (Product(m))
ex y be object st y in
  the carrier of (product X) & P[x,y]
  proof
    let x be object;
    assume x in the carrier of Z/Z (Product(m));
    then reconsider x1 = x as Integer;
A4: dom (mod(x1,m)) = Seg len (mod(x1,m)) by FINSEQ_1:def 3
      .=Seg len m by INT_6:def 3
      .=Seg len (carr X) by A1,PRVECT_1:def 11
      .=dom (carr X) by FINSEQ_1:def 3;
    now let i be object;
      assume
A5:   i in dom carr X;
      then reconsider i0 = i as Element of dom carr X;
      reconsider i1 = i as Nat by A5;
      consider mi be non zero Nat such that
A6:  mi=m.i0 & X.i0 = Z/Z (mi) by A1,A2;
      (mod(x1,m)).i = x1 mod m.i1 by A4,A5,INT_6:def 3;
      then (mod(x1,m)).i in the carrier of (X.i0) by A6,Lm1;
      hence (mod(x1,m)).i in (carr X).i by A2,PRVECT_1:def 11;
    end;
    hence thesis by CARD_3:9,A4;
  end;
  consider I being Function of the carrier of Z/Z (Product(m)),the carrier of
  (product X) such that
A7: for x be object st x in the carrier of Z/Z (Product(m)) holds P[x,I.x]
  from FUNCT_2:sch 1 (A3);
A8: for x be Integer st x in the carrier of Z/Z (Product(m))
  holds I.x = mod(x,m)
  proof
    let x be Integer;
    assume x in the carrier of Z/Z (Product(m));
    then ex x0 be Integer st x = x0 & I.x = mod(x0,m) by A7;
    hence I.x = mod(x,m);
  end;
  for v,w being Point of ZZ holds I.(v + w) = (I.v) + (I.w)
  proof
    let v,w be Point of ZZ;
    reconsider v1 = v, w1 = w, vw1 = v + w as Integer;
    reconsider Iv = I.v, Iw = I.w, Ivw = I.(v + w) as FinSequence
      by NDIFF_5:9;
A9: I.v1 = mod(v1,m) by A8;
A10: I.w1 = mod(w1,m) by A8;
A11: I.(vw1) = mod(vw1,m) by A8;
    I.v in the carrier of (product X);
    then mod(v1,m) in product (carr X) by A8;
    then
A12: dom (mod(v1,m)) = dom (carr X) by CARD_3:9;
    I.w in the carrier of (product X);
    then mod(w1,m) in product (carr X) by A8;
    then
A13: dom (mod(w1,m)) = dom (carr X) by CARD_3:9;
    I.(v+w) in the carrier of (product X);
    then mod(vw1,m) in product (carr X) by A8;
    then
A14: dom (mod(vw1,m)) = dom (carr X) by CARD_3:9;
    now let j be Element of dom (carr X);
      reconsider j0=j as Nat;
      consider mj be non zero Nat such that
A15:   mj = m.j0 & X.j0 = Z/Z (mj) by A2,A1;
A16:   dom m = Seg (len X) by A1,FINSEQ_1:def 3
        .= dom X by FINSEQ_1:def 3;
A17:   (v1 mod m.j0) in Segm mj & (w1 mod m.j0) in Segm mj by Lm1,A15;
A18:  Iw.j0 = w1 mod m.j0 by A13,A10,INT_6:def 3;
A19:  Ivw.j0 = vw1 mod m.j0 by A14,A11,INT_6:def 3;
      thus Ivw.j
        = ((v1+w1) mod Product(m)) mod m.j0 by GR_CY_1:def 4,A19
       .= ((v1+w1)) mod m.j0 by A2,A16,Th13
       .= ((v1 mod m.j0) +(w1 mod m.j0)) mod m.j0 by NAT_D:66
       .= (addint(mj)).((v1 mod m.j0),(w1 mod m.j0)) by A17,A15,GR_CY_1:def 4
       .= (the addF of (X.j)).((Iv.j),(Iw.j)) by A12,A9,INT_6:def 3,A18,A15;
    end;
    hence I.(v + w) = (I.v) + (I.w) by Th12;
  end;
  then reconsider I as Homomorphism of Z/Z (Product(m)),product X
  by VECTSP_1:def 20;
  take I;
  thus thesis by A8;
end;
