 reserve X,Y for set,
         n,m,k,i for Nat,
         r for Real,
         R for Element of F_Real,
         K for Field,
         f,f1,f2,g1,g2 for FinSequence,
         rf,rf1,rf2 for real-valued FinSequence,
         cf,cf1,cf2 for complex-valued FinSequence,
         F for Function;

theorem Th15:
  for F be Function of Seg n,Seg n,D be non empty set
    for M be Matrix of n,m,D for i st i in Seg width M
  holds Col(M*F,i) = Col(M,i)*F
proof
  let F be Function of Seg n,Seg n,D be non empty set;
  let M be Matrix of n,m,D;
  let i;
  assume A1: i in Seg width M;
  A2: len M=n by MATRIX_0:def 2;
  then A3: dom M=Seg n by FINSEQ_1:def 3;
  len Col(M,i)=n by A2,CARD_1:def 7;
  then A4: dom Col(M,i)=Seg n by FINSEQ_1:def 3;
  dom F=Seg n & rng F c=Seg n by FUNCT_2:52,RELAT_1:def 19;
  then A5: dom(Col(M,i)*F)=Seg n by A4,RELAT_1:27;
  A6: len(M*F)=n by MATRIX_0:def 2;
  then A7: dom(M*F)=Seg n by FINSEQ_1:def 3;
  A8: now let x be object;
   assume A9: x in Seg n;
   then reconsider j=x as Element of NAT;
   Indices M=[:dom M,Seg width M:] by MATRIX_0:def 4;
   then A10: [j,i] in Indices M by A1,A3,A9,ZFMISC_1:87;
   A11: F.x in Seg n by A4,A5,A9,FUNCT_1:11;
   then reconsider Fj=F.x as Element of NAT;
   thus (Col(M,i)*F).x=Col(M,i).Fj by A5,A9,FUNCT_1:12
    .=M*(Fj,i) by A3,A11,MATRIX_0:def 8
    .=(M*F)*(j,i) by A10,MATRIX11:def 4
    .=Col(M*F,i).x by A7,A9,MATRIX_0:def 8;
  end;
  len Col(M*F,i)=n by A6,CARD_1:def 7;
  then dom Col(M*F,i)=Seg n by FINSEQ_1:def 3;
  hence thesis by A5,A8,FUNCT_1:2;
 end;
