reserve i,j,m,n,k for Nat,
  x,y for set,
  K for Field,
  a,a1,a2 for Element of K,
  D for non empty set,
  d,d1,d2 for Element of D,
  M,M1,M2 for (Matrix of D),
  A,A1,A2,B1,B2 for (Matrix of K),
  f,g for FinSequence of NAT;
reserve F,F1,F2 for FinSequence_of_Matrix of D,
  G,G9,G1,G2 for FinSequence_of_Matrix of K;

theorem Th26:
  [i,j] in Indices block_diagonal(F1,d) implies block_diagonal(F1,
  d)*(i,j) = block_diagonal(F1^F2,d)*(i,j)
proof
  set B1=block_diagonal(F1,d);
  set L1=Len F1;
  set W1=Width F1;
  set L2=Len F2;
  set W2=Width F2;
  set F12=F1^F2;
  set L=Len F12;
  set W=Width F12;
  set B12=block_diagonal(F12,d);
A1: len F1=len W1 by CARD_1:def 7;
A2: len B1= Sum L1 by Def5;
  assume
A3: [i,j] in Indices block_diagonal(F1,d);
  then i in dom B1 by ZFMISC_1:87;
  then
A4: i in Seg len B1 by FINSEQ_1:def 3;
  then
A5: min(L1,i) in dom L1 by A2,Def1;
  then
A6: min(L1,i)<=len L1 by FINSEQ_3:25;
  L1^L2=L by Th14;
  then
A7: min(L1,i)=min(L,i) by A4,A2,Th8;
A8: dom L1=dom F1 by Def3;
A9: W1^W2=W by Th18;
A10: L1^L2=L by Th14;
A11: Indices B1 is Subset of Indices B12 by Th25;
A12: len L1=len F1 by CARD_1:def 7;
  then
A13: (W1^W2) |min(L,i)=W1|min(L1,i) by A7,A6,A1,FINSEQ_5:22;
A14: min(L1,i)-'1<=min(L1,i) by NAT_D:35;
  then
A15: (L1^L2) | (min(L,i)-'1)=L1| (min(L1,i)-'1) by A7,A6,FINSEQ_5:22,XXREAL_0:2
;
A16: (W1^W2) | (min(L,i)-'1)=W1| (min(L1,i)-'1) by A7,A6,A14,A12,A1,FINSEQ_5:22
,XXREAL_0:2;
  per cases;
  suppose
A17: j <= Sum(W1| (min(L1,i)-'1)) or j > Sum (W1|min(L1,i));
    then B1*(i,j)=d by A3,Def5;
    hence thesis by A3,A11,A13,A16,A9,A17,Def5;
  end;
  suppose
A18: j > Sum(W1| (min(L1,i)-'1)) & j<= Sum (W1|min(L1,i));
    then
A19: B1*(i,j)= F1.min(L1,i)*(i-'Sum(L1| (min(L1,i)-'1)), j-'Sum (W1| (min(L1
    ,i )-'1))) by A3,Def5;
    B12*(i,j)= F12.min(L1,i)*(i-'Sum(L1| (min(L1,i)-'1)), j-'Sum (W1| (min(
    L1,i)-'1))) by A3,A11,A7,A13,A16,A15,A9,A10,A18,Def5;
    hence thesis by A5,A8,A19,FINSEQ_1:def 7;
  end;
end;
