let K be Field; for a1, a2 being Element of K
for R1, R2 being FinSequence_of_Square-Matrix of K st Len R1 = Len R2 & Width R1 = Width R2 holds
(block_diagonal (R1,a1)) + (block_diagonal (R2,a2)) = block_diagonal ((R1 (+) R2),(a1 + a2))
let a1, a2 be Element of K; for R1, R2 being FinSequence_of_Square-Matrix of K st Len R1 = Len R2 & Width R1 = Width R2 holds
(block_diagonal (R1,a1)) + (block_diagonal (R2,a2)) = block_diagonal ((R1 (+) R2),(a1 + a2))
let R1, R2 be FinSequence_of_Square-Matrix of K; ( Len R1 = Len R2 & Width R1 = Width R2 implies (block_diagonal (R1,a1)) + (block_diagonal (R2,a2)) = block_diagonal ((R1 (+) R2),(a1 + a2)) )
defpred S1[ Nat] means for R1, R2 being FinSequence_of_Square-Matrix of K
for a1, a2 being Element of K st Len R1 = Len R2 & Width R1 = Width R2 & len R1 = $1 holds
(block_diagonal (R1,a1)) + (block_diagonal (R2,a2)) = block_diagonal ((R1 (+) R2),(a1 + a2));
assume that
A1:
Len R1 = Len R2
and
A2:
Width R1 = Width R2
; (block_diagonal (R1,a1)) + (block_diagonal (R2,a2)) = block_diagonal ((R1 (+) R2),(a1 + a2))
A3:
for n being Nat st S1[n] holds
S1[n + 1]
proof
let n be
Nat;
( S1[n] implies S1[n + 1] )
assume A4:
S1[
n]
;
S1[n + 1]
set n1 =
n + 1;
let R1,
R2 be
FinSequence_of_Square-Matrix of
K;
for a1, a2 being Element of K st Len R1 = Len R2 & Width R1 = Width R2 & len R1 = n + 1 holds
(block_diagonal (R1,a1)) + (block_diagonal (R2,a2)) = block_diagonal ((R1 (+) R2),(a1 + a2))let a1,
a2 be
Element of
K;
( Len R1 = Len R2 & Width R1 = Width R2 & len R1 = n + 1 implies (block_diagonal (R1,a1)) + (block_diagonal (R2,a2)) = block_diagonal ((R1 (+) R2),(a1 + a2)) )
assume that A5:
Len R1 = Len R2
and A6:
Width R1 = Width R2
and A7:
len R1 = n + 1
;
(block_diagonal (R1,a1)) + (block_diagonal (R2,a2)) = block_diagonal ((R1 (+) R2),(a1 + a2))
A8:
n + 1
in Seg (n + 1)
by FINSEQ_1:4;
set R2n =
R2 | n;
A9:
R1 = (R1 | n) ^ <*(R1 . (n + 1))*>
by A7, FINSEQ_3:55;
set R1n =
R1 | n;
set b2n =
block_diagonal (
(R2 | n),
a2);
set b1n =
block_diagonal (
(R1 | n),
a1);
A10:
len (R1 | n) = n
by A7, FINSEQ_1:59, NAT_1:11;
A11:
dom (Len R1) = Seg (n + 1)
by A7, FINSEQ_2:124;
then A12:
len (R1 . (n + 1)) =
(Len R1) . (n + 1)
by A8, Def3
.=
len (R2 . (n + 1))
by A5, A8, A11, Def3
;
A13:
len R1 =
len (Len R2)
by A5, CARD_1:def 7
.=
len R2
by CARD_1:def 7
;
then A14:
len (R2 | n) = n
by A7, FINSEQ_1:59, NAT_1:11;
A15:
dom (Width R1) = Seg (n + 1)
by A7, FINSEQ_2:124;
then A16:
width (R1 . (n + 1)) =
(Width R1) . (n + 1)
by A8, Def4
.=
width (R2 . (n + 1))
by A6, A8, A15, Def4
;
A17:
Len (R1 | n) =
(Len R1) | n
by Th17
.=
Len (R2 | n)
by A5, Th17
;
then A18:
len (block_diagonal ((R1 | n),a1)) =
Sum (Len (R2 | n))
by Def5
.=
len (block_diagonal ((R2 | n),a2))
by Def5
;
A19:
Width (R1 | n) =
(Width R1) | n
by Th21
.=
Width (R2 | n)
by A6, Th21
;
then A20:
width (block_diagonal ((R1 | n),a1)) =
Sum (Width (R2 | n))
by Def5
.=
width (block_diagonal ((R2 | n),a2))
by Def5
;
A21:
R2 = (R2 | n) ^ <*(R2 . (n + 1))*>
by A7, A13, FINSEQ_3:55;
hence (block_diagonal (R1,a1)) + (block_diagonal (R2,a2)) =
(block_diagonal (<*(block_diagonal ((R1 | n),a1)),(R1 . (n + 1))*>,a1)) + (block_diagonal (((R2 | n) ^ <*(R2 . (n + 1))*>),a2))
by A9, Th35
.=
(block_diagonal (<*(block_diagonal ((R1 | n),a1)),(R1 . (n + 1))*>,a1)) + (block_diagonal (<*(block_diagonal ((R2 | n),a2)),(R2 . (n + 1))*>,a2))
by Th35
.=
block_diagonal (
(<*(block_diagonal ((R1 | n),a1)),(R1 . (n + 1))*> (+) <*(block_diagonal ((R2 | n),a2)),(R2 . (n + 1))*>),
(a1 + a2))
by A18, A20, A12, A16, Th71
.=
block_diagonal (
<*((block_diagonal ((R1 | n),a1)) + (block_diagonal ((R2 | n),a2))),((R1 . (n + 1)) + (R2 . (n + 1)))*>,
(a1 + a2))
by Th70
.=
block_diagonal (
<*(block_diagonal (((R1 | n) (+) (R2 | n)),(a1 + a2))),((R1 . (n + 1)) + (R2 . (n + 1)))*>,
(a1 + a2))
by A4, A10, A17, A19
.=
block_diagonal (
(((R1 | n) (+) (R2 | n)) ^ <*((R1 . (n + 1)) + (R2 . (n + 1)))*>),
(a1 + a2))
by Th35
.=
block_diagonal (
(((R1 | n) (+) (R2 | n)) ^ (<*(R1 . (n + 1))*> (+) <*(R2 . (n + 1))*>)),
(a1 + a2))
by Th69
.=
block_diagonal (
(R1 (+) R2),
(a1 + a2))
by A10, A14, A9, A21, Th67
;
verum
end;
A22:
S1[ 0 ]
proof
let R1,
R2 be
FinSequence_of_Square-Matrix of
K;
for a1, a2 being Element of K st Len R1 = Len R2 & Width R1 = Width R2 & len R1 = 0 holds
(block_diagonal (R1,a1)) + (block_diagonal (R2,a2)) = block_diagonal ((R1 (+) R2),(a1 + a2))let a1,
a2 be
Element of
K;
( Len R1 = Len R2 & Width R1 = Width R2 & len R1 = 0 implies (block_diagonal (R1,a1)) + (block_diagonal (R2,a2)) = block_diagonal ((R1 (+) R2),(a1 + a2)) )
assume that
Len R1 = Len R2
and
Width R1 = Width R2
and A23:
len R1 = 0
;
(block_diagonal (R1,a1)) + (block_diagonal (R2,a2)) = block_diagonal ((R1 (+) R2),(a1 + a2))
set b12 =
block_diagonal (
(R1 (+) R2),
(a1 + a2));
set b2 =
block_diagonal (
R2,
a2);
set b1 =
block_diagonal (
R1,
a1);
A24:
Len R1 = {}
by A23;
Len R1 = Len (R1 (+) R2)
by Th66;
then
len (block_diagonal ((R1 (+) R2),(a1 + a2))) = 0
by A24, Def5, RVSUM_1:72;
then A25:
block_diagonal (
(R1 (+) R2),
(a1 + a2))
= {}
;
len (block_diagonal (R1,a1)) = 0
by A24, Def5, RVSUM_1:72;
then
len ((block_diagonal (R1,a1)) + (block_diagonal (R2,a2))) = 0
by MATRIX_3:def 3;
hence
(block_diagonal (R1,a1)) + (block_diagonal (R2,a2)) = block_diagonal (
(R1 (+) R2),
(a1 + a2))
by A25;
verum
end;
for n being Nat holds S1[n]
from NAT_1:sch 2(A22, A3);
hence
(block_diagonal (R1,a1)) + (block_diagonal (R2,a2)) = block_diagonal ((R1 (+) R2),(a1 + a2))
by A1, A2; verum