let D be non empty set ; :: thesis: for d being Element of D
for F being FinSequence_of_Matrix of D
for i, j, k being Nat st i in dom F & [j,k] in Indices (F . i) holds
( [(j + (Sum ((Len F) | (i -' 1)))),(k + (Sum ((Width F) | (i -' 1))))] in Indices (block_diagonal F,d) & (F . i) * j,k = (block_diagonal F,d) * (j + (Sum ((Len F) | (i -' 1)))),(k + (Sum ((Width F) | (i -' 1)))) )

let d be Element of D; :: thesis: for F being FinSequence_of_Matrix of D
for i, j, k being Nat st i in dom F & [j,k] in Indices (F . i) holds
( [(j + (Sum ((Len F) | (i -' 1)))),(k + (Sum ((Width F) | (i -' 1))))] in Indices (block_diagonal F,d) & (F . i) * j,k = (block_diagonal F,d) * (j + (Sum ((Len F) | (i -' 1)))),(k + (Sum ((Width F) | (i -' 1)))) )

let F be FinSequence_of_Matrix of D; :: thesis: for i, j, k being Nat st i in dom F & [j,k] in Indices (F . i) holds
( [(j + (Sum ((Len F) | (i -' 1)))),(k + (Sum ((Width F) | (i -' 1))))] in Indices (block_diagonal F,d) & (F . i) * j,k = (block_diagonal F,d) * (j + (Sum ((Len F) | (i -' 1)))),(k + (Sum ((Width F) | (i -' 1)))) )

let i, j, k be Nat; :: thesis: ( i in dom F & [j,k] in Indices (F . i) implies ( [(j + (Sum ((Len F) | (i -' 1)))),(k + (Sum ((Width F) | (i -' 1))))] in Indices (block_diagonal F,d) & (F . i) * j,k = (block_diagonal F,d) * (j + (Sum ((Len F) | (i -' 1)))),(k + (Sum ((Width F) | (i -' 1)))) ) )
assume that
A1: i in dom F and
A2: [j,k] in Indices (F . i) ; :: thesis: ( [(j + (Sum ((Len F) | (i -' 1)))),(k + (Sum ((Width F) | (i -' 1))))] in Indices (block_diagonal F,d) & (F . i) * j,k = (block_diagonal F,d) * (j + (Sum ((Len F) | (i -' 1)))),(k + (Sum ((Width F) | (i -' 1)))) )
A3: i <= len F by A1, FINSEQ_3:27;
set Fi = F . i;
set L = Len F;
set W = Width F;
set B = block_diagonal F,d;
A4: ( len (block_diagonal F,d) = Sum (Len F) & width (block_diagonal F,d) = Sum (Width F) ) by Def5;
A5: ( len F = len (Len F) & len F = len (Width F) ) by FINSEQ_1:def 18;
A6: ( dom F = dom (Len F) & dom F = dom (Width F) ) by Def3, Def4;
set jS = j + (Sum ((Len F) | (i -' 1)));
set kS = k + (Sum ((Width F) | (i -' 1)));
A7: ( j in dom (F . i) & k in Seg (width (F . i)) ) by A2, ZFMISC_1:106;
then ( j in Seg (len (F . i)) & (Len F) . i = (Len F) /. i & (Len F) . i = len (F . i) & (Width F) . i = (Width F) /. i & (Width F) . i = width (F . i) ) by A1, A6, Def3, Def4, FINSEQ_1:def 3, PARTFUN1:def 8;
then A8: ( j + (Sum ((Len F) | (i -' 1))) in Seg (Sum ((Len F) | i)) & min (Len F),(j + (Sum ((Len F) | (i -' 1)))) = i & k + (Sum ((Width F) | (i -' 1))) in Seg (Sum ((Width F) | i)) ) by A6, A1, A7, Th10;
i in NAT by ORDINAL1:def 13;
then ( Sum ((Len F) | i) <= Sum ((Len F) | (len F)) & Sum ((Width F) | i) <= Sum ((Width F) | (len F)) & (Len F) | (len F) = Len F & (Width F) | (len F) = Width F ) by A5, A3, FINSEQ_1:79, POLYNOM3:18;
then ( Seg (Sum ((Len F) | i)) c= Seg (Sum (Len F)) & Seg (Sum ((Width F) | i)) c= Seg (Sum (Width F)) ) by FINSEQ_1:7;
then [(j + (Sum ((Len F) | (i -' 1)))),(k + (Sum ((Width F) | (i -' 1))))] in [:(Seg (len (block_diagonal F,d))),(Seg (width (block_diagonal F,d))):] by A8, A4, ZFMISC_1:106;
hence A9: [(j + (Sum ((Len F) | (i -' 1)))),(k + (Sum ((Width F) | (i -' 1))))] in Indices (block_diagonal F,d) by FINSEQ_1:def 3; :: thesis: (F . i) * j,k = (block_diagonal F,d) * (j + (Sum ((Len F) | (i -' 1)))),(k + (Sum ((Width F) | (i -' 1))))
0 < k by A7, FINSEQ_1:3;
then A10: ( (Sum ((Width F) | (i -' 1))) + 0 < k + (Sum ((Width F) | (i -' 1))) & (Sum ((Len F) | (i -' 1))) + 0 <= j + (Sum ((Len F) | (i -' 1))) & k + (Sum ((Width F) | (i -' 1))) <= Sum ((Width F) | i) ) by A8, FINSEQ_1:3, XREAL_1:8;
then ( (j + (Sum ((Len F) | (i -' 1)))) -' (Sum ((Len F) | (i -' 1))) = (j + (Sum ((Len F) | (i -' 1)))) - (Sum ((Len F) | (i -' 1))) & (k + (Sum ((Width F) | (i -' 1)))) -' (Sum ((Width F) | (i -' 1))) = (k + (Sum ((Width F) | (i -' 1)))) - (Sum ((Width F) | (i -' 1))) ) by XREAL_1:235;
hence (F . i) * j,k = (block_diagonal F,d) * (j + (Sum ((Len F) | (i -' 1)))),(k + (Sum ((Width F) | (i -' 1)))) by A8, A9, A10, Def5; :: thesis: verum