reserve i,n for Nat,
  K for Field,
  M1,M2,M3,M4 for Matrix of n,K;

theorem Th53:
  Trace (M1+M2)=Trace M1+Trace M2
proof
A1: len diagonal_of_Matrix M1=n by MATRIX_3:def 10;
  then
A2: dom diagonal_of_Matrix M1 = Seg n by FINSEQ_1:def 3;
  len diagonal_of_Matrix (M1+M2)=n by MATRIX_3:def 10;
  then
A3: dom diagonal_of_Matrix (M1+M2)=Seg n by FINSEQ_1:def 3;
A4: len diagonal_of_Matrix M2=n by MATRIX_3:def 10;
  then dom diagonal_of_Matrix M2=Seg n by FINSEQ_1:def 3;
  then
A5: dom ((diagonal_of_Matrix M1)+(diagonal_of_Matrix M2)) =Seg n by A2,
POLYNOM1:1;
  for i be Nat st i in dom diagonal_of_Matrix M1 holds ((
diagonal_of_Matrix M1)+(diagonal_of_Matrix M2)).i =(diagonal_of_Matrix (M1+M2))
  .i
  proof
    let i be Nat;
    assume i in dom diagonal_of_Matrix M1;
    then
A6: i in Seg n by A1,FINSEQ_1:def 3;
    then
A7: (diagonal_of_Matrix (M1+M2)).i=(M1+M2)*(i,i) by MATRIX_3:def 10;
    Indices M1=[:Seg n, Seg n:] by MATRIX_0:24;
    then
A8: [i,i] in Indices M1 by A6,ZFMISC_1:87;
    (diagonal_of_Matrix M1).i=M1*(i,i) & (diagonal_of_Matrix M2).i=M2*(i,
    i) by A6,MATRIX_3:def 10;
    then
    ((diagonal_of_Matrix M1)+(diagonal_of_Matrix M2)).i =M1*(i,i)+M2*(i,i
    ) by A5,A6,FUNCOP_1:22
      .=(diagonal_of_Matrix (M1+M2)).i by A8,A7,MATRIX_3:def 3;
    hence thesis;
  end;
  then Trace (M1+M2)=Sum ((diagonal_of_Matrix M1)+(diagonal_of_Matrix M2)) by
A2,A3,A5,FINSEQ_1:13
    .=Sum (diagonal_of_Matrix M1)+Sum (diagonal_of_Matrix M2) by A1,A4,
MATRIX_4:61;
  hence thesis;
end;
