
theorem Th19:
  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
  card(the carrier of product X) = Product(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));
A2: dom (carr X) = Seg (len (carr X)) by FINSEQ_1:def 3
    .=Seg (len X) by PRVECT_1:def 11
    .= dom X by FINSEQ_1:def 3;
A3: dom X = Seg (len X) by FINSEQ_1:def 3
    .= dom m by FINSEQ_1:def 3,A1;
A4: for i be Element of NAT st i in dom (carr X) holds card((carr X).i) = m.i
  proof
    let i be Element of NAT;
    assume
A5: i in dom (carr X);
    reconsider i0=i as Element of dom X by A2,A5;
    consider mi be non zero Nat such that
A6: mi = m.i & X.i = Z/Z (mi) by A2,A5,A1;
    thus card((carr X).i) = card(the carrier of (X.i0)) by PRVECT_1:def 11
      .=m.i by A6;
  end;
A7: len carr X = len m by A1,PRVECT_1:def 11;
  now let i be Nat;
    assume i in dom m;
    then ex mi be non zero Nat st mi = m.i & X.i = Z/Z (mi)
    by A3,A1;
    hence m.i in NAT by ORDINAL1:def 12;
  end;
  then m is FinSequence of NAT by FINSEQ_2:12;
  hence thesis by A4,A7,Th18;
end;
