reserve x, x1, x2, y, X, D for set,
  i, j, k, l, m, n, N for Nat,
  p, q for XFinSequence of NAT,
  q9 for XFinSequence,
  pd, qd for XFinSequence of D;
reserve pN, qN for Element of NAT^omega;
reserve seq1,seq2,seq3,seq4 for Real_Sequence,
  r,s,e for Real,
  Fr,Fr1, Fr2 for XFinSequence of REAL;

theorem
  seq1 (##) (r(#)seq2) = r(#)(seq1 (##) seq2)
proof
  set RS=r(#)seq2;
  set S=seq1 (##) seq2;
  now
    let x be object;
    assume x in NAT;
    then reconsider k=x as Nat;
    consider Fr1 such that
A1: dom Fr1 = k+1 and
A2: for n st n in k+1 holds Fr1.n = seq1.n * RS.(k-'n) and
A3: Sum Fr1 = (seq1(##)RS).k by Def4;
    consider Fr2 such that
A4: dom Fr2 = k+1 and
A5: for n st n in k+1 holds Fr2.n = seq1.n * seq2.(k-'n) and
A6: Sum Fr2 = S.k by Def4;
    now
      let n;
      assume n in len Fr1;
      then
A7:   Fr1.n = seq1.n * RS.(k-'n) & Fr2.n = seq1.n * seq2.(k-'n) by A1,A2,A5;
      RS.(k-'n)= r * seq2.(k-'n) by SEQ_1:9;
      hence Fr1.n=r*Fr2.n by A7;
    end;
    then Sum Fr1 = r*Sum Fr2 by A1,A4,Th44;
    hence (seq1(##)RS).x=(r(#)S).x by A3,A6,SEQ_1:9;
  end;
  hence thesis by FUNCT_2:12;
end;
