reserve i, j, m, n, k for Nat,
  x, y for set,
  K for Field,
  a,a1 for Element of K;
reserve V1,V2,V3 for finite-dimensional VectSp of K,
  f for Function of V1,V2,

  b1,b19 for OrdBasis of V1,
  B1 for FinSequence of V1,
  b2 for OrdBasis of V2,
  B2 for FinSequence of V2,

  B3 for FinSequence of V3,
  v1,w1 for Element of V1,
  R,R1,R2 for FinSequence of V1,
  p,p1,p2 for FinSequence of K;

theorem Th30:
  len p1 = len p2 & len p1 = len B1 & len p1 > 0 & j in dom b1 & (
for i st i in dom p2 holds p2.i = (B1/.i|--b1).j) implies p1 "*" p2 = (Sum lmlt
  (p1,B1) |-- b1).j
proof
  assume that
A1: len p1 = len p2 and
A2: len p1 = len B1 and
A3: len p1>0 and
A4: j in dom b1 and
A5: for i st i in dom p2 holds p2.i = (B1/.i|--b1).j;
  deffunc m(Nat,Nat) = (B1/.$1|--b1)/.$2;
  consider M be Matrix of len p1,len b1,K such that
A6: for i,j st [i,j] in Indices M holds M*(i,j) = m(i,j) from MATRIX_0:
  sch 1;
A7: len M=len p1 by A3,MATRIX_0:23;
  then
A8: dom p1=dom M by FINSEQ_3:29;
A9: width M=len b1 by A3,MATRIX_0:23;
A10: dom b1 =Seg len b1 by FINSEQ_1:def 3;
A11: dom p1=Seg len p1 by FINSEQ_1:def 3;
A12: dom p1=dom p2 by A1,FINSEQ_3:29;
A13: now
    let i;
    assume 1<=i & i<=len p2;
    then
A14: i in dom p1 by A1,A11;
    then
A15: [i,j] in Indices M by A4,A9,A8,A10,ZFMISC_1:87;
    len ((B1/.i) |--b1)=len b1 by MATRLIN:def 7;
    then
A16: dom ((B1/.i) |--b1)=dom b1 by FINSEQ_3:29;
    thus Col(M,j).i = M*(i,j) by A8,A14,MATRIX_0:def 8
      .= ((B1/.i) |--b1)/.j by A6,A15
      .= ((B1/.i) |--b1).j by A4,A16,PARTFUN1:def 6
      .= p2.i by A5,A12,A14;
  end;
  deffunc mC(Nat) = Sum mlt(p1,Col(M,$1));
  consider MC being FinSequence of K such that
A17: len MC = len b1 & for j be Nat st j in dom MC holds MC.j = mC(j)
  from FINSEQ_2:sch 1;
A18: for j st j in dom MC holds MC/.j = mC(j)
  proof
    let j;
    assume
A19: j in dom MC;
    then MC.j = mC(j) by A17;
    hence thesis by A19,PARTFUN1:def 6;
  end;
A20: dom b1=dom MC by A17,FINSEQ_3:29;
A21: dom p1=dom B1 by A2,FINSEQ_3:29;
A22: now
    let i such that
A23: i in dom B1;
A24: len Line(M,i) = width M by MATRIX_0:def 7;
    len ((B1/.i) |--b1)=len b1 by MATRLIN:def 7;
    then
A25: dom Line(M,i)=dom ((B1/.i) |--b1) by A9,A24,FINSEQ_3:29;
A26: dom Line(M,i)=Seg width M by A24,FINSEQ_1:def 3;
A27: now
      let k such that
A28:  k in dom ((B1/.i) |--b1);
A29:  [i,k] in Indices M by A21,A8,A23,A25,A26,A28,ZFMISC_1:87;
      thus Line(M,i).k = M*(i,k) by A25,A26,A28,MATRIX_0:def 7
        .= ((B1/.i) |--b1)/.k by A6,A29
        .= ((B1/.i) |--b1).k by A28,PARTFUN1:def 6;
    end;
    thus B1/.i = Sum lmlt((B1/.i) |--b1,b1) by MATRLIN:35
      .= Sum lmlt(Line(M,i),b1) by A25,A27,FINSEQ_1:13;
  end;
A30: b1 <> {} by A4;
A31: len Col(M,j) = len M by CARD_1:def 7;
  len (Sum(lmlt(p1,B1)) |--b1)=len b1 by MATRLIN:def 7;
  then dom (Sum(lmlt(p1,B1)) |--b1)=dom b1 by FINSEQ_3:29;
  hence (Sum(lmlt(p1,B1)) |--b1).j = (Sum(lmlt(p1,B1)) |--b1)/.j by A4,
PARTFUN1:def 6
    .= (Sum(lmlt(MC,b1)) |--b1)/.j by A2,A3,A17,A18,A30,A22,MATRLIN:33
    .= MC/.j by A17,MATRLIN:36
    .= MC.j by A4,A20,PARTFUN1:def 6
    .= Sum(mlt(p1,Col(M,j))) by A4,A17,A20
    .= p1"*"p2 by A1,A7,A31,A13,FINSEQ_1:14;
end;
