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;
