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 A being Matrix of n,m,K holds A + 0.(K,n,m) = A
proof
  let A be Matrix of n,m,K;
  per cases;
  suppose
A1: n > 0;
A2: width A= width (A+0.(K,n,m)) by Def3;
A3: Indices A=[:Seg n,Seg m:] by A1,MATRIX_0:23;
A4: len A= len (A+0.(K,n,m)) by Def3;
    then dom A = dom(A+0.(K,n,m)) by FINSEQ_3:29;
    then
A5: Indices A= Indices (A+0.(K,n,m)) by A2;
A6: Indices (0.(K,n,m))=[:Seg n,Seg m:] by A1,MATRIX_0:23;
    now
      let i,j;
      assume
A7:   [i,j] in Indices (A+ 0.(K,n,m));
      hence (A+ 0.(K,n,m)) *(i,j)=A*(i,j) + 0.(K,n,m)*(i,j) by A5,Def3
        .=A*(i,j) +0.K by A3,A6,A5,A7,Th1
        .=A*(i,j) by RLVECT_1:4;
    end;
    hence thesis by A4,A2,MATRIX_0:21;
  end;
  suppose
A8: n=0;
A9: width A= width (A+0.(K,n,m)) by Def3;
A10: len A= len (A+0.(K,n,m)) by Def3;
    then dom A= dom(A+0.(K,n,m)) by FINSEQ_3:29;
    then Indices A= [:dom A,Seg width A:] &
    Indices (A+0.(K,n,m))=[:dom A,Seg width A :] by A9;
    then
    for i,j st [i,j] in Indices (A+ 0.(K,n,m)) holds (A+ 0.(K,n,m))*(i,j)
    = A*(i,j) by A8,MATRIX_0:22;
    hence thesis by A10,A9,MATRIX_0:21;
  end;
end;
