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 Th24:
  i in Seg n & rng mt c= Seg width A implies Line(Segm(A,nt,mt),i)
  = Line(A,nt.i) * mt
proof
  set S=Segm(A,nt,mt);
  set Li=Line(S,i);
  set LA=Line(A,nt.i);
  assume that
A1: i in Seg n and
A2: rng mt c= Seg width A;
  n <> 0 by A1;
  then
A3: width S=m by Th1;
  then len Li=m by MATRIX_0:def 7;
  then
A4: dom Li=Seg m by FINSEQ_1:def 3;
A5: dom mt=Seg m by FINSEQ_2:124;
  len LA=width A by MATRIX_0:def 7;
  then dom LA=Seg width A by FINSEQ_1:def 3;
  then
A6: dom (LA*mt)=dom mt by A2,RELAT_1:27;
  now
    let x being object such that
A7: x in dom Li;
    consider k be Nat such that
A8: k=x and
    1<=k and
    k<=m by A4,A7;
A9: Li.k=S*(i,k) by A3,A4,A7,A8,MATRIX_0:def 7;
    [i,k] in [:Seg n,Seg width S:] by A1,A3,A4,A7,A8,ZFMISC_1:87;
    then
A10: [i,k] in Indices S by MATRIX_0:25;
    mt.k in rng mt by A5,A4,A7,A8,FUNCT_1:def 3;
    then
A11: LA.(mt.k)=A*(nt.i,mt.k) by A2,MATRIX_0:def 7;
    (LA*mt).k=LA.(mt.k) by A6,A5,A4,A7,A8,FUNCT_1:12;
    hence Li.x=(LA*mt).x by A8,A11,A10,A9,Def1;
  end;
  hence thesis by A6,A5,A4;
end;
