reserve x,y for object,X,Y for set,
  D for non empty set,
  i,j,k,l,m,n,m9,n9 for Nat,
  i0,j0,n0,m0 for non zero Nat,
  K for Field,
  a,b for Element of K,
  p for FinSequence of K,
  M for Matrix of n,K;
reserve A for (Matrix of D),
  A9 for Matrix of n9,m9,D,
  M9 for Matrix of n9, m9,K,
  nt,nt1,nt2 for Element of n-tuples_on NAT,
  mt,mt1 for Element of m -tuples_on NAT,
  M for Matrix of K;

theorem Th28:
  j in Seg m & rng nt c= Seg len A implies Col(Segm(A,nt,mt),j) =
  Col(A,mt.j) * nt
proof
  set S=Segm(A,nt,mt);
  set Cj=Col(S,j);
  set CA=Col(A,mt.j);
  assume that
A1: j in Seg m and
A2: rng nt c= Seg len A;
  len CA=len A by MATRIX_0:def 8;
  then dom CA=Seg len A by FINSEQ_1:def 3;
  then
A3: dom (CA*nt)=dom nt by A2,RELAT_1:27;
A4: dom nt=Seg n by FINSEQ_2:124;
A5: len S=n by MATRIX_0:def 2;
  then
A6: dom S=Seg n by FINSEQ_1:def 3;
  len Cj=n by A5,MATRIX_0:def 8;
  then
A7: dom Cj=Seg n by FINSEQ_1:def 3;
A8: dom A=Seg len A by FINSEQ_1:def 3;
  now
    let x being object such that
A9: x in dom Cj;
    consider k be Nat such that
A10: k=x and
A11: 1<=k and
A12: k<=n by A7,A9;
A13: Cj.k=S*(k,j) by A6,A7,A9,A10,MATRIX_0:def 8;
    nt.k in rng nt by A4,A7,A9,A10,FUNCT_1:def 3;
    then
A14: CA.(nt.k)=A*(nt.k,mt.j) by A2,A8,MATRIX_0:def 8;
    [k,j] in [:Seg n,Seg m:] by A1,A7,A9,A10,ZFMISC_1:87;
    then
A15: [k,j] in Indices S by A6,A11,A12,Th1;
    (CA*nt).k=CA.(nt.k) by A3,A4,A7,A9,A10,FUNCT_1:12;
    hence Cj.x=(CA*nt).x by A10,A14,A15,A13,Def1;
  end;
  hence thesis by A3,A4,A7;
end;
