Step |
Hyp |
Ref |
Expression |
1 |
|
mul02 |
|- ( B e. CC -> ( 0 x. B ) = 0 ) |
2 |
1
|
adantl |
|- ( ( A e. Fin /\ B e. CC ) -> ( 0 x. B ) = 0 ) |
3 |
2
|
eqcomd |
|- ( ( A e. Fin /\ B e. CC ) -> 0 = ( 0 x. B ) ) |
4 |
|
sumeq1 |
|- ( A = (/) -> sum_ k e. A B = sum_ k e. (/) B ) |
5 |
|
sum0 |
|- sum_ k e. (/) B = 0 |
6 |
4 5
|
eqtrdi |
|- ( A = (/) -> sum_ k e. A B = 0 ) |
7 |
|
fveq2 |
|- ( A = (/) -> ( # ` A ) = ( # ` (/) ) ) |
8 |
|
hash0 |
|- ( # ` (/) ) = 0 |
9 |
7 8
|
eqtrdi |
|- ( A = (/) -> ( # ` A ) = 0 ) |
10 |
9
|
oveq1d |
|- ( A = (/) -> ( ( # ` A ) x. B ) = ( 0 x. B ) ) |
11 |
6 10
|
eqeq12d |
|- ( A = (/) -> ( sum_ k e. A B = ( ( # ` A ) x. B ) <-> 0 = ( 0 x. B ) ) ) |
12 |
3 11
|
syl5ibrcom |
|- ( ( A e. Fin /\ B e. CC ) -> ( A = (/) -> sum_ k e. A B = ( ( # ` A ) x. B ) ) ) |
13 |
|
eqidd |
|- ( k = ( f ` n ) -> B = B ) |
14 |
|
simprl |
|- ( ( ( A e. Fin /\ B e. CC ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( # ` A ) e. NN ) |
15 |
|
simprr |
|- ( ( ( A e. Fin /\ B e. CC ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) |
16 |
|
simpllr |
|- ( ( ( ( A e. Fin /\ B e. CC ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ k e. A ) -> B e. CC ) |
17 |
|
simplr |
|- ( ( ( A e. Fin /\ B e. CC ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> B e. CC ) |
18 |
|
elfznn |
|- ( n e. ( 1 ... ( # ` A ) ) -> n e. NN ) |
19 |
|
fvconst2g |
|- ( ( B e. CC /\ n e. NN ) -> ( ( NN X. { B } ) ` n ) = B ) |
20 |
17 18 19
|
syl2an |
|- ( ( ( ( A e. Fin /\ B e. CC ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) /\ n e. ( 1 ... ( # ` A ) ) ) -> ( ( NN X. { B } ) ` n ) = B ) |
21 |
13 14 15 16 20
|
fsum |
|- ( ( ( A e. Fin /\ B e. CC ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> sum_ k e. A B = ( seq 1 ( + , ( NN X. { B } ) ) ` ( # ` A ) ) ) |
22 |
|
ser1const |
|- ( ( B e. CC /\ ( # ` A ) e. NN ) -> ( seq 1 ( + , ( NN X. { B } ) ) ` ( # ` A ) ) = ( ( # ` A ) x. B ) ) |
23 |
22
|
ad2ant2lr |
|- ( ( ( A e. Fin /\ B e. CC ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> ( seq 1 ( + , ( NN X. { B } ) ) ` ( # ` A ) ) = ( ( # ` A ) x. B ) ) |
24 |
21 23
|
eqtrd |
|- ( ( ( A e. Fin /\ B e. CC ) /\ ( ( # ` A ) e. NN /\ f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) -> sum_ k e. A B = ( ( # ` A ) x. B ) ) |
25 |
24
|
expr |
|- ( ( ( A e. Fin /\ B e. CC ) /\ ( # ` A ) e. NN ) -> ( f : ( 1 ... ( # ` A ) ) -1-1-onto-> A -> sum_ k e. A B = ( ( # ` A ) x. B ) ) ) |
26 |
25
|
exlimdv |
|- ( ( ( A e. Fin /\ B e. CC ) /\ ( # ` A ) e. NN ) -> ( E. f f : ( 1 ... ( # ` A ) ) -1-1-onto-> A -> sum_ k e. A B = ( ( # ` A ) x. B ) ) ) |
27 |
26
|
expimpd |
|- ( ( A e. Fin /\ B e. CC ) -> ( ( ( # ` A ) e. NN /\ E. f f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) -> sum_ k e. A B = ( ( # ` A ) x. B ) ) ) |
28 |
|
fz1f1o |
|- ( A e. Fin -> ( A = (/) \/ ( ( # ` A ) e. NN /\ E. f f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) ) |
29 |
28
|
adantr |
|- ( ( A e. Fin /\ B e. CC ) -> ( A = (/) \/ ( ( # ` A ) e. NN /\ E. f f : ( 1 ... ( # ` A ) ) -1-1-onto-> A ) ) ) |
30 |
12 27 29
|
mpjaod |
|- ( ( A e. Fin /\ B e. CC ) -> sum_ k e. A B = ( ( # ` A ) x. B ) ) |