
theorem Th31:
  for G be Group,
  H be Subgroup of G,
  f being FinSequence of G,
  g being FinSequence of H
  st f=g
  holds Product f = Product g
  proof
    let G be Group, H be Subgroup of G;
    defpred P[Nat] means
    for f being FinSequence of G, g being FinSequence of H
    st $1 = len f & f=g holds Product f = Product g;
    A1:P[0]
    proof
      let f be FinSequence of G, g be FinSequence of H;
      assume A2:0 = len f & f=g; then
      f = <*> the carrier of G; then
      A3: Product f = 1_G by GROUP_4:8;
      g = <*> the carrier of H by A2;
      then Product g = 1_H by GROUP_4:8;
      hence thesis by A3,GROUP_2:44;
    end;
    A4: for k be Nat st P[k] holds P[k+1]
    proof
      let k be Nat;
      assume A5: P[k];
      let f be FinSequence of G,
      g be FinSequence of H;
      assume A6:k+1 = len f & f=g;
      A7:k+1 in Seg (k+1) by FINSEQ_1:4;
      then k+1 in dom f by A6,FINSEQ_1:def 3;
      then f.(k+1) in rng f by FUNCT_1:3;
      then reconsider af = f.(k+1) as Element of G;
      k+1 in dom g by A7,A6,FINSEQ_1:def 3;
      then g.(k+1) in rng g by FUNCT_1:3; then
      reconsider ag = g.(k+1) as Element of H;
      reconsider f1 = f|k as FinSequence of G;
      reconsider g1 = g|k as FinSequence of H;
      A8: f = f1^<* af *> by A6,RFINSEQ:7;
      A9: g = g1^<* ag *> by A6,RFINSEQ:7;
      A10: Product f = Product(f1) * af by GROUP_4:6,A8;
      A11: Product g = Product(g1) * ag by GROUP_4:6,A9;
      len f1 = k by FINSEQ_1:59,A6,NAT_1:11;
      then Product(f1) = Product(g1) by A6,A5;
      hence thesis by A10,A11,GROUP_2:43,A6;
    end;
    A12: for k be Nat holds P[k] from NAT_1:sch 2(A1,A4);
    let f be FinSequence of G, g be FinSequence of H;
    assume A13: f = g;
    len f is Nat;
    hence thesis by A13,A12;
  end;
