reserve x,y,X,Y for set,
  k,l,n for Nat,
  i,i1,i2,i3,j for Integer,
  G for Group,
  a,b,c,d for Element of G,
  A,B,C for Subset of G,
  H,H1,H2, H3 for Subgroup of G,
  h for Element of H,
  F,F1,F2 for FinSequence of the carrier of G,
  I,I1,I2 for FinSequence of INT;

theorem
  G is commutative Group & len F = len F1 & len F = len F2 & (for k st k
  in dom F holds F.k = (F1/.k) * (F2/.k)) implies Product(F) = Product(F1) *
  Product(F2)
proof
  set g = the multF of G;
  assume G is commutative Group;
  then
A1: g is commutative by GROUP_3:2;
  assume that
A2: len F = len F1 and
A3: len F = len F2;
  assume
A4: for k st k in dom F holds F.k = (F1/.k) * (F2/.k);
    now
A5: dom F2 = Seg len F2 by FINSEQ_1:def 3;
A6: dom F1 = Seg len F1 by FINSEQ_1:def 3;
    let k;
A7: dom F = Seg len F by FINSEQ_1:def 3;
    assume
A8: k in dom F;
    hence F.k = (F1/.k) * (F2/.k) by A4
      .= g.(F1.k,F2/.k) by A2,A8,A7,A6,PARTFUN1:def 6
      .= g.(F1.k,F2.k) by A3,A8,A7,A5,PARTFUN1:def 6;
  end;
  hence thesis by A1,A2,A3,FINSOP_1:9;
end;
