 reserve x,y,z for object,
   i,j,k,l,n,m for Nat,
   D,E for non empty set;
 reserve M for Matrix of D;
 reserve L for Matrix of E;

theorem
  M = L implies M@ = L@
  proof
    assume AS: M = L;
    for i, j being Nat st [i, j] in Indices M@ holds (M@)*(i,j) in E
    proof
      let i, j be Nat;
      assume [i,j] in Indices M@; then
      A2: [j,i] in Indices M by MATRIX_0:def 6;
      then (M@)*(i,j) =M*(j,i) by MATRIX_0:def 6
      .= L*(j,i) by AS,A2,EQ2;
      hence (M@)*(i,j) in E;
    end;
    then
    reconsider M1= (M@) as Matrix of E by REALTOINT;
    P1: len (M1) = width L by AS,MATRIX_0:def 6;
    P2: for i, j being Nat holds [i,j]
    in Indices M1 iff [j,i] in Indices L by AS,MATRIX_0:def 6;
    for i, j being Nat st [j,i] in Indices L holds (M1)*(i,j) =  L*(j,i)
    proof
      let i, j be Nat;
      assume A2: [j,i] in Indices L;
      then [i,j] in Indices M@ by AS,MATRIX_0:def 6;
      then (M1)*(i,j) =(M@)*(i,j) by EQ2
      .= M*(j,i) by AS,A2,MATRIX_0:def 6;
      hence (M1)*(i,j) = L*(j,i) by AS,A2,EQ2;
    end;
    hence thesis by P1,P2,MATRIX_0:def 6;
  end;
