 reserve x, y, y1, y2 for set;
 reserve V for Z_Module;
 reserve u, v, w for Vector of V;
 reserve F, G, H, I for FinSequence of V;
 reserve W, W1, W2, W3 for Submodule of V;
 reserve KL1, KL2 for Linear_Combination of V;
 reserve X for Subset of V;

theorem Th5:
  for L being Linear_Combination of V for F, G being FinSequence of V
  for P being Permutation of dom F st G = F*P holds
  Sum(L (#) F) = Sum(L (#) G)
  proof
    let L be Linear_Combination of V;
    let F, G be FinSequence of V;
    set p = L (#) F, q = L (#) G;
    let P be Permutation of dom F such that
    A1: G = F*P;
    A2: len G = len F by A1,FINSEQ_2:44;
    len F = len(L (#) F) by VECTSP_6:def 5;
    then
    A3: dom F = dom(L (#) F) by FINSEQ_3:29;
    then reconsider r = (L (#) F)*P as FinSequence of V by FINSEQ_2:47;
    len r = len(L (#) F) by A3,FINSEQ_2:44;
    then
    A4: dom r = dom(L (#) F) by FINSEQ_3:29;
    A5: len p = len F by VECTSP_6:def 5;
    then
    A6: dom F = dom p by FINSEQ_3:29;
    len q = len G by VECTSP_6:def 5;
    then
    A7: dom p = dom q by A1,A5,FINSEQ_2:44,FINSEQ_3:29;
    A8: dom F = dom G by A2,FINSEQ_3:29;
    now
      let k be Nat;
      assume
      A9: k in dom q;
      set l = P.k;
      dom P = dom F & rng P = dom F by FUNCT_2:52,def 3;
      then
      A10: l in dom F by A7,A6,A9,FUNCT_1:def 3;
      then reconsider l as Element of NAT;
      G/.k = G.k by A7,A8,A6,A9,PARTFUN1:def 6
      .= F.(P.k) by A1,A7,A8,A6,A9,FUNCT_1:12
      .= F/.l by A10,PARTFUN1:def 6;
      then q.k = L.(F/.l) * (F/.l) by A9,VECTSP_6:def 5
      .= (L (#) F).(P.k) by A6,A10,VECTSP_6:def 5
      .= r.k by A7,A4,A9,FUNCT_1:12;
      hence q.k = r.k;
    end;
    hence Sum(p) = Sum(q) by A3,A4,A7,FINSEQ_1:13,RLVECT_2:7;
  end;
