let D be non empty set ; for d being Element of D
for M being Matrix of D holds block_diagonal <*M*>,d = M
let d be Element of D; for M being Matrix of D holds block_diagonal <*M*>,d = M
let M be Matrix of D; block_diagonal <*M*>,d = M
reconsider E = <*> ((D * ) * ) as Matrix-yielding FinSequence of (D * ) * by Th12;
set ME = <*M*> ^ E;
set B = block_diagonal <*M*>,d;
A1: len (block_diagonal <*M*>,d) =
Sum (Len <*M*>)
by Def5
.=
len M
by Lm4
;
A2: width (block_diagonal <*M*>,d) =
Sum (Width <*M*>)
by Def5
.=
width M
by Lm5
;
<*M*> ^ E = <*M*>
by FINSEQ_1:47;
hence M =
Segm (block_diagonal <*M*>,d),(Seg (len M)),(Seg (width M))
by Th32
.=
block_diagonal <*M*>,d
by A1, A2, MATRIX13:46
;
verum