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 Th67:
  k <= len nf s implies
  ex s1, s2 being Element of FreeProduct(H)
  st s = s1 * s2 & nf s = (nf s1)^nf s2 & len nf s1 = k
proof
  assume A1: k <= len nf s;
  set s1 = Class(EqCl ReductionRel H, (nf s)|k);
  (nf s)|k in FreeAtoms(H)* by FINSEQ_1:def 11;
  then (nf s)|k is Element of FreeAtoms(H)*+^+<0> by MONOID_0:61;
  then reconsider s1 as Element of FreeProduct(H) by EQREL_1:def 3;
  set s2 = Class(EqCl ReductionRel H, (nf s)/^k);
  (nf s)/^k in FreeAtoms(H)* by FINSEQ_1:def 11;
  then (nf s)/^k is Element of FreeAtoms(H)*+^+<0> by MONOID_0:61;
  then reconsider s2 as Element of FreeProduct(H) by EQREL_1:def 3;
  take s1, s2;
  consider y being Element of FreeAtoms(H)*+^+<0> such that
    A2: s = Class(EqCl ReductionRel H,y) by EQREL_1:36;
  nf s in s by Def7;
  hence s = Class(EqCl ReductionRel H,nf s) by A2, EQREL_1:23
    .= Class(EqCl ReductionRel H,(nf s)|k ^ ((nf s)/^k)) by RFINSEQ:8
    .= s1 * s2 by Th47;
  thus nf s = (nf s)|k ^ ((nf s)/^k) by RFINSEQ:8
    .= (nf s1) ^ ((nf s)/^k) by Th60
    .= (nf s1)^nf s2 by Th61;
  nf s1 = (nf s)|k by Th60;
  hence thesis by A1, FINSEQ_1:59;
end;
