reserve x,y,z for object, X for set, I for non empty set, i,j for Element of I,
    M0 for multMagma-yielding Function,
    M for non empty multMagma-yielding Function,
    M1, M2, M3 for non empty multMagma,
    G for Group-like multMagma-Family of I,
    H for Group-like associative multMagma-Family of I;
reserve p, q for FinSequence of FreeAtoms(H), g,h for Element of H.i,
  k for Nat;
reserve s,t for Element of FreeProduct(H);

theorem
  for s being Element of FreeProduct(H), k being Nat
  st 1 <= k & k <= len factorization(s)
  ex i being Element of I, g being Element of H.i
  st (factorization(s)).k = [* i, g *]
proof
  let s be Element of FreeProduct(H), k be Nat;
  set F = uncurry injection H;
  assume 1 <= k & k <= len factorization(s);
  then A1: k in dom factorization(s) by FINSEQ_3:25;
  then k in dom nf s by FUNCT_1:11;
  then A2: (nf s).k in rng nf s by FUNCT_1:3;
  then consider x,y being object such that
    A3: (nf s).k = [x,y] by RELAT_1:def 1;
  x in dom H by A2, A3, Th7;
  then reconsider i = x as Element of I;
  reconsider g = y as Element of H.i by A2, A3, Th9;
  take i, g;
  thus (factorization(s)).k = F.((nf s).k) by A1, FUNCT_1:12
    .= [* i, g *] by A3, Lm6;
end;
