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 1.(K,n)*A=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: len A=n by MATRIX_0:24;
A3: width B=n by MATRIX_0:24;
  then
A4: len (B*A)=len (B) by A2,Def4;
A5: now
A6: dom A = Seg len A by FINSEQ_1:def 3;
    let i,j;
    assume
A7: [i,j] in Indices (B*A);
A8: dom (B*A) = Seg len (B*A) & Indices (B*A)=[:dom (B*A),Seg width(B*A)
    :] by FINSEQ_1:def 3;
    then
A9: i in Seg width B by A1,A3,A4,A7,ZFMISC_1:87;
    then i in Seg len(Line(B,i)) by MATRIX_0:def 7;
    then
A10: i in dom (Line(B,i)) by FINSEQ_1:def 3;
A11: dom B = Seg len B by FINSEQ_1:def 3;
    then
A12: i in dom B by A4,A7,A8,ZFMISC_1:87;
    then [i,i] in [:dom B,Seg width B:] by A9,ZFMISC_1:87;
    then [i,i] in Indices B;
    then
A13: (Line(B,i)).i=1.K by Th15;
A14: now
      let k;
      assume that
A15:  k in dom (Line (B,i)) and
A16:  k<>i;
      k in Seg len (Line (B,i)) by A15,FINSEQ_1:def 3;
      then k in Seg width B by MATRIX_0:def 7;
      then [i,k] in [:dom B,Seg width B:] by A12,ZFMISC_1:87;
      then [i,k] in Indices B;
      hence (Line(B,i)).k=0.K by A16,Th15;
    end;
    i in Seg len (Col(A,j)) by A3,A2,A9,MATRIX_0:def 8;
    then
A17: i in dom (Col(A,j)) by FINSEQ_1:def 3;
    thus (B*A)*(i,j)= Line(B,i) "*" Col(A,j) by A3,A2,A7,Def4
      .=Sum(mlt(Line(B,i),Col(A,j))) by FVSUM_1:def 9
      .=Col(A,j).i by A10,A17,A14,A13,Th17
      .=A*(i,j) by A1,A2,A6,A11,A12,MATRIX_0:def 8;
  end;
  width (B*A)=width A by A3,A2,Def4;
  hence thesis by A1,A2,A4,A5,MATRIX_0:21;
end;
