
theorem Th4:
  for m1,m2 being complex-valued FinSequence st len m1 = len m2
  for k being Nat st k <= len m1 holds (m1(#)m2)|k = (m1|k) (#) (m2|k)
proof
  let m1,m2 be complex-valued FinSequence;
  assume
A1: len m1 = len m2;
  let k9 be Nat;
  set p = (m1(#)m2)|k9, q = (m1|k9) (#) (m2|k9);
  assume
A2: k9 <= len m1;
  then
A3: len(m1|k9) = k9 by FINSEQ_1:59;
  reconsider k = k9 as Element of NAT by ORDINAL1:def 12;
A4: k9 <= len(m1(#)m2) by A1,A2,Lm4;
  then
A5: len p = k9 by FINSEQ_1:59;
A6: len(m2|k9) = k9 by A1,A2,FINSEQ_1:59;
  then
A7: len q = k9 by A3,Lm4;
  now
A8: len(m1(#)m2) = len m1 by A1,Lm4;
    let j be Nat;
    assume that
A9: 1 <= j and
A10: j <= len p;
A11: j in Seg k by A5,A9,A10;
    then
A12: j in dom(m1|k) by A3,FINSEQ_1:def 3;
A13: j in dom q by A7,A11,FINSEQ_1:def 3;
A14: j in dom(m2|k) by A6,A11,FINSEQ_1:def 3;
    j <= len m1 by A2,A5,A10,XXREAL_0:2;
    then j in Seg(len(m1(#)m2)) by A9,A8;
    then
A15: j in dom(m1(#)m2) by FINSEQ_1:def 3;
    j in dom p by A9,A10,FINSEQ_3:25;
    hence p.j = (m1(#)m2).j by FUNCT_1:47
      .= m1.j * m2.j by A15,VALUED_1:def 4
      .= (m1|k).j * m2.j by A12,FUNCT_1:47
      .= (m1|k).j * (m2|k).j by A14,FUNCT_1:47
      .= q.j by A13,VALUED_1:def 4;
  end;
  hence thesis by A4,A7,FINSEQ_1:59;
end;
