reserve x,y,z,x1,x2,y1,y2,z1,z2 for object,
  i,j,k,l,n,m for Nat,
  D for non empty set,
  K for Ring;

theorem
  for K being Ring
  for A being Matrix of n,K holds A*1.(K,n)=A
proof
  let K be Ring;
  let A be Matrix of n,K;
  set B=1.(K,n);
A1: len B=n by MATRIX_0:24;
A2: width A=n & width B=n by MATRIX_0:24;
  then
A3: len (A*B)=len (A) & width(A*B) = width(B) by A1,Def4;
A4: now
    let i,j;
    assume
A5: [i,j] in Indices (A*B);
    dom (A*B) = Seg len (A*B) & Indices (A*B)=[:dom (A*B),Seg width(A*B):]
      by FINSEQ_1:def 3;
A6: j in Seg len B & j in Seg width B by A1,A2,A3,A5,ZFMISC_1:87;
    then j in Seg len(Col(B,j)) by MATRIX_0:def 8;
    then
A7: j in dom (Col(B,j)) by FINSEQ_1:def 3;
    dom B = Seg len B by FINSEQ_1:def 3;
    then j in dom B by A6;
    then [j,j] in [:dom B,Seg width B:] by A6,ZFMISC_1:87;
    then [j,j] in Indices B;
    then
A8: (Col(B,j)).j=1.K by Th16;
A9: for k st k in dom (Col(B,j)) & k <> j holds (Col(B,j)).k = 0.K
     proof
      let k;
      assume that
A10:  k in dom (Col (B,j)) and
A11:  k<>j;
      k in Seg len (Col (B,j)) by A10,FINSEQ_1:def 3; then
      k in dom B by MATRIX_0:def 8, FINSEQ_1:def 3;
      then [k,j] in [:dom B,Seg width B:] by A6,ZFMISC_1:87;
      then [k,j] in Indices B;
      hence (Col(B,j)).k=0.K by A11,Th16;
    end;
    j in Seg(len (Line(A,i))) by A2,A6,MATRIX_0:def 7;
    then
A12: j in dom (Line(A,i)) by FINSEQ_1:def 3;
    thus (A*B)*(i,j)= Line(A,i) "*" Col(B,j) by A2,A1,A5,Def4
      .=Sum(mlt(Line(A,i),Col(B,j))) by FVSUM_1:def 9
      .=Line(A,i).j by A7,A12,A9,A8,Th17
      .=A*(i,j) by A2,A6,MATRIX_0:def 7;
  end;
  width (A*B)=width A by A2,A1,Def4;
  hence thesis by A3,A4,MATRIX_0:21;
end;
