reserve x,y,z for object,
  i,j,n,m for Nat,
  D for non empty set,
  s,t for FinSequence,
  a,a1,a2,b1,b2,d for Element of D,
  p, p1,p2,q,r for FinSequence of D;
reserve M,M1,M2 for Matrix of D;
reserve f for FinSequence of D;
reserve i,j,i1,j1 for Nat;
reserve k for Nat, G for Matrix of D;
reserve x,y,x1,x2,y1,y2 for object,
  i,j,k,l,n,m for Nat,
  D for non empty set,
  s,s2 for FinSequence,
  a,b,c,d for Element of D,
  q,r for FinSequence of D,
  a9,b9 for Element of D;

theorem Th60:
  for M being Matrix of D holds for i st i in dom M holds M.i=Line(M,i)
proof
  let M be Matrix of D;
  let i;
  assume
A1: i in dom M;
  then
A2: M.i in rng M by FUNCT_1:def 3;
  rng M c= D* by FINSEQ_1:def 4;
  then reconsider p=M.i as FinSequence of D by A2,FINSEQ_1:def 11;
  M<> {} by A1;
  then M is Matrix of len M,width M,D by Th20;
  then
A3: len p = width M by A2,Def2;
A4: len Line(M,i)= width M by Def7;
  then
A5: dom Line(M,i) = Seg width M by FINSEQ_1:def 3;
A6: for j st j in Seg (width M) holds M*(i,j) =p.j
  proof
    let j;
    assume j in Seg(width M);
    then [i,j] in Indices M by A1,ZFMISC_1:87;
    then ex q being FinSequence of D st q=M.i & q.j=M*(i,j) by Def5;
    hence thesis;
  end;
  now
    let j be Nat;
    assume
A7: j in dom Line(M,i);
    hence (Line(M,i)).j=M*(i,j) by A5,Def7
      .=p.j by A6,A5,A7;
  end;
  hence thesis by A3,A4,FINSEQ_2:9;
end;
