
theorem ThScFSDM6:
  for L being Z_Lattice, f being Function of DivisibleMod(L), INT.Ring,
      F, G being FinSequence of DivisibleMod(L),
      v being Vector of DivisibleMod(L) holds
  ScFS(v, f, F ^ G) = ScFS(v, f, F) ^ ScFS(v, f, G)
  proof
    let L be Z_Lattice, f be Function of DivisibleMod(L), INT.Ring,
        F, G be FinSequence of DivisibleMod(L),
        v be Vector of DivisibleMod(L);
    set H = ScFS(v, f, F) ^ ScFS(v, f, G);
    set I = F ^ G;
    A1: len F = len(ScFS(v, f, F)) by defScFSDM;
    A2: len H = len(ScFS(v, f, F)) + len(ScFS(v, f, G)) by FINSEQ_1:22
    .= len F + len(ScFS(v, f, G)) by defScFSDM
    .= len F + len G by defScFSDM
    .= len I by FINSEQ_1:22;
    A3: len G = len(ScFS(v, f, G)) by defScFSDM;
    now
      let k be Nat;
      assume
      A4: k in dom H; then
      per cases by FINSEQ_1:25;
      suppose
        A5: k in dom(ScFS(v, f, F)); then
        A6: k in dom F by A1,FINSEQ_3:29; then
        A7: k in dom(F ^ G) by FINSEQ_3:22;
        A8: F/.k = F.k by A6,PARTFUN1:def 6
        .= (F ^ G).k by A6,FINSEQ_1:def 7
        .= (F ^ G)/.k by A7,PARTFUN1:def 6;
        thus H.k = (ScFS(v, f, F)).k by A5,FINSEQ_1:def 7
        .= (ScProductDM(L)).(v, f.(I/.k) * I/.k) by A5,A8,defScFSDM;
      end;
      suppose
        A9: ex n being Nat st n in dom(ScFS(v, f, G))
        & k = len(ScFS(v, f, F)) + n;
        A10: k in dom I by A2,A4,FINSEQ_3:29;
        consider n be Nat such that
        A11: n in dom(ScFS(v, f, G)) and
        A12: k = len(ScFS(v, f, F)) + n by A9;
        A13: n in dom G by A3,A11,FINSEQ_3:29; then
        A14: G/.n = G.n by PARTFUN1:def 6
        .= (F ^ G).k by A1,A12,A13,FINSEQ_1:def 7
        .= (F ^ G)/.k by A10,PARTFUN1:def 6;
        thus H.k = (ScFS(v, f, G)).n by A11,A12,FINSEQ_1:def 7
        .= (ScProductDM(L)).(v, f.(I/.k) * I/.k) by A11,A14,defScFSDM;
      end;
    end;
    hence thesis by A2,defScFSDM;
  end;
