let i, m be Nat; for D being non empty set
for d being Element of D
for F being FinSequence_of_Matrix of D st i in Seg (Sum (Width F)) & m = min (Width F),i holds
Col (block_diagonal F,d),i = (((Sum (Len (F | (m -' 1)))) |-> d) ^ (Col (F . m),(i -' (Sum (Width (F | (m -' 1))))))) ^ (((Sum (Len F)) -' (Sum (Len (F | m)))) |-> d)
let D be non empty set ; for d being Element of D
for F being FinSequence_of_Matrix of D st i in Seg (Sum (Width F)) & m = min (Width F),i holds
Col (block_diagonal F,d),i = (((Sum (Len (F | (m -' 1)))) |-> d) ^ (Col (F . m),(i -' (Sum (Width (F | (m -' 1))))))) ^ (((Sum (Len F)) -' (Sum (Len (F | m)))) |-> d)
let d be Element of D; for F being FinSequence_of_Matrix of D st i in Seg (Sum (Width F)) & m = min (Width F),i holds
Col (block_diagonal F,d),i = (((Sum (Len (F | (m -' 1)))) |-> d) ^ (Col (F . m),(i -' (Sum (Width (F | (m -' 1))))))) ^ (((Sum (Len F)) -' (Sum (Len (F | m)))) |-> d)
let F be FinSequence_of_Matrix of D; ( i in Seg (Sum (Width F)) & m = min (Width F),i implies Col (block_diagonal F,d),i = (((Sum (Len (F | (m -' 1)))) |-> d) ^ (Col (F . m),(i -' (Sum (Width (F | (m -' 1))))))) ^ (((Sum (Len F)) -' (Sum (Len (F | m)))) |-> d) )
assume that
A1:
i in Seg (Sum (Width F))
and
A2:
m = min (Width F),i
; Col (block_diagonal F,d),i = (((Sum (Len (F | (m -' 1)))) |-> d) ^ (Col (F . m),(i -' (Sum (Width (F | (m -' 1))))))) ^ (((Sum (Len F)) -' (Sum (Len (F | m)))) |-> d)
set W = Width F;
A3:
((Width F) | m) . m = (Width F) . m
by FINSEQ_3:121;
set BF9m = block_diagonal (F /^ m),d;
set BFm = block_diagonal (F | m),d;
set L = Len F;
A4: width (block_diagonal (F | m),d) =
Sum (Width (F | m))
by Def5
.=
Sum ((Width F) | m)
by Th21
;
F = (F | m) ^ (F /^ m)
by RFINSEQ:21;
then A5: block_diagonal F,d =
block_diagonal ((F | m) ^ <*(block_diagonal (F /^ m),d)*>),d
by Th36
.=
block_diagonal <*(block_diagonal (F | m),d),(block_diagonal (F /^ m),d)*>,d
by Th35
;
then Sum (Len F) =
len (block_diagonal <*(block_diagonal (F | m),d),(block_diagonal (F /^ m),d)*>,d)
by Def5
.=
Sum (Len <*(block_diagonal (F | m),d),(block_diagonal (F /^ m),d)*>)
by Def5
.=
(len (block_diagonal (F | m),d)) + (len (block_diagonal (F /^ m),d))
by Th16
.=
(Sum (Len (F | m))) + (len (block_diagonal (F /^ m),d))
by Def5
;
then A6: (Sum (Len F)) -' (Sum (Len (F | m))) =
((Sum (Len (F | m))) + (len (block_diagonal (F /^ m),d))) - (Sum (Len (F | m)))
by NAT_1:11, XREAL_1:235
.=
len (block_diagonal (F /^ m),d)
;
Sum ((Width F) | (m -' 1)) < i
by A1, A2, Th7;
then A7:
i - (Sum ((Width F) | (m -' 1))) = i -' (Sum ((Width F) | (m -' 1)))
by XREAL_1:235;
A8:
m in dom (Width F)
by A1, A2, Def1;
then
1 <= m
by FINSEQ_3:27;
then
m -' 1 = m - 1
by XREAL_1:235;
then A9:
m = (m -' 1) + 1
;
then
m -' 1 <= m
by NAT_1:11;
then A10:
Seg (m -' 1) c= Seg m
by FINSEQ_1:7;
then A11:
(F | m) | (m -' 1) = F | (m -' 1)
by RELAT_1:103;
m <= len (Width F)
by A8, FINSEQ_3:27;
then
len ((Width F) | m) = m
by FINSEQ_1:80;
then A12:
(Width F) | m = (((Width F) | m) | (m -' 1)) ^ <*(((Width F) | m) . m)*>
by A9, FINSEQ_3:61;
((Width F) | m) | (m -' 1) = (Width F) | (m -' 1)
by A10, RELAT_1:103;
then Sum ((Width F) | m) =
(Sum ((Width F) | (m -' 1))) + ((Width F) . m)
by A12, A3, RVSUM_1:104
.=
(Sum ((Width F) | (m -' 1))) + (width (F . m))
by A8, Def4
;
then
(width (F . m)) + (Sum ((Width F) | (m -' 1))) >= (i -' (Sum ((Width F) | (m -' 1)))) + (Sum ((Width F) | (m -' 1)))
by A1, A2, A7, Def1;
then A13:
width (F . m) >= i -' (Sum ((Width F) | (m -' 1)))
by XREAL_1:8;
i - (Sum ((Width F) | (m -' 1))) <> 0
by A1, A2, Th7;
then
i -' (Sum ((Width F) | (m -' 1))) >= 1
by A7, NAT_1:14;
then A14:
i -' (Sum ((Width F) | (m -' 1))) in Seg (width (F . m))
by A13;
set BFm1 = block_diagonal (F | (m -' 1)),d;
A15:
(F | m) . m = F . m
by FINSEQ_3:121;
A16: width (block_diagonal (F | (m -' 1)),d) =
Sum (Width (F | (m -' 1)))
by Def5
.=
Sum ((Width F) | (m -' 1))
by Th21
;
A17:
1 <= i
by A1, FINSEQ_1:3;
i <= Sum ((Width F) | m)
by A1, A2, Def1;
then
i in Seg (width (block_diagonal (F | m),d))
by A17, A4, FINSEQ_1:3;
then A18:
Col (block_diagonal F,d),i = (Col (block_diagonal (F | m),d),i) ^ ((len (block_diagonal (F /^ m),d)) |-> d)
by A5, Th24;
dom (Width F) = dom F
by Def4;
then
m <= len F
by A8, FINSEQ_3:27;
then
len (F | m) = m
by FINSEQ_1:80;
then
F | m = ((F | m) | (m -' 1)) ^ <*((F | m) . m)*>
by A9, FINSEQ_3:61;
then A19:
block_diagonal (F | m),d = block_diagonal <*(block_diagonal (F | (m -' 1)),d),(F . m)*>,d
by A15, A11, Th35;
len (block_diagonal (F | (m -' 1)),d) =
Sum (Len (F | (m -' 1)))
by Def5
.=
Sum ((Len F) | (m -' 1))
by Th17
;
then ((Sum ((Len F) | (m -' 1))) |-> d) ^ (Col (F . m),(i -' (Sum ((Width F) | (m -' 1))))) =
Col (block_diagonal (F | m),d),((Sum ((Width F) | (m -' 1))) + (i -' (Sum ((Width F) | (m -' 1)))))
by A14, A16, A19, Th24
.=
Col (block_diagonal (F | m),d),i
by A7
;
then
Col (block_diagonal (F | m),d),i = ((Sum (Len (F | (m -' 1)))) |-> d) ^ (Col (F . m),(i -' (Sum ((Width F) | (m -' 1)))))
by Th17;
hence
Col (block_diagonal F,d),i = (((Sum (Len (F | (m -' 1)))) |-> d) ^ (Col (F . m),(i -' (Sum (Width (F | (m -' 1))))))) ^ (((Sum (Len F)) -' (Sum (Len (F | m)))) |-> d)
by A6, A18, Th21; verum